Stream Output not supported

As of now, Stream Output is not supported. This may have a variety of consequences, such as incorrect rendering or crashes, in case a game relies on this feature.
Please do not open new bug reports for a specific game if you see any of the following messages in your log files. Instead, use this thread to report games which need this feature.
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateGeometryShaderWithStreamOutput: Not implemented

Games that are known to require Stream Output:

Battlerite
Call of Duty: Ghosts
F1 2015
Giana Sisters: Twisted Dreams
Mafia III
Metro Redux
Nvidia Hairworks
Overwatch
Quake Champions
Space Engineers
The Witcher 3
Unity Engine

Life is Strange: Before the Storm, maybe https://bugs.winehq.org/show_bug.cgi?id=43314

Overwatch seems to require this.
From the d3d11.log:
info:  D3D11CreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
info:  D3D11CreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
warn:  DxbcOptions: Growing coordinate vector for Dref operations
warn:  DxbcOptions: Using FMin/FMax/FClamp instead of NMin/NMax/NClamp
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
info:  D3D11CreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0

@doitsujin: Can you please comment here, with some details about why it's hard to implement stream output with current Vulkan options? That feedback can be directed to the Vulkan working group and would be valuable. Thanks!

It should be noted that most Unity5 games are using stream output for gpu skinning (as noted here), some can be worked around on wined3d by using d3d9 or opengl mode, but many just support d3d11.

F1 2015 needs it as well
F1_2015_d3d11.log
F1_2015_dxgi.log

Overwatch does not require stream output it runs fine without. it  is not rendering some gun effects but other than that its fine.

+1 To prioritize this issue.

@Zeioth: This requires some help from the Vulkan working group to implement transform feedback like feature. Do you have any example of how it's used in D3D11 games in practice? If yes, please comment here to help the working group to come to come practical conclusion.

I did an apitrace for BattleTech (Steam version). The Unity game is mostly missing objects and textures. Besides a lot of warnings BattleTech_d3d11.log contained the following errors:
err:   D3D11: Unsupported format:<PHONE_NUMBER>
err:   D3D11: Unsupported format:<PHONE_NUMBER>
err:   D3D11: Unsupported format:<PHONE_NUMBER>
err:   D3D11: Unsupported format:<PHONE_NUMBER>
err:   D3D11: Unsupported format:<PHONE_NUMBER>
err:   D3D11: Unsupported format:<PHONE_NUMBER>
err:   D3D11: Unsupported format:<PHONE_NUMBER>
err:   D3D11: Unsupported format:<PHONE_NUMBER>
err:   D3D11: Unsupported format:<PHONE_NUMBER>
err:   D3D11: Unsupported format:<PHONE_NUMBER>
err:   D3D11: Unsupported format:<PHONE_NUMBER>
err:   D3D11: Unsupported format:<PHONE_NUMBER>
err:   D3D11: Unsupported format:<PHONE_NUMBER>
err:   D3D11: Unsupported format:<PHONE_NUMBER>
err:   D3D11: Unsupported format:<PHONE_NUMBER>
err:   D3D11: Unsupported format:<PHONE_NUMBER>
err:   D3D11: Unsupported format:<PHONE_NUMBER>
err:   D3D11: Unsupported format:<PHONE_NUMBER>
err:   D3D11Device: CheckFeatureSupport: Unknown feature: 10
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateGeometryShaderWithStreamOutput: Not implemented

I wonder if the STREAM_OUTPUT might have something to do with menus not being displayed correctly when launching Unigine Superposition (The launcher itself)?
 It must be said that the Superposition launcher works even worse with wined3d tho.

@SveSop the launcher doesn't render correctly because it requires some sort of GDI <> DXGI interop, which I do not and will not support. Not sure what Superposition wants Stream Output form

Uno also requires this feature. Doesn't work when faking Stream Output either.
UNO_d3d11.log
UNO_dxgi.log

More details, regarding Quake Champions..:
The crashes happen 100% of the time on these 3 specific occations:

After loading the map "Lockbox"
After loading the map "Vale of pnath"
When the character/champion named "Sorlag" uses his ability: Acid spit.

At the exact same time, a tail -f on the d3d11 log on the other monitor spew out the StreamOutput not implemented errors.
These crashes are the only ones I experience in Quake Champions.

@metalight Could you test if using cutting wheel for example on some surface like a wall is triggering a crush?

In addition to Quake Champions. For me, it hangs the system right at the menu, when character is spawning. I can hear Ranger sounds, but on the screen the last thing I see is blue lightning and fog. R9 290, Mesa 18.1.3, LLVM 6.0, DRM 3.25.0. Might try this with mesa-git later.

@spddqd you should also try LLVM-svn, since LLVM 6 is notoriously broken.

@doitsujin yes, it worked indeed. I was able to get past the main menu and load into the training map, but then I was greeted with a crash. Oh well, at least it didn't lock up my system altogether.

@ptrb78 Update: The pummel/gauntlet does indeed cause the same (stream output) crash unless "Effects" is on "Low", as with everything else leaving a mark on walls/floor.. And even with Effects on Low, "Acid spit" always leaves a mark = cause a crash.

@metalight

The crashes happen 100% of the time on these 3 specific occations:
After loading the map "Lockbox"
After loading the map "Vale of pnath"
When the character/champion named "Sorlag" uses his ability: Acid spit.

The same on my system.

I get this with Space Engineers as well
info:  D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
warn:  D3D11Device: No matching border color found for (-3.40282e+38,-3.40282e+38,-3.40282e+38,-3.40282e+38)
err:   D3D11Device::CreateGeometryShaderWithStreamOutput: Not implemented

Gauntlet Slayer Edition also fails with this streamoutput problems.
 Sure the game would look bad in places but it wouldn't crash?

Hello @doitsujin,
Thanks for the great work.
I was wondering, since stream output is supported since Wine 3.0, if there was any way to redirect the calls to Wine d3d11 library ?
From what I've seen on KhronosGroup repos, vulkan support of stream output isn't planned for tomorrow.
I would have been glad to help more, but I gave a look to the dxvk source code and it's far beyond my skills.

WWE 2K15 (x64)
warn:  DXGI: MakeWindowAssociation: Ignoring flags
err:   D3D11Device::CreateGeometryShaderWithStreamOutput: Not implemented
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported

@farribeiro: linked above.

I think with named origin repo and issue number is greater than a single link

Hi @doitsujin
Thanks for the great work on DXVK, you made it possible for me to play The Witcher 3 on Linux.
I am wondering if you could give a nudge to the Khronos / Vulkan Stream Output issue. They seem to be waiting for input from DXVK and similar translator projects.
Maybe it start moving ahead after some input and this roadblock gets cleared.

@asoltesz : If you know any actual game developers who can describe how they used stream output in games, that would be great too. Feel free to direct them to that issue for feedback.

@doitsujin
I want to add something regarding quake champions. It crashes for me when shooting this gun. It crashed every time but I could shoot a few more time after I enabled debug log, which dropped the fps to 10.
QuakeChampions_d3d11.log
QuakeChampions_dxgi.log
System:
Ubuntu 18.04.1
nvidia-396.51, gtx 1080ti
dxvk v0.65
Hope it helps.

@mtrp12 You can fix that crash using low settings. And please, as I commented before, use this thread for Quake Champions related issues

@doitsujin Grow Up requires this as well if you want to add it to your list.

It's a Unity Engine game, so it's pretty much on the list already.

Ahh, gotcha.  Thanks

I have crazy idea how to try make SO implementation efficient with current extensions: Utilize both, Vulkan and OpenGL. Use extensions like https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_external_objects.txt to share data between Vulkan<>OpenGL, use transform feedback on OpenGL side, get result from Vulkan side. Can this work?

@doitsujin mentioned before, that mixing OpenGL with Vulkan for this is a bad idea. Better wait until Khronos will finish drafting transform feedback spec for Vulkan and drivers will implement it.

It looks like this might be addressed soon!  From the Vulkan-Ecosystem github:

Some members of the Vulkan working group are developing a multi-vendor EXT extension for transform feedback with the primary goal of satisfying the needs of the DXVK, vkd3d and ANGLE translation layers. The Vulkan working group does not plan to promote this functionality as a KHR extension or as core functionality because it believes there are better, more forward-looking ways of processing and capturing vertex data with the GPU. The multi-vendor EXT extension should be available soon and is likely to be implemented on those platforms where DXVK, vkd3d and ANGLE translation is required.

Only that message or stuff about CreateGeometryShaderWithStreamOutput as well? Because if the latter is missing, the game doesn't need it.

@Naliwe What do you mean by "this is the result"?
Is that line just something logged in the logs, and everything works as expected, or are you unable to log in to WoW?

I have just tried WoW and was able to log in and play without issues BUT..... I do not have a paid subscription so I can not get into the later parts of the game.
I suspect that the later expansions are a lot more graphically enhanced and that @Naliwe will probably be playing the Battle For Azeroth expansion.

@svesop out of interest do you play on Ultra graphics settings?

Nope. "7" on the setting (Guess the recommended).

Yeah this one too.
Removing dxvk and going back to pba makes the game run correctly. Performances aren't comparable though ~

And no the game doesn't launch at all. I'm playing on "7" setting, everything worked perfectly until the latest patch

@nailwe does that mean you cant even get to the character selection screen?
This could be really difficult to narrow down as there are a number of things that can cause this problem.
I play quake champions and the game will crash only on certain maps or when certain characters use special attacks. As long as I avoid either of them I can play fine.
With WoW it could be as simple as your character has a special piece of armor/weapon equipped that takes advantage of stream output.

@Naliwe Since i have no problems with D3D11_BIND_STREAM_OUTPUT, i can't immediately say that it is something "new" with the latest patch.
Have you checked and double-checked that all the dll's and overrides is correct?
How do you install DXVK? Using the script in the package, or by some distro packaged thing.. or self compiled?

@7oxicshadow
No the game doesn't even launch. The launcher does, but as soon a I click "Play", it crashes.
As for the ... volatility of Wow's equipment, nothing changed while I was not logged (that'd be great though). So, apart from my system, and Wow itself, nothing changed between the moment when I disconnected and my previous post.
@SveSop
Alright, strange then. because yes, this is the correct version, yes the overrides are done correctly and scan and repair doesn't change anything.
DXVK is installed through the package I mentionned in my first post (through yaourt on Arch Linux)

Oh and I failed to mention I used Lutris to launch the game. But honestly, I've been fiddling so much with the install using my system's executable that I don't think it changes much anymore; the results are the same in both cases.
The game runs almost fine without DXVK, but the perfs are terrible.

@Naliwe Have you tried to launch wow directly, and not through the launcher?
I use a script to launch wow, and launch it with wine64 instead of wine (log complains about Agent.exe not being the correct binary whatever, but i see that as a +).
I can paste the script i am using if you think it COULD solve something? The battle.net launcher app may be bugged perhaps? (As getting it to work, you need to disable streaming under options to get stuff to work). I use it only to patch when needed.

Any updates for stream support?

Until the Vulkan extension is released, support will be missing.
On Mon, Oct 1, 2018, 12:11 PM Ahmed<EMAIL_ADDRESS>wrote:

Any updates for stream support?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/doitsujin/dxvk/issues/135#issuecomment-425987350, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AEJES29WrVv1kS_-B5-KIUsYjzRqQksWks5ugkzJgaJpZM4SibgF
.

Battlerite Royale

I can't reporduce this error.  I play WoW regularly and can launch it via the app or directly from Wow.exe without issues.
Using Arch + wine-staging-3.16 + dxvk-bin (v 0.80 from the aur)
There are reports of stream output types of error from some people using wine but I have never encountered these.
Do you have any addons in the WoW folder? Try renaming the Addons folder before launching the game and see what happens.

Reproduces for my World of Warcraft installation as well.
I've deleted my addons folder so it's definitely not an addon messing it up.
Game runs fine with wineprefix that doesn't have DXVK but with DXVK it also produces this error:
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported

I'm running the nvidia 396.54 driver ,

@darthrevan again, so you see any issues about CreateGeometryShaderWithStreamOutput? If not, the game doesn't use it.

@Naliwe @darthrevan
Not sure why you would get those error messages with World of Warcraft, as this works for many ppl with DXVK (including me).
However, could this somehow be mistaked for the "A streaming error has occurred. (WOW51900322)" bug?
https://appdb.winehq.org/objectManager.php?sClass=version&iId=36961 has info on how to clean out wow cache, and download a "fixed clean" cache someone uploaded from windows...
What does the /World of Warcraft/Logs/gx.log file say?
PS. Perhaps open this issue as a separate issue with WoW, and not a "Stream Output not supported" issue, as i kinda believe WoW does not require this in any way...

For ArchLinux someone extended the mesa-git makepkg to use RADAV patches:
https://www.reddit.com/r/linux_gaming/comments/9ojqvb/aur_package_for_mesagit_with_the_radv_vk_ext/
https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=mesa-transform-feedback-git

Battlerite on intel v0.9 still have invisible characters.
On other manufacturers seems fine.

You need to patch ANV manually as described in #695.

I have this error while playing Dead or Alive 6:
err: D3D11: CreateGeometryShaderWithStreamOutput: Rasterized stream not supported


Some pages should be excluded

The script puts (non-working) links on some pages where they don't make sense. For example, viewing the moderation log of a subreddit with no recent moderator actions, it will add a red "Show original" link that doesn't work.
I believe these @match and @exclude lines will exclude most pages that aren't submission/comment listings.
// @exclude      https://*.reddit.com/*/about/banned*
// @exclude      https://*.reddit.com/*/about/contributors*
// @exclude      https://*.reddit.com/*/about/edit*
// @exclude      https://*.reddit.com/*/about/flair*
// @exclude      https://*.reddit.com/*/about/log*
// @exclude      https://*.reddit.com/*/about/moderators*
// @exclude      https://*.reddit.com/*/about/muted*
// @exclude      https://*.reddit.com/*/about/rules*
// @exclude      https://*.reddit.com/*/about/stylesheet*
// @exclude      https://*.reddit.com/*/about/traffic*
// @exclude      https://*.reddit.com/*/wiki/*
// @exclude      https://mod.reddit.com/*
// @match        https://*.reddit.com/me/f/*
// @match        https://*.reddit.com/message/*
// @match        https://*.reddit.com/r/*
// @match        https://*.reddit.com/user/*

The reason there are multiple /about/ lines rather than a single one is because there are a number of listing pages under /about/ for a subreddit where unedit is definitely wanted.
/message/* is included because while private messages cannot be edited, messages does include comment replies and username mentions in comments, both of which can be edited.
I don't believe lines are needed for https://reddit.com/ because that seems to always redirect to https://www.reddit.com/ now.

This looks good assuming it's tested.

I've been running with those lines in replacement of the original lines for the last two weeks and it works well.

I've added one line for the front page itself:
// @match        https://*.reddit.com/

My full set of @match and @exclude lines is now:
// @exclude      https://*.reddit.com/*/about/banned*
// @exclude      https://*.reddit.com/*/about/contributors*
// @exclude      https://*.reddit.com/*/about/edit*
// @exclude      https://*.reddit.com/*/about/flair*
// @exclude      https://*.reddit.com/*/about/log*
// @exclude      https://*.reddit.com/*/about/moderators*
// @exclude      https://*.reddit.com/*/about/muted*
// @exclude      https://*.reddit.com/*/about/rules*
// @exclude      https://*.reddit.com/*/about/stylesheet*
// @exclude      https://*.reddit.com/*/about/traffic*
// @exclude      https://*.reddit.com/*/wiki/*
// @exclude      https://mod.reddit.com/*
// @match        https://*.reddit.com/
// @match        https://*.reddit.com/me/f/*
// @match        https://*.reddit.com/message/*
// @match        https://*.reddit.com/r/*
// @match        https://*.reddit.com/user/*

Thanks for the contribution, I have merged a fix


ToolInformation - Equals, HashCode, and multi-tool parsing fixes w/tests

Opened https://github.com/CycloneDX/cyclonedx-core-java/pull/396 in the upstream.  Hopefully they accept.


http://testnet.rose.fi/#/borrow/near

-32603: Internal Error - FetchError: invalid json response body at http://<IP_ADDRESS>:3030/ reason: Unexpected end of JSON input. Please report a bug at https://github.com/aurora-is-near/aurora-relayer/issues

Hey, this seems to be a problem with the application you are using and not with the public RPC. Please get in touch with them. Feel free to reopen the issue with more info if you think the problem is with the public RPC.


update rpds.py for PyO3 0.23

Opening as a draft because PyO3 0.23 isn't out yet.
Along with accompanying uncommitted Cargo.toml updates, this passes the test suite on the free-threaded Python build.

Thanks! Really appreciated. Adding a CI environment which runs on the free-threaded build would also be nice I think whenever we do merge.

Fantastic thanks again! I'll have a look tomorrow here (and read that linked issue) but this looks great.
(The CI failure is unrelated obviously, I forgot to disable zizmor in pre-commit.ci as it doesn't run there yet, will do that.)


[embedded] Don't gate embedded stdlib build behind SWIFT_BUILD_STDLIB

Given that right now, the embedded stdlib is part of the toolchain, let's build it even if we're not otherwise producing the regular stdlib (SWIFT_BUILD_STDLIB being off).

@swift-ci please test


[Backport] Update monitoring to use prometheus 2.45

Backport of https://github.com/rancher/rancher/issues/44605
Is your feature request related to a problem? Please describe.
The version of Prometheus we've been using is out of date.
Describe the solution you'd like
Update to the latest LTS version, which at the time of writing is 2.45
https://prometheus.io/docs/introduction/release-cycle/
Describe alternatives you've considered
There are newer versions of prometheus, but we've decided to go with the long term support version.
Additional context
SURE-7043

Closed in PR #3609

Prometheus 2.45 has been updated on below setup. PFA
Rancher: 2.8-head
Cluster: v1.28.7+rke2r1
Monitoring: rancher-monitoring:103.1.0-rc1+up45.31.1
Charts : Dev-2.8

ip-10-0-0-63:/home/ec2-user # kubectl get pods --namespace=cattle-monitoring-system -o jsonpath="{..image}" | tr -s '[[:space:]]' '\n' | sort | uniq
docker.io/rancher/klipper-helm:v0.7.0-build20220315
docker.io/rancher/mirrored-grafana-grafana:9.1.5
docker.io/rancher/mirrored-kiwigrid-k8s-sidecar:1.24.6
docker.io/rancher/mirrored-kube-state-metrics-kube-state-metrics:v2.10.1
docker.io/rancher/mirrored-library-nginx:1.24.0-alpine
docker.io/rancher/mirrored-prometheus-adapter-prometheus-adapter:v0.10.0
docker.io/rancher/mirrored-prometheus-alertmanager:v0.26.0
docker.io/rancher/mirrored-prometheus-node-exporter:v1.3.1
docker.io/rancher/mirrored-prometheus-operator-prometheus-config-reloader:v0.65.1
docker.io/rancher/mirrored-prometheus-operator-prometheus-operator:v0.65.1
docker.io/rancher/mirrored-prometheus-prometheus:v2.45.0
docker.io/rancher/prometheus-federator:v0.3.4
docker.io/rancher/pushprox-client:v0.1.0-rancher2-client
docker.io/rancher/pushprox-proxy:v0.1.0-rancher2-proxy
rancher/klipper-helm:v0.7.0-build20220315
rancher/mirrored-grafana-grafana:9.1.5
rancher/mirrored-kiwigrid-k8s-sidecar:1.24.6
rancher/mirrored-library-nginx:1.24.0-alpine
rancher/mirrored-prometheus-adapter-prometheus-adapter:v0.10.0
rancher/prometheus-federator:v0.3.4
rancher/pushprox-client:v0.1.0-rancher2-client
rancher/pushprox-proxy:v0.1.0-rancher2-proxy


Allow disabling the lockfile

Trello: https://trello.com/c/CT0JqPUK

:+1: just needs a new version new.


Speed Dial Button doesn't change bgColor doesn't change in Dark Theme

I have just added the MUI SpeedDial to my  application. Everything seems to be working other than the background color of the button does not lighten in the Dark theme, as it does on the Demo page.
I have seen other issues like this where the solution has been to modify the SpeedDialAction.js file itself inside the package. The responses were more than a year ago. Is there a better way to add support to dark more for speed dial background color now ? I know it is possible through FabProps, but I am looking for a more centralized way through theme or css class.
Current Behavior 😯
Speed Dial button does not change background color in Dark theme

Speed Dial button does not change background and stays the same as light them.
Expected Behavior 🤔
Speed Dial button should  change background color in Dark theme

Speed Dial button should  change background color in Dark theme
Steps to Reproduce 🕹
Steps:

Add Speed Dial to the application
Switch to dark mode.

Tech
Version

Material-UI
4.9.3

React
16.12.0

Browser
Chrome

TypeScript

etc.

Please provide a minimal reproduction test case. This would help a lot 👷 .
A live example would be perfect. This codesandbox.io template may be a good starting point. Thank you!


Document running tests on catkin packages

Doing a bit of experimenting, I've found that running test on catkin packages isn't quite as straightforward as colcon build && colcon test. It's not immediately obvious, but one has to run:
colcon build --cmake-target tests
colcon test

...as extracted from https://github.com/ros-infrastructure/ros_buildfarm/pull/548,

I'm guessing this is my fault, but I've found that when I attach a DEPENDENCY to catkin_add_nosetests such as when using catkin_virtualenv (https://github.com/paulbovbel/test_meta/blob/master/CMakeLists.txt#L52), I have to run the following to get all tests to pass:
colcon build
colcon build --cmake-target tests
colcon test

Even though it looks like the ${PROJECT_NAME}_generate_virtualenv should be getting hooked in via the underlying catkin mechanisms.

In catkin packages test targets are usually created with the EXCLUDE_FROM_ALL flag. Therefore they are not being built by a normal cmake --build invocation. To the second snippet (colcon build, colcon build --cmake-target tests, colcon test) is the right "generic" approach.
Can you create a pull request to update the documentation accordingly?

Done https://github.com/colcon/colcon.readthedocs.org/pull/30
Although I wonder if for consistencies sake, it wouldn't make sense to supress EXCLUDE_FROM_ALL behaviour when building from ROS via colcon.

it would make sense to suppress EXCLUDE_FROM_ALL behaviour when building from ROS via colcon

I don't think there is (currently?) a way  to override that from the "outside". The argument is hard coded in the CMake code (e.g. the catkin function to add tests) but potentially also in the package specific CMake code. If you can imagine a way I would be happy to consider it.


Error checking stops working when ApplicationIcon property inside fsproj is set.

Describe the bug
When adding the <ApplicationIcon>Logo.ico</ApplicationIcon> property to the <PropertyGroup> inside the fsproj, error checking stops working and works again once the property gets removed again.
Steps to reproduce

Create simple console application via dotnet new
Add  <ApplicationIcon>Logo.ico</ApplicationIcon> to the fsproj

Expected behaviour
Error checking should work even if the ApplicationIcon is defined
Screenshots
https://user-images.githubusercontent.com/6583600/129420240-0e7de0a1-406a-409f-910a-e087f4dd10ae.mp4
Machine info

OS: Windows
.NET SDK version: 5.0.302
Ionide version: 5.7.1

Total shot in the dark, but have you tried the latest SDK SDK 5.0.400?
ApplicationIcon had some problems with the compiler until somewhat recently, but I honestly can't say for sure which SDK release shipped a compiler with the updates to make it recognized.

@cartermp thanks for the quick response. Tried it right now, but unfortunately with the same outcome.

Gah, bummer. Confirmed that this does work in Visual Studio, so at least it's not an upstream problem.

Try ">developer reload", or close file, close folder, and reopen? This is a different setting, but it looks like the same scenario as described here https://github.com/ionide/ionide-vscode-fsharp/issues/1500. Seem booksbaum's example.

Thanks for the suggestion, but my issue seems to be much more persistent, it either works or it doesn’t work. Before I figured out what was causing the issue, I even tried to restart my PC, unfortunately without any affect, only after this I started to undo my recent changes until it worked again.

Just wanted to mention that I've had the same problem where Error checking stoped working.
Commented out the <ApplicationIcon> and it started working again.
Tested on two different Windows clients.


cmakelists additional lines

just adding core/producers and core/filters into CMakeLists

gonna close this ... looks like giani already made a PR adding these lines


Plans to publish to crates.io?

I know this project is still in its infancy and you are still iterating (https://github.com/bytecodealliance/wit-bindgen/issues/157#issuecomment-1040527225), but what would be the roadmap to publishing this project's crates to crates.io?
For context, I'm working on a wit-bindgen generator for WASM3, and was hoping to use crates.io dependencies instead of pinning to a specific git commit.
I think the folks from wasmer might be in the same boat (wasmerio/wit-bindgen), except they chose to fork the wit-bindgen repository when writing their wit-bindgen-wasmer generator.

200%, it will be incredibly useful to have the crates published

Sorry I don't really have much more to add over what's already been said. It's naturally the goal to eventually publish to crates.io but at least personally I do not feel that this is ready. The component model itself is still very much in its infancy and trying to publish and maintain things before everything is ready runs a pretty high likelihood of generating more work for us than would otherwise be necessary. My personal goal is to integrate wit-bindgen well with the component model and today there's lots of pieces in wit-bindgen that could add up to that but as-is it's still pretty far away.
There's no roadmap at this time, but me and many of my colleagues are focused on moving the component model forward, and wit-bindgen is a large part of that.

Sadly my crate is using wit-bindgen's crates, and I cannot publish my crate since it's using the git urls as dependencies due to this project not being published yet. I hope this could be considered soon, the crates I'm using work great for my case

Interesting, I'll take a look into it thank you.

Sorry I don't really have much more to add over what's already been said. It's naturally the goal to eventually publish to crates.io but at least personally I do not feel that this is ready. The component model itself is still very much in its infancy and trying to publish and maintain things before everything is ready runs a pretty high likelihood of generating more work for us than would otherwise be necessary. My personal goal is to integrate wit-bindgen well with the component model and today there's lots of pieces in wit-bindgen that could add up to that but as-is it's still pretty far away.
There's no roadmap at this time, but me and many of my colleagues are focused on moving the component model forward, and wit-bindgen is a large part of that.

@alexcrichton I noticed on crates.io that wit-parser is available on crates.io.  Would you be opposed to squatting on this? I think with #245 and a good GH action, we could setup publishing the parser (and perhaps the gen-core crate as well).
I definitely don't want to add more work to you or the rest of the bytecode alliance. Perhaps @Kylebrown9 and myself could handle the publishing aspect (that is ensuring the working GH action and that PRs adhere to conventional commits)?
I'm currently publishing myself, but it would be nice for me and anyone else that wants to build out tools while being 100% comfortable with an unstable API to have an official crate.

That sounds amazing! I would love to help in any way to push this project toward wider adoption!


field_created_copy content got wiped on production

field_created_copy field is wiped from prod:
Examples:

https://www.dosomething.org/us/node/2933/edit
https://www.dosomething.org/us/node/3455/edit

Is this because of #5420?

@mikefantini I think it is. The line that fixes the translations for this field still exists: https://github.com/DoSomething/phoenix/blob/0b305da69d613a3a2b8ef2eba32b2437e6d0446c/bin/ds-global#L118

So the field hasn't been disabled properly.
I tested on Prod DB locally, the easiest way to fix this is to manually enable this field for translation and then disable it again.

Just confirmed on thor. Thanks @sergii-tkachenko!

Fixed on production.


rootRedirect not working > blank page and no redirect from / to /en

Environment

Operating System: Linux
Node Version:     v18.16.0
Nuxt Version:     3.6.5
Nitro Version:    -
Package Manager:  npm
Builder:          webpack
User Config:      -
Runtime Modules:  -
Build Modules:    -

"@nuxtjs/i18n": "^8.0.0-rc.3"
nuxt.config.ts
  i18n: {     // Module options     locales: [       {         code: "en",         iso: "en",         name: "English",         file: "en.json",       },       {         code: "nl",         iso: "nl",         name: "Dutch",         file: "nl.json",       },     ],     baseUrl: process.env.BASE_URL || "http://localhost:3000",     defaultLocale: "nl",     rootRedirect: "/nl",     lazy: true,     strategy: "prefix",     langDir: "locales",   },
Reproduction

Use rootRedirect in nuxt.config.ts i18n options (for exampele rootRedirect: "/en".
Navigate to your nuxt application in the browser without /en behind the URL (localhost:3000 for example).
Watch and see that you're NOT redirected to /en.

Describe the bug
I got a problem with Nuxt3 + i18n (@nuxt/i18n).
Everything works fine when navigating to the homepage like this: http://localhost:3000/en or http://localhost:3000/nl
But when navigating to http://localhost:3000/ the application does absolutely nothing.
When inspecting via the browser, the  is empty.
I expect when I add `rootRedirect: "/en" that the app will redirect from / to /en. But it doesn't do that.
I've searched around all possible fixes on Stackoverflow and this issues section, but nothing seems to work for me.
Anybody got some clues?
Additional context
No response
Logs
No response

Thank you for your reporting!
We appreciate your reproduction procedure. However, we need a minimum reproduction to ensure that we reproduce your issue.
Issue guideline saying:

Please use a template below to create a minimal reproduction, and provide to us your issue cases
👉 https://stackblitz.com/github/nuxt/starter/tree/v3-stackblitz

Could you give us it please? 🙏

close in-activty.
If you have still issue, please you would open as new issue.
Thanks!


Upgrade/Test for 12.0

I imagine this just needs to be tested. I'm not expecting anything to need to change to support 12.0.

Did the 12.0 validation complete successfully? Would love to implement this in my 12SP7 production instance. Thanks, Paul


Jan15 refresh

Rev ms.date
Update step 3 in create-upload-vhd-suse
Include information on rebuilding initrd when installing on different
hypervisors
Include information on resizing VHDs using qemu-img
Add link to the Linux Installation Notes in linux-create-upload-vhd

Hi @szarkos, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (szark). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;


Decide on validation strategy

This ticket could also read, "How frequently should we validate?"
As an example, by default formFor will validate each field on-change and the entire form on-submit. Forms JS could do the same or we could try to optimize and only validate each field once (unless it's changed).
For example, a form consisting of 2 fields: username and password. This form is pre-filled with data. If the user changes the username attribute Forms JS will immediately validate the new value. If the user then submits the form, Forms JS could validate both attributes again before allowing the submit- or it could validate only the password attribute since username has already been validated.
Obviously the 2nd approach is more work to implement but could potentially be worth the effort if a form had many asynchronous custom validators.
What do you all think?

I say validate the entire field anytime the model has changed. Reasons:

JavaScript is fast - this will not be any application's bottleneck
The value of one field can change the validity of another (password and confirm password)

s/validate the entire field/validate the entire form/

Validate the entire form anytime a field has changed?
I think I'm leaning towards this option as well, because it's easier and maybe YAGNI.
You raise a good point about one field's value affecting another. There are strategies we could take for that, but maybe the least surprising would be to do a full revalidation.

Couple of considerations:

JS will not be the bottleneck on all validations - some async validations
will involve expensive and unpredictable round trips
What about an initial validation of the form?  Validation rules change
over time, and data read back from a database may no longer satisfy the
current validation rules

On 14 March 2015 at 21:39, Brian Vaughn<EMAIL_ADDRESS>wrote:

Validate the entire form anytime a field has changed?
I think I'm leaning towards this option as well, because it's easier and
maybe YAGNI.
You raise a good point about one field's value affecting another. There
are strategies we could take for that, but maybe the least surprising would
be to do a full revalidation.
—
Reply to this email directly or view it on GitHub
https://github.com/forms-js/forms-js/issues/16#issuecomment-80729730.

About async validators. Currently with angular's validation pipeline, they have two separate pipelines for validation. The reason for this is so they can avoid running expensive async validation when the cheap sync validation fails. I think we should have a mechanism for people to label validators as expensive which would cause them to be run after the cheap ones (I do not think we should have two different pipelines).
I'm not sure I understand your second consideration

We already discussed only running expensive validations after cheap ones have passed (it was explicit in the Drive doc and is still implicit) but you could still end up running expensive validations on unchanged fields.
An example of the second point:  a field has validation of enum:['male','female','other']; a user inputs 'other' and persists the data; later the validation changes to that 'male','female','custom' (as per Facebook, but more commonly in my case because I change my mind lots).  When the record is displayed should the field be invalid, even though it is pristine?

Ah, understood. Good point about expensive validations running after cheap ones have passed... That's reason enough for me to suggest we only run validations after the field's value has changed, not the entire model. But definitely expose an api where developers can run the validators themselves (like angular's $validate). This api would cover the second scenario as well.

What about an initial validation of the form?

Using formFor as an example, the controller exposes a method allowing users to manually validate at any point. (More on this below.) This covers the case of forms that want to show error messages immediately. I think it's more common that my users have wanted to suppress messages until the user has either touched a field (no longer pristine) or tried to submit the form. This way we're not screaming at users to change something that they were probably going to change anyway.

Good point about expensive validations running after cheap ones have passed... That's reason enough for me to suggest we only run validations after the field's value has changed

Agreed. Although it doesn't explicitly answer my original question which is: should we do one more full-pass validation before submitting the form?

But definitely expose an api where developers can run the validators themselves

Yes. This has definitely been a repeated request for formFor and it is why I expect validateField, validateFields and validateAll methods on the form directive controller.

We already discussed only running expensive validations after cheap ones have passed (it was explicit in the Drive doc and is still implicit) but you could still end up running expensive validations on unchanged fields.

@mchapman I just re-scanned the doc and I don't see any mention of this. I don't recall discussing it either. Am I spacing? I thought we would always run all of the validations. Then our adapters could choose to show all errors or just one at a time. (The nice thing about showing all errors is that users don't end up feeling like they're playing a guessing game- this field is required! ooh and it has to be 6 characters long! ooh and it also has to have a number! ooh and a capital letter! etc.)

I thought it had come up when we were talking about key order in objects vs
arrays, but I may have been thinking it to myself. My thinking was that it
would be sensible to specify the maximum number of failing tests, and the
order of performing them to reach that number quickest.  I agree that
getting loads of errors one at a time is irritating, but I suspect there is
a maximum number of errors it makes sense to report at once, both in terms
of nice presentation and how much a user can be expected to take in.  One
thing that is certain is however flexible it is, a user will want something
that isn't supported!
We already discussed only running expensive validations after cheap ones
have passed (it was explicit in the Drive doc and is still implicit) but
you could still end up running expensive validations on unchanged fields.
@mchapman https://github.com/mchapman I just re-scanned the doc and I
don't see any mention of this. I don't recall discussing it either. Am I
spacing? I thought we would always run all of the validations. Then our
adapters could choose to show all errors or just one at a time. (The nice
thing about showing all errors is that users don't end up feeling like
they're playing a guessing game- this field is required! ooh and it has to
be 6 characters long! ooh and it also has to have a number! ooh and a
capital letter! etc.)
—
Reply to this email directly or view it on GitHub
https://github.com/forms-js/forms-js/issues/16#issuecomment-80764664.

I want to leave the decision of how many errors to display up to the developer. But I do believe that we shouldn't run expensive validators if cheap validators have already failed. I think that's why a distinction between expensive and cheap is useful. I believe that an api to for developers to specify a validator as expensive would be valuable. But I recommend against setting up some complicated priority system. Let's try to make this as simple as possible.

I'm not sure I'm sold on the concept of specifying cheap vs expensive. I'm tempted to think it will bloat our otherwise lightweight syntax. Currently your validations describe your data constraints. Where would we tack this concept of priority onto? It's a kind of meta data that (I think) doesn't have a clear place within the schemas we've been talking about so far. (I could be convinced to change my mind. This is only an initial opinion.)
We may be prematurely optimizing with this talk of prioritization and short-circuiting. I think we might okay if we just:

Validation an individual field any time it changes
Validate all fields any time the form is submitted

I agree with Kent's assessment of leaving the decision of how many errors to display up to the developers (or adapters). Running all validations gives them this choice. Running only until the first failure would take the choice away from them.

I'm not a fan of  specifying cheap vs expensive either, but what we could do is to separate it into synchronous and asynchronous validations. I guess this would only affect custom validator functions? As Kent said javascript is fast enough, so the synchronous will always be fast. And asynchronous can take a long time. Just throwing it out there even though I'm not sure we need to split them :)
Usually its only forms with fields that depend on each other that can suffer from that we don't validate them all all the time. But they are not that common after all. How about a "group" option? Each field in the validation schema could have an optional "group" that is a string and names a group. Any time a field is validated that belongs to a group the entire group is validated. This way we can support it when needed but we're not stuck doing a lot superfluous validation.
Regarding of if we should stop at first error or keep going, I agree with Brian and Kent that its up to the view layer to decide which validations to display. But that means they all should have a code as well as a message. I want to be able to decide that only the "Required" error message should be shown if present in the list of errors without resorting to comparing strings.

I want all validators to be able to return promises whether they're actually hitting a server or not. I don't want two pipelines.
I believe that the "expensive" validators will be used less frequently than the cheap ones. Therefor I think that making it a tiny bit harder to mark them as expensive is not a big deal. This is what I think we could do:
function cheap(value) {
  return value === 'foo';
}

function cheapPromise(value) {
  return new Promise(function(resolve, reject) {
    if (value === 'foo') {
      resolve();
    } else {
      reject();
    }
  });
}

function expensivePromise(value) {
  return doSomethingAsync(value);
  });
}
expensivePromise.expensive = true; // <-- that's the difference

This would mean that it is only executed AFTER all the other non expensive ones have passed.
I also considered the idea of actually introducing a priority instead, but limit it from 0 to 5 so it doesn't turn into a z-index nightmare... Thoughts?

I want all validators to be able to return promises whether they're actually hitting a server or not. I don't want two pipelines.

This is the approach I've taken. Everything is a Promise. Custom validations might be asynchronous Promises.

This would mean that it is only executed AFTER all the other non expensive ones have passed.

This means we won't be able to give the view all error messages, which means users might resolve all of the errors they're presented with- only to be shown new errors. I don't know that I think this is a big deal, just a side effect we should explicitly acknowledge.
As long as we're just returning a composite Promise I think it's fairly straight-forward to reason about. As we start introducing priority and deferred execution of validations it makes me wish we'd integrate with a library like my Task Runner.

I think I misunderstood what task runner was initially. If you feel like it
would make development easier/worth the extra dependency, then that's
awesome and I say let's do it.
When trying to picture the scenario you're describing, I don't see a
problem. Let's say we're at a sign up screen that requires an email
address. There are three validators on it: required, email, and unique.
Before they even fill in the form, the input label/placeholder/description
would show that it's a required email field (and maybe that it's required
to be unique). If they skip the field, we just show validation that
indicates its required. If they fill in a non-email, we show them it must
be an email. Even if that invalid email is unique, the user doesn't care
because it wouldn't work anyway.
Does that make sense... Phones are hard to describe things on in detail...

Kent C. Dodds

(Sent from my mobile device, please forgive typos or brevity)
On Mar 15, 2015 9:57 AM, "Brian Vaughn"<EMAIL_ADDRESS>wrote:

I want all validators to be able to return promises whether they're
actually hitting a server or not. I don't want two pipelines.
This is the approach I've taken. Everything is a Promise. Custom
validations might be asynchronous Promises.
This would mean that it is only executed AFTER all the other non expensive
ones have passed.
This means we won't be able to give the view all error messages, which
means users might resolve all of the errors they're presented with- only to
be shown new errors. I don't know that I think this is a big deal, just a
side effect we should explicitly acknowledge.
As long as we're just returning a composite Promise I think it's fairly
straight-forward to reason about. As we start introducing priority and
deferred execution of validations it makes me wish we'd integrate with a
library like my Task Runner http://www.taskrunnerjs.com/.
—
Reply to this email directly or view it on GitHub
https://github.com/forms-js/forms-js/issues/16#issuecomment-81122294.

I'm very hesitant to add external dependencies, but thanks. We'll see.
I think I'm starting to come around about not returning all validation errors and instead just returning the first error we encounter. The benefits of that are:

It precludes the whole issue of expensive validations because we can just run custom validations last.
It takes away view flexibility but it probably doesn't really negatively impact the user.
Anecdotally, it's what formFor does anyway and no one has complained about it to date.

I like having the power to control which of the sync validation errors I
show to the user with angular now... I feel like we'd be making a mistake
to remove that flexibility. I think the approach taken by angular is a good
one. Though I think it was a mistake to assume that async validators were
expensive. I think the developer should have the power to determine which
validators are expensive.

Kent C. Dodds

(Sent from my mobile device, please forgive typos or brevity)
On Mar 15, 2015 10:53 AM, "Brian Vaughn"<EMAIL_ADDRESS>wrote:

I'm very hesitant to add external dependencies, but thanks. We'll see.
I think I'm starting to come around about not returning all validation
errors and instead just returning the first error we encounter. The
benefits of that are:

It precludes the whole issue of expensive validations because we
can just run custom validations last.
It takes away view flexibility but it probably doesn't really
negatively impact the user.
Anecdotally, it's what formFor does anyway and no one has complained
about it to date.

—
Reply to this email directly or view it on GitHub
https://github.com/forms-js/forms-js/issues/16#issuecomment-81153571.

What are the arguments for returning a promise from the validating functions? I can only think of one and that is that its nice and clean to have one interface for all validation on a field.
But I think that shifts complexity over to the view adaptor instead. Which is forced too treat every validation as it could be asynchronous when in fact most of the time its not.  In angular 1.x that would mean you couldn't use the built in ngModel.$validators for instance, not that we can't work around it.
The only validation that I can come up with that is async is validation that hits the server, i.e. looking up if username is taken etc. And that means a custom function right? Sure its a mistake assuming async validators are slow, but if they do something over the network they can be slow.
It might be worth it shifting it over to the adaptor, but since the validator is the part that all share then IMHO its better that it has a bit more complexity and the adaptors can be smaller.
It would also be easy to split the "validateField" function into three variants, one that does all validating and returns a promise, one that only validates synchronous and one that validates asynchronous so the view adaptor can choose which to work with.
But since we started prototyping with the asynchronous version why not follow that through and see where it takes us? I might be wrong about the shifting of complexity :)

I like the initial approach where validators could return boolean, string(error message) or a promise that resolves or rejects to an error message. From a user perspective that would be very easy to work with. In many cases users don't even have an async validators so they don't need to know about promises.

What are the arguments for returning a promise from the validating functions...

I like the initial approach where validators could return boolean, string(error message) or a promise...

I think things are getting muddled. Forms JS base library currently defines a set of built-in validations. I wrote the built-in validations to return Promises because I like consistency. End-users don't need to even be aware of these validators though, or the fact that they are promised-based.
Users can write custom validations that synchronously return truthy/falsy values or promises. There is a built-in validator that knows how to handle both types of user-supplied returns here: https://github.com/forms-js/forms-js/blob/master/source/validation/validators/custom-validator.ts
How do the views/adapters interact with these validations? That's totally up for discussion, but I'm playing around with some ideas (using lessons learned from formFor) here: https://github.com/forms-js/forms-js/blob/master/source/attribute-metadata.ts
My idea is that an individual input/field could tell an attribute to validate itself and then either listen to the returned Promise or just bind directly to an errorMessages object.

@bvaughn yes I was only thinking about the view/adaptor scenario, not what the user supplies as a validation function.
I'll do a basic and naive angular 1.x view adaptor to feel it out a bit.

I know some folks aren't around over the weekend but if it seems preferable, I'm happy to hop on a Hangout this afternoon and chat a bit about this.

For the Angular 1.x world, here's how I was initially thinking through things:

A field (directive) would register itself with the Forms JS form and be given (as a return value) an AttributeMetadata object.
This object would attached to the $scope so that the directive can bind to a few of its attributes: disabled, errorMessages, required.
The directive would use an <input> with an ng-modelbinding and a$scope.$watchobserving that value- and whenever the watch is triggered, the directive would call the validate() method of itsAttributeMetadata` in a fire-and-forget kind of way.
Once the validation completes (synchronously or asynchronously) the errorMessages property would be updated and any scope-bindings would be triggered automatically.

Yeah that's basically how i thought about it as well, except I didn't have the AttributeMetadata object in mind :)
Right now I have some simple js code up that generates the directives from the a view (https://github.com/forms-js/angular-1x/tree/simple-generation) and I was hoping to transfer that to typescript and add a directive that does validation tonight or tomorrow.
When you say this afternoon, could you be more specific?

...and by tonight I mean after I put the kids to bed in two or three hours :)

add a directive that does validation tonight or tomorrow.

What do you mean by this? :)
If you want to Hangout, I can pretty much make any time work. I'll have to get lunch sometime within the next 2 hours or so but otherwise my schedule is flexible ;)

So basically in the code I have right now I have one forms-js directive that loops over the view and generates a directive depending on "inputType" (as a side note I don't like that name, but "type" is confusing and I don't have a better idea).
So we end up with something like this:
<forms-js view="view" validation="validation">
  <div fjs-text key="username"></div>
  <div fjs-text key="email"></div>
</forms-js>

My thought was that the generated directives could also be used "manually".
So then that "$compiles" into something like this:
<forms-js view="view" validation="validation" model="model">
  <div fjs-text key="username">
     <label>Username</label>
     <input type="text" ng-model="model.username">
  </div>
  <div fjs-text key="email">
      <label>Email</label>
     <input type="text" ng-model="model.username">
  </div>
</forms-js>

This is what I have. So the validating directive would go on the actual input (or whatever has the ng-model) like this:
<input type="text" ng-model="model.username" fjs-validate="username">
That directive could require the ngModelController and add itself to the $asyncValidators or as you said just watch the value. It could also use the $setValidity to invalidate the field etc
Does that make any sense?
It sometimes takes a while for me to put my kids to bed so I don't dare promise a specific time, but I'm going to try to end their minecraft session now... Go get lunch as usual and we'll just have to see if we can get the timezones to line up :)

Interesting. Okay, yeah. If our schedules line up after your kids are in bed and I've eaten- it would be helpful to chat a bit.
I'm currently mulling over how a form-submit should happen in a framework-agnostic way so that would be helpful to chat about also. I'm feeling pretty good about the current validation but I'm not sure about submission.

I will be available as well (but probably not contributing much as I am making really slow progress on Angular 2 and TS)

Great! I'll post a comment when I'm back :)

Ok. back.

@bvaughn @mchapman up for a hangout? Otherwise I'm gonna need to crash into bed soon :)

I will be able to Hangout in 10 minutes. If you're not still up that's okay. I got held up at lunch. Sorry

Closing this since we've settled on a basic validation strategy.
There was still a question of serial vs parallel validation, and a secondary question of validation priority. I feel we should follow up with these via their own, specific issues though since this is already a pretty long-running thread. I'm personally against the notion of priority but I'm fairly neutral about parallel vs serial. (That is to say that my default stance is...what we have is good enough, so someone else may want to file additional tickets if you disagree.)


Update modules for better Exception and API key handling

[ ] Update all modules so any Exceptions are caught in a way that is OK with Python3.x

and so it will past tests
NO:

    pass

YES:
    logger.error('Caught exception in module {mod}: {err}'.format(mod=module_name, err=err)

[ ] In modules, API keys are returned in Plugin.init. By doing this we have no real way to exit a module w/o raising an exception if an API key is invalid or doesn't exist. Move the API key check to one of the functions the key needs to use so we can log an error message to the user and return from the class gracefully w/o needing to raise an exception

Example:
class Plugin(object):
    def __init__(self, artifact):
        self.artifact = artifact
        self.artifact['data']['censys'] = None
        self.api_key = get_apikey('censys')
        self.headers = {'User-Agent': 'OSINT Omnibus (https://github.com/InQuest/Omnibus)'}

    def run(self):
        if self.api_key == '':
            error('API keys cannot be left blank | set all keys in etc/apikeys.json')
            return

        url = 'https://censys.io/api/v1/view/ipv4{0}'.format(self.artifact['name'])

        try:
            status, response = get(url, auth=(self.api_key['token'], self.api_key['secret']), headers=self.headers)
            if status:
                self.artifact['data']['censys'] = response.json()
        except Exception as err:
            warning('Caught exception in module {0}'.format(err)

def main(artifact):
    plugin = Plugin(artifact)
    plugin.run()
    return plugin.artifact

Completed in development branch


Add option to initialize git along with the project

As the title says.
I'm happy to help with a bit of guidance. Just let me know more or less where the feature relevant code lives!

Hi @jmg-duarte, do you mean running git init for new projects? Could you describe more fully?

BTW for editing parts of creating new extensions, you can follow the create module index ([here]https://github.com/cezaraugusto/extension.js/blob/main/programs/create/module.ts)). I wrote a guide in [CONTRIBUTING.md`](https://github.com/cezaraugusto/extension.js/blob/main/CONTRIBUTING.md) that should help on with the setup, but feel free to ping if you need help a hand on that.

Hi @jmg-duarte, do you mean running git init for new projects? Could you describe more fully?

Yes! And adding a .gitignore

@jmg-duarte happy to share that this is the default in<EMAIL_ADDRESS>✨
Thanks for the suggestion and let me know if there's something else!


Added jax.random.vonmises

As referenced in #11737.
This is the initial implementation, based on the reference provided in the docstring.
Half of the tests are passing at the moment, but having some dtype issues with lax.select and lax.ge. Also having some trouble ensuring the returned array is of the specified dtype.
Any guidance would be appreciated!

Thanks - I'll take a closer look soon, but in the meantime it looks like there are some type mismatch errors when running in X64 mode; you can run those tests locally with
$ JAX_ENABLE_X64=1 pytest -n auto tests/random_test.py

Been sitting on this for a little bit now, just wondering you could offer some input!
I've done most of the re-factoring, but I'm unsure on the best way to work the conditional in with the new broadcasting. Here's the code-sample:
def vonmises(
  key: KeyArray,
  x: RealArray,
  kappa: RealArray,
  shape: Optional[Shape] = None,
  dtype: DTypeLikeFloat = dtypes.float_,
  max_iters: int = 100
) -> Array:
  """Draw samples from a von Mises distribution.

  Args:
    key: a PRNG key used as the random key.
    x: mean of the distribution. Must be broadcast-compatible with kappa.
    kappa: concentration of the distribution. Must be broadcast-comptible with x.
    shape: optional, shape of the output array.
    dtype: optional, dtype of the output array. (default float64 if
      jax_enable_x64 is true, otherwise float32).
    max_iters: maximum number of times to run the algorithm
      that generates and accepts/rejects samples.

  Returns:
    theta: A random array of specified shape and dtype.

  Reference:
    Best, D. J., & Fisher, N. I. (1979). Efficient Simulation of the
    von Mises Distribution. Applied Statistics, 28(2), 152.
    https://doi.org/10.2307/2346732
  """
  # Check Key, Dtypes, Shape
  key, _ = _check_prng_key(key)
  if not dtypes.issubdtype(dtype, np.floating):
    raise ValueError(f"dtype argument to `t` must be a float"
                     f"dtype, got {dtype}.")
  dtype = dtypes.canonicalize_dtype(dtype)

  if shape is None:
    shape = lax.broadcast_shapes(np.shape(x), np.shape(kappa))
  else:
    _check_shape("vonmises", shape, x, kappa)

  def _true(key: Array, x: Array, kappa: Array) -> Array:
    return jnp.pi * 2 * uniform(key, shape, dtype)

  def _false(key: Array, x: Array, kappa: Array)-> Array:
    return _vonmises(key, x, kappa, shape, dtype, 100)

  # Return Distribution
  return lax.cond(
    kappa < 1e-5,
    lambda key, x, kappa: _true(key, x, kappa),
    lambda key, x, kappa: _false(key, x, kappa),
    key, x, kappa
  )

Unfortunately, lax.select doesn't play nicely with the kappa < 1e-5 condition:
TypeError: Pred must be a scalar, got [[ True]
 [ True]
 [ True]
 [ True]
 [ True]
 [ True]
 [ True]
 [ True]
 [ True]
 [ True]] of shape (10, 1).

The problem is that, after broadcasting, for rows/columns where the corresponding value of kappa is below the threshold we want to apply the uniform approximation. Does lax.cond allow the activation of both conditions? Any ideas on best ways to overcome this?

lax.cond requires a scalar condition. For a vector condition, you can use lax.select

Sorry for losing track of this one – are you still interested in contributing this?

It looks like this was addressed in #13355


Add test step to basic tutorial

Proposed changes:

Add an eighth step about how you should run tests after training a new model

Status (please check what you already did):

[ ] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog (please check changelog for instructions)
[ ] reformat files using black (please check Readme for instructions)

@akelad @erohmensing I requested a review from both of you because it is small but significant change to the rasa tutorial, and I want to get it into the rasa 1.9 release tomorrow

@erohmensing were you able to do this?

No I wasn't able to do this yet, as I wasn't able to get it working locally due to branch referencing not working. @tmbo why did we merge this?


Remote Server 403 Forbidden

I'm running into an issue where I'm getting an error 403 forbidden when running the script. I am our tenant global admin, have registered an app, assigned an auth certificate with private key, am connected to azureAD and exchangeonline via powershell, and running in elevated powershell. I've looked at the location in the script that is writing the error, but am unsure what is triggering it, or what is causing the 403. Any advice is appreciated.
`[2022-03-01 12:35:36] [DEBUG] :: Correct RBAC Access Confirmed
[2022-03-01 12:35:36] [SUCCESS] :: Authenication via Certificate - Completed!
[2022-03-01 12:35:37] [Error] :: The remote server returned an error: (403) Forbidden.
Write-Log : [2022-03-01 12:35:37] [Error] :: The remote server returned an error: (403) Forbidden.
At C:\scripts\Remove-StaleGuests.ps1:399 char:9

    Write-Log -Message $ErrorMessage -LogLevel Error -ConsoleOutp ...

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Write-Log`

Hey @dfoster3 ,
Looks like you have missed adding the Graph API permissions on the azure application.
B
J
IMPORTANT! Hey! Graph API Beta is used. You must use user creds or an Azure Application which is
granted the following permissions.
AuditLog.Read.All  - Access LastLogon information
Directory.Read.All - Fix auditlog bug
User.ReadWrite.All - Needed for guest removal (Allow only after extensive testing)

Quickstart: https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app

Btw - you will not need any connections to azure ad or exchange if configured correctly.

I changed the permissions from Delegated to Application type and the script is now running. Thanks!


Expand ITaskItem.GetMetadata return value docs

Makes explicit the return value when no metadata can be found.
Summary
The behavior of ItaskItem.GetMetadata was previously ambiguous when called with no metadata is found (ie. Exception vs null vs empty string). I double checked the source before adding the note.

closing and re-opening to force a new build.

@mairaw do you know who should check this change to make sure it's accurate for all implementations of ITaskItem?

Hi @richardszalay! Sorry for the delay on reviewing your PR. Unfortunately, your PR got caught in the middle of the process we were doing for #4789. The API documentation now lives under a different repo: https://github.com/dotnet/dotnet-api-docs
Would you mind opening a new PR there and we can get this reviewed?
Thanks!

No problem, will do!

@richardszalay would you still like to create the PR on https://github.com/dotnet/dotnet-api-docs? Otherwise, we'll take care of creating the PR on your behalf.

@mairaw Thanks the for the prod, I'd forgotten about this PR. I've created a new PR at dotnet-api-docs/#331

Thank you @richardszalay!


Fix detection of LeetCode V2 using improved document query logic

Enhanced the function isLeetCodeV2 to more accurately determine if the current page is a version of LeetCode. The function now checks for the presence of specific root elements and body classes that indicate whether the page is using Chakra UI light or dark themes, as well as the presence of the "__next" root element. This ensures a more reliable and precise detection of LeetCode's version and UI themes, improving the overall functionality of the script.
Issue: #51

it worked for me. Thank you, @aystream !

@arunbhardwaj can you pls merge?

Is the owner alive or somebody has created kleethub3 extension

Is the owner alive or somebody has created kleethub3 extension

@sidhant-khamankar I have created Leethub-3.0 because owner is not responding. Leethub-3.0 is working with the new "dynamic" UI. Please check https://github.com/raphaelheinz/LeetHub-3.0/

ok thanks


Support for dom elements and collections.

I've created this PR because I need it in a project of mine.
If you like the idea I can improve it. Basically now it possible to pass a collection or a dom element instead of a selector.

closed via aa48cd31f14b4a35b4a871032ec4c93caeb8b752


Show path to node from current line

Opening the same feature request as the one created in the past on SourceForge: #6 Getting path to JSON Objecy
Why this is useful?
If you have a big JSON file where some values are repeated and you're trying to find a specific one (from specific path) it is impossible now to tell (without scrolling up) if the found one is the one we were looking for.
Where to show that info?

Status bar on the bottom (currently it just says "JSON file")
Tooltip when you mouseover the node
Additional bar on the bottom of the currently opened file (that could be useful if in the future we could have the ability to find values by putting path as this area could be editable)

@maxwroc ,
I am developing this feature and it is almost complete. Would you please mind if I ask you to test it and provide any early feedback?
How to test

Download binary from build room https://ci.appveyor.com/project/kapilratnani/json-viewer as appropriate e.g. win32 or x64 or ARM64
Open Notepad++ plugin folder

Open plugin folder, go to Plugins menu on Notepad++
Click on Open Plugins Folder

Navigate to NPPJSONViewer and rename the existing NPPJSONViewer.dll for backup.
Copy the downloaded binary (in step # 1) to NPPJSONViewer folder.
Run some test
Once done, restore the backup. To restore,

Delete the new file (NPPJSONViewer.dll)
Rename the old file to NPPJSONViewer.dll
Now backup is restored.

This will display as below when node is clicked.


ChatMixin fails with User objects due to AttributeError

A regression in ChatMixin._get_call_args introduced by 2245bd6 causes an AttributeError: 'User' object has no attribute 'type' when attempting to use any send* method on User objects.
user = botogram.User(
    {'id': 123, 'first_name': 'User'},
    api=bot.api
)
user.send('Anything...')

File "..../botogram/objects/mixins.py", line 33, in _get_call_args
    chat_id = self.username if self.type == "channel" else self.id
AttributeError: 'User' object has no attribute 'type'

Cheers, Brad

I absolutely need to write more tests. I'll fix this later.


Typed search attributes

What was changed
Implementation of typed search attributes. Specifically:

Marked all existing user-facing search attribute usage as deprecated (passing them issues runtime deprecation warnings)
Added TypedSearchAttributes, SearchAttributeKey, SearchAttributePair, and SearchAttributeUpdate abstractions to temporalio.common module
Update client side to accept either typed form or old form, and updated description/schedule objects to have a separate typed_search_attributes property
Added typed_search_attributes property to workflow info
Updated upsert_search_attributes to accept either typed form or old form and have it update both info entries when set from the other (with some caveats setting typed from untyped)
Tests for mutating in both ways

Schedule Workflow Action Typed Search Attribute Conundrum
This has mostly gone smoothly with the exception of one place: schedule workflow action search attributes. There are two outstanding issues that have to be solved here:
Mutually Exclusive Fields
Today, we have the following property for schedule action start workflow:
@dataclass
class ScheduleActionStartWorkflow(ScheduleAction):

    # ...

    search_attributes: temporalio.common.SearchAttributes

Where temporalio.common.SearchAttributes is basically Mapping[str, List]. This class is used for reading/describing schedules as well as creating/updating schedules. The class is immutable (all updates are done via copy-on-write type mutations). Usually we would add the following mutually exclusive field:
    typed_search_attributes: temporalio.common.SearchAttributes

And then tell users to use one or the other. The way a schedule update occurs is we first describe the schedule, then pass it to their update function, then they can use my_new_action = dataclasses.replace(my_action, search_attributes={"foo": ["bar"]}) to create a new one. But how do we know which field they are using on update when converting to proto?

We can't always assume one field is set or the other because we have backwards compatibility to retain
We can't convert one to the other (see next section), but even if we could, how do we know which is the true source the user is intending to set on update?

Options:

Make search_attributes be a Union of typed and untyped

So is it the untyped form or the typed form set on describe?

Make typed_search_attributes optional

When would we ever set it on describe then?

Store the original proto/search-attribute values on the object somewhere

There is no rule saying they have to use the original object to update their schedule, it may be a new object

Use the absence of one of the fields to determine whether to update

Then how do you unset all search attributes?

Use getters and setters to determine what was provided by the user

Users use __init__ only to set fields on this object

Use unset/None on __init__ to know which one the user wants to set

What if they use dataclasses.replace(...)? That uses __init__ and will set both fields

Any other options?
Type Metadata Missing
Usually, all uses of search attributes on the server are validated on the way in and are guaranteed to have type metadata set on the way out. The only exception is schedule workflow action search attributes which, since it's basically a template, just store as you give. A bug has been opened to address this at https://github.com/temporalio/temporal/issues/4787, but SDKs must work with all servers, old and new.
So untyped search attributes for workflow schedule actions are missing this type metadata which means typed search attributes will never be accurate. So what do we do? Just leave typed search attributes unset? Remember, this can be the result of a describe from other languages who may set that metadata.
So what do we do when we are given an object to update that has old-style search attributes? What do we do when we are given a proto with only new-style typed attributes but they update it with old-style untyped attributes?

(moving back to draft until this is figured out)

Marking ready for review now that schedule start workflow action issue mentioned above has been resolved via a 💥 breaking change to replace the rarely used ScheduleActionStartWorkflow.search_attributes with ScheduleActionStartWorkflow.typed_search_attributes (release notes will be very clear here)


[CurrentRuby] Ensure the local platform isnt ruby before checking os/cpu

Closes #5344
fixes the problem since Bundler.local_platform can now be "ruby" on Windows, instead of a full-blown Gem::Platform object, when force_ruby_platform is set

@bundlerbot r+


New suite of 2.8 degree tutorials

Moving discussion of scope, content and steps for creating new suite of 2.8 degree lat-lon tutorials in issue list - see email thread below for current thinking....
Sounds good.

Maybe physical setup, bio and simple adjoint as first pass.

Gael is doing some new setups for assim/state estimation around LLC
that could be
the way to go there - this can link into a more advanced LLC suite
that includes Arctic
too.

Chris

On Fri, Mar 2, 2018 at 12:14 PM, John Marshall wrote:
> Jeff,
>
> I think your idea of running 1 through 4 at 2.8 x 2.8 makes sense. Then the
> whole string 1 through 6 makes a logical package at not-too-bad resolution,
> reflecting speedups on modern computers.
>
> Does everyone agree?
>
> John
>
> On Thu, Mar 1, 2018 at 7:56 PM, Jeffery R Scott  wrote:
>>
>>
>> Jon, John, and I meet for a bit today to discuss the global (80S-80N)
>> lat-lon tutorial experiments (esp. biogeo setup).
>>
>> There are several existing flavors documented in various levels of detail:
>>
>> 1. global ocean setup (z-coor)
>> 2. global ocean setup (p-coor)
>> 3. global ocean state estimation
>> 4. global ocean tracer adjoint sensitivity
>> 5. global ocean biogeochemistry
>> 6. global ocean run offline with biogeochemistry
>>
>>
>> Jon has done extensive work with #5, with some minor choices different in
>> setup (e.g. well-mixed atm box, kpp on, add iron and keep oxygen).
>> This tutorial is in decent state so will hopefully just take some
>> updating/minor edits. I can convert this tutorial in the next few days, and
>> Jon said he’d be willing to try to edit.
>>
>> For all these above, it would be nice to have the same basic global setup;
>> unfortunately it seems #5 and 6 and 2.8deg whereas 1-4 are 4x4deg.
>> My suggestion is that we look into changing the res (and thus forcing
>> files) so they are all using the 2.8 bathy, and make it so if not so
>> terrible a task. (thoughts?)
>>
>> Jon is not familiar with #6 but said would look at it with me once we’ve
>> fixed up #5.
>>
>> The other family of global setups where there is nothing present include
>> realistic LLC 1 or 2 deg EXF/core runs. These will take additional work, but
>> we can discuss at later date.
>>
>>
>> Jeff
>>
>>
>>
>>
>
>
>
> --
> ==========================================
> John Marshall
> Cecil and Ida Green Professor of Oceanography
> Massachusetts Institute of Technology
> http://oceans.mit.edu/JohnMarshall/
> ==========================================

Broadening this issue a bit, points that came up in discussion today:
There are four different objectives from this section:

have some simple tutorial examples that are simple, easy configurations where all input/setup is fully explained. In other words, a starting point for someone new, user should try compiling and running and looking at output.  Not typically expecting this setup to be useful/representative for cutting edge research application.

Slightly more complicated setups than #1 that utilize bells & whistles packages and/or somewhat different configurations of the MITgcm. Does not have to go through line-by-line explanation of standard settings (as done in #1) but does need to fully explain the new/more complicated features.
Main point again is to be explain how these features are used, not necessarily 'out-of-the-box' usefulness of setup for research application.

Setup that is relevant as an 'out-of-the-box' configuration for research applications (or at least close to such with some minor modifications). Here effort is made to use 'best' parameter/parameterization choices and have a good setup, even if this adds quite a bit more complexity than #1 (e.g. use of NL free surface). While there is mention of the parms and parameterization choices, ("entry-level") tutorial exposition is not the objective here.

Verification experiments used in testreport to make sure than code mods don't break the code. Need a good sampling of all major codes/setups/packages etc.

Obviously there can be some overlap among these -- but in discussion to-date, I'm not sure these subtleties were fully appreciated/considered -- but what do people think?


[VueForms] Refactor / improvements

After using the module for a while, it has become evident that we could benefit from some refactoring and improvements.

Add a single template instead of the flow editor
Reorganize tabs and fields
Switch to the Moncao editor
Add a handy debug mode + allow users to add debug information in their server side scripts

Can you provide a
sample solution/project that uses VueForms, Scripts and Workflows to implement CRUD operations of content items of some custom content types
and
Tutorials similar with
Orchard Core CRUD Operations with a Custom Content Type (https://www.youtube.com/watch?v=wXreQDjtuFc)
or
Orchard Core Workflows Walkthrough: Content Approval (http://www.ideliverable.com/blog/orchard-core-workflows-walkthrough-content-approval) ?
Thank you very much!

Can you provide a
sample solution/project that uses VueForms, Scripts and Workflows to implement CRUD operations of content items of some custom content types
and
Tutorials similar with
Orchard Core CRUD Operations with a Custom Content Type (https://www.youtube.com/watch?v=wXreQDjtuFc)
or
Orchard Core Workflows Walkthrough: Content Approval (http://www.ideliverable.com/blog/orchard-core-workflows-walkthrough-content-approval) ?
Thank you very much!

Yes, for sure. I plan on writing a recipe that creates a complete example soon.

Thank you very much!

I might do a demo at the Orchard meeting as well that will be available on Youtube.

Created the #283 issue for this

Thank you very much!
for 我可能會在果園會議上做一個演示，以及將在Youtube上提供。


G2-931 Reduce usage of contract enums & G2-914 Parse license families

Depends on https://github.com/g2forge/alexandria/pull/270


Metadat Access Denied when using VSS

Output of restic version
0.17.2
What backend/service did you use to store the repository?
Back Blaze
Problem description / Steps to reproduce
Ouput of Restic Backup
open repository
using parent snapshot 3eac77d0
load index files
start scan on [E:\hMailServer\hMailserver]
start backup on [E:\hMailServer\hMailserver]
creating VSS snapshot for [e:]
successfully created snapshot for [e:]
error: incomplete metadata for E:: multiple errors occurred: [get named security info failed with: Access is denied.; get EA failed while opening file handle for path \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1973, with: The process cannot access the file because it is being used by another process.]
scan finished in 144.040s: 64785 files, 16.102 GiB
Files:          19 new,     1 changed, 64765 unmodified
Dirs:            0 new,    27 changed,  1563 unmodified
Data Blobs:     31 new
Tree Blobs:     28 new
Added to the repository: 16.425 MiB (14.255 MiB stored)
processed 64785 files, 16.102 GiB in 2:30
snapshot 80756a1c saved
Warning: at least one source file could not be read

Expected behavior

Actual behavior

Do you have any idea what may have caused this?
Update to 0.17.2. Rolled back to 0.17.1 and backup runs without throwing an error

Did restic help you today? Did it make you happy in any way?

Duplicate of https://github.com/restic/restic/issues/5107


avif error="heifsave: Unsupported compression\n"

Hi,
I built libvips 8.10.5 , and imgproxy 2.16.2 , everything works ok except avif formats.  requesting an avif output of a jpg origin, I get
error="heifsave: Unsupported compression\n"
the vips commandline tool can handle the image and convert it ok,  and I wrote a small php script with libvips that also appears to handle it ok.
There are no errors in building imgproxy, I can only assume it's a linked library issue, how can I debug further ?

libvips should be built with libheif support (looks like you did this). libheif should be built with rav1e or libaom support.

yep, that was it,  build libheif with libaom support, and it's all good, thanks !


PATCH on a url returns invalid JSON PATCh error

Ran a PATCH on an API
The following three headers were included.
Authorization: Bearer aqMnvJCTuyEYV0NxeQXfdDFe433DFfse34piCcAXv0J25Q
Accept: application/json
Content-Type: application/merge-patch+json
The body is a json body.
This however returns a 500 error saying Invalid JSON patch.

This doesn't sound like a bug with rest-client, but feel free to reopen with more information if it is.


Create Arm64 1ES Hosted Pool(s) in dnceng

There are currently no Arm64 1ES Hosted Pools with pipeline template support available in dnceng: https://helix.dot.net/#1esPools
The .NET Docker and .NET Source-build projects (and potentially others) need arm64 1ES hosted pools in order to fully adopt 1ES pipeline templates. 1ES Pipeline Templates support arm64 on Azure Linux/CBL Mariner 2.0: https://eng.ms/docs/cloud-ai-platform/devdiv/one-engineering-system-1es/1es-docs/1es-pipeline-templates/onboarding/arm64-support
Related: https://github.com/dotnet/dnceng/issues/1953, https://github.com/dotnet/dotnet-docker-internal/issues/4475
/cc @MichaelSimons @ilyas1974

Release Note Category

[x] Feature changes/additions
[ ] Bug fixes
[ ] Internal Infrastructure Improvements

Release Note Description
Add new 1ES hosted pool for .NET ARM workloads

@lbussell

Where are you currently running the workloads that need this?
How many machines do you think you need?
Any requirement for which machine SKU?

I think these are the workloads you want to move off the Docker-Linux-Arm-Internal pool, so I will start off using the same configuration as this pool.
Do let me know if we need any other considerations here.

@riarenas
FYI this is no longer blocking 1ES PT conversion for the .NET Containers team - however this would still be nice to have when dnceng is ready to re-evaluate all of the agent pools post-1ESPT.

Where are you currently running the workloads that need this?

Both public and internal

How many machines do you think you need?
Any requirement for which machine SKU?

I would expect this pool to be configured similarly to the 1es-ubuntu-2204 pool that we currently have. i.e. a fully supported default option that anyone can choose when they want a build to run on arm64. We would like to be less "special" and reduce the number of places where we need custom build images. Having an arm64 image available would mean we no longer need any special treatment for Linux builds.

Alright, then I'll use the same basic premise that we use for our other pools, and we will have a new public and internal generic pool that has the 1es mariner image as its only image. We will use similar configurations as our existing pools:

No standby agents
4 core machines

I'm keeping this one assigned to me so I remember to attach this to the resulting epic from https://github.com/dotnet/dnceng/issues/2488

The .NET Perf team needs 1ES Arm64 pools for our conversion of the dotnet-optimization repo over to using 1ES templates. What would be the work required for this, and what would you need from us?