SA1609 - The most annoying new feature.

SA1609 was not turned on by default in the old StyleCop.  It is, without question, the most annoying new feature of the new StyleCop in that the value added is negligible vs. the amount of work needed for compliance.  All of my properties have a standard 'Gets or sets' documentation.  The 'Value' description is redundant.  Is there some justification for this rule being on be default or was it just turned on by mistake?

There wasn't a specific decision to enable it by default as a difference from StyleCop "classic". It was simply enabled because enabling diagnostics is part of our default workflow to date and no one pointed out that it differs from StyleCop "classic".
:question: Have you checked out the automatic code fix for it by any chance? If so, what are your impressions of it?

For anyone who has a large code base and is converting from the old StyleCop, this jumps out as a major drain of energy.
The automatic code fix is amazing.  I've run it a couple times on a Solution-wide setting.  (With the exception of 1609) it takes away one of the biggest obstacles to StyleCop compliance in that it makes making a large change in your code base as easy as Refactoring.

Note that I'm specifically referring to the code fix for SA1609 in my previous question. :smile:

Yes.  I used the automatic code fix for that one as well.  It works great except that I have to delete the  tags.  The biggest issue I have is that SA1609 has no use: you have to work really, really hard to come up with a situation where the 'Gets or sets' description doesn't describe the value that's returned.

But I can't emphasis this enough: for someone who's been using the product to convert a large code base and make it compliant, the automatic code fixing is amazing.

Yes. I used the automatic code fix for that one as well. It works great except that I have to delete the  <placeholder> tags.

:bulb: There is a code fix for removing these as well. A fix-all for values followed by a fix-all for placeholders will typically get your project into the right state, provided you review the changes before committing them to source control.

@oatkins @pdelvo @Noryoko @vweijsters How do y'all feel about enabling or disabling this rule by default?

Sounds good to me. Looks like SA1610 is also disabled by default in classic StyleCop.

I'm in favor of disabling by default.

Also in favour of disabling it.

From: Vincent<EMAIL_ADDRESS>Sent: 8/23/2015 3:45 AM
To<EMAIL_ADDRESS>Cc: Olly<EMAIL_ADDRESS>Subject: Re: [StyleCopAnalyzers] SA1609 - The most annoying new feature. (#1262)
I'm in favor of disabling by default.

Reply to this email directly or view it on GitHub:
https://github.com/DotNetAnalyzers/StyleCopAnalyzers/issues/1262#issuecomment-133797883

I'll go ahead and disable it by default. I'm leaving SA1610 enabled though; it only gets reported if you specifically include a <value> element but it doesn't have any content.


Automated platform detection using predefined macro's

Since Hazel is supposed to be a multi-platform engine, i figured that this would be better than having to manually define the macro's for each platform, cluttering the premake file with needless stuff.

Premake has lots of benefits and removing items may break premake features such as generating configuration files for unique IDEs. Merging this Pull Request may have consequences.

Premake has lots of benefits and removing items may break premake features such as generating configuration files for unique IDEs. Merging this Pull Request may have consequences.

How does it break premake? this is for cross platform compiling. most people now use makefiles instead of IDE to compile static and shared libraries and premake was originally made to support generating makefiles

both approaches have their pros and cons

in the header file it doesn't have a build dependency, if hazel is linked into another build system this is now reliable
in premake it doesn't rely on the header file being included

I don't see how this could possibly break premake features, its a compiler definition not something side the premake files, it will mean that the define is not in the project file, but it still exists within the scope as the header file is included. There are some tools (e.g. very naive linters) that don't follow includes to bring in this stuff but I don't know if any legit IDE which doesn't.

I see. For what is being removed from the Premake file, there likely isn't an IDE configuration that would be disabled. I plan to take a closer look at Premake soon. There's a Premake add-on script that exports to my favorite IDE.

Looks amazing. I see no reason this couldn't be merged.
Hopefully it can get merged soon.


[Error] ENOENT: no such file or directory, lstat 'C:\d'

VSCode Version: Code 1.4.0 (6276dcb0ae497766056b4c09ea75be1d76a8b679, 2016-08-04T16:45:31.680Z)
OS Version: Windows_NT ia32 6.1.7601

Steps to Reproduce:

Yestoday I add a directory and use the git in vscode. Everything was OK.
Today vscode reports this error after it is launched everytime.

And the git panel just shows a progress bar looping forever.

Which folder do you have open in VS Code?

The only folder opened in VS Code was D:\stm8\iar1 with about 10 files in it.
git commands is in c:\msys64\usr\bin.

I added  c:\msys64\usr\bin to system PATH.

Can you show me a screenshot of the error?

No git process in task manager then.

Do you have any extensions installed?

I have only installed the following two extensions:
(1) c/c++ (0.8.1)
(2) Toggle Header/Source (0.1.2)

And do you get the same error when running code --disable-extensions?

Yes. The same error even after I uninstall the two extensions.

@bpasero There seems to be some confusion in which the user's workspace (D:\stm8\iar1) seems to be parsed in some way to make FS calls into C:\d... any idea?

@netjune would you be able to run vs code out of its sources so that we can do some instrumentation in the places where we call lstat?
@joaomoreno I do not understand where we call lstat in the renderer that could produce such a message, a quick search I could not find such.

Yes that beats me too. But errors from the ext host and shared proc both get propagated back, so it could come from anywhere.

@netjune can you also open the developer console (from help menu) to see if something gets logged?

@netjune would you be able to run vs code out of its sources so that we can do some instrumentation in the places where we call lstat?
I don't have enough time to try this now.

@netjune can you also open the developer console (from help menu) to see if something gets logged?

@joaomoreno funky, looks like gitApp.js???

@netjune What git version do you have installed?

git version: 2.8.2

Can you try opening another folder? Maybe one inside C:? Do you get the same error?

Can you try opening another folder? Maybe one inside C:? Do you get the same error?

ENOENT: no such file or directory, lstat 'C:\c'

Which folder did you try to open?

C:\ti\0730

Can you open some folder in your User home? For example C:\Users\joao\Desktop?

Can you open some folder in your User home? For example C:\Users\joao\Desktop?

ENOENT: no such file or directory, lstat 'C:\d'

Does it reproduce with the latest Insiders release?

Does it reproduce with the latest Insiders release?
No. Same error as 1.4.0.

Do you have another machine you can try VS Code on?
I have a feeling your machine has a very strange setup somehow.

Yes, I use git in command line everyday. And git works well  in visual studio 2015. Both on the same computer.
Maybe it is because I installed vscode of a new version upon a very old version. But I have removed and reinstalled it then, and it didn't help.
How to remove vscode cleanly?

Run the uninstaller, then also check for Visual Studio Code folders in %APPDATA%. And in your home directory, check for .vscode-* folders.

Also are you willing to do a live screen sharing chat where we can debug this together?

Run the uninstaller, then also check for Visual Studio Code folders in %APPDATA%. And in your home directory, check for .vscode-* folders.

I just found "Code - Insiders" in %APPDATA% and delete it. No .vscode-* in my home directory.
Then I reinstalled vscode and the error is the same.

Also are you willing to do a live screen sharing chat where we can debug this together?

Yes. Then what should I do?

Let me know your availability and I'll see when I can fit. We'll set up a time and I'll send you a conference call link.

Too busy the last saveral days. Sorry for the delayed reply.
I am available the the next 1~2 hours today. What about you?

Me too: https://hangouts.google.com/hangouts/_/joaomoreno.com/vscode10281

I saw you joined by left right after.

Network problem. Google is hardly accessed in Chinese.

Maybe I can make a screencast, and upload it to some place like www.youku.com. Is it usefull?

Please, yes.

Finally upload the screencast here: https://drive.google.com/file/d/0B3c99U0nm3QXUjJJaEU4TkJLbWM/view?usp=sharing

I can create a git repo and use git functions for the first time.
After reopenning the git repo folder, git functions are abnormal in vscode.
screencast: https://drive.google.com/file/d/0B3c99U0nm3QXcUtXUmZzWlV2Qjg/view?usp=sharing
Maybe vscode lost something of the project(folder) between saving and loading it?

Can you search your whole machine for all git.exe files? Maybe you have more than one git installed. What are the ones you find?

I searched my whole machine and found 2.
C:\msys64\usr\bin\git.exe
C:\msys64\usr\lib\git-core\git.exe
I compared the two files. They have the same content.

In vscode, a new git repo can be created, and all git functions work well BEFORE reopenning the same git repo folder.
When git function is not usable, I can close the current folder and create another git repo in the same vscode instance.
So git.exe can be found and properly used by vscode.

Hm... Can you try using the official git release and see whether it reproduces there? We don't support msys git.

@tapir Can you try with the official git instead of msys, which we don't support?

@joaomoreno I'll do one better.
I've tried with the official git.exe by appointing the git.path to "C:\Program Files\Git\bin\git.exe" and it worked. Then I copied the mingw-w64 git.exe over to "C:\Program Files\Git\bin\git.exe", restarted VSCode and it still worked! So the problem is somehow with the path it self. Not the exe. For some reson it just doesn't like "C:\msys64\usr\bin\git.exe"

Might be much more than that since git uses many other tools that live in that path.
Closing as we don't support msys git.

I don't know what you mean. This is a VScode bug. Not MSYS2.
What if I were to install official Git in C:\msys64 ? Because that's what I just did and it doesn't work.
I also copied mingw git.exe to any other path and again it worked. So it's not the git it self. It only happend when it's in msys64. And if some other thing in that path make it not work that's VSCode's bug because VSCode should only use git.exe and nothing else.

Also please stop with "we don't support msys git" thing. MSYS2 is the major player when it comes to C/C++ in Windows after Visual Studio. Not supporting it is not a great idea.

Reopening due to:

What if I were to install official Git in C:\msys64 ? Because that's what I just did and it doesn't work.

I will install it in that path to confirm this.
We don't support msys git. But you are free to contribute a PR which makes it work.

If there is anything to support I will make a PR. But I really don't understand what you mean by that? How do you think both executables behave differently? To my understanding they work exactly the same way.
Also why should VSCode care about where the exe comes from?
It all seems pretty straight-forward to me. We have a "git.exe". Regardless of where it comes from  if it works on terminal, it should work with VSCode.

I could not reproduce:

So it obviously doesn't have to do with where the exe comes from.
It is my understanding that they work the same way too. But clearly they don't. So someone needs to look into it. Since I don't even estimate 0.01% of our users using this version of git, I don't think it is wise to dedicate my time for it.
Let's track that here: #13037

I have also this bug, but the git binary is the one bundled inside MSYS2.

I just opened Code and am experiencing exactly the same problem.

if you just don't want see the annoying warning and don't need the to use git inside vscode, just disable it.
// Place your settings in this file to overwrite the default settings
{
    "git.enabled": false
}

Also change git.path may also help, but I never find the git integration very useful (just personal taste) so I didn't give it a try.
And VSCode does not have any problem with both the old (msysgit) and new git for windows, which is a fork of msys2, and that's why they can't reproduce it. When you use the original msys2 and install git with pacman, VSCode will have trouble with git.
And if you just want to use git on windows, stick with git for windows, it has more friendly default settings and works well with most editor and IDEs, while for the raw msys2, sometimes you mess up with PATH and other environment variables.

I think vscode(or its dependant lib) has issue on handling code path, when using git from msys2 or cygwin.
For example:

When project path is  Z:\proj,  and
git.exe in D:\tool\msys64\bin,
vscode will apear error of "ENOENT: no such file or directory, lstat 'D:\z'"

mklink /j "D:\z" z:  can resolve this, and then any other projects in z:\  or sub directory in z:\ like z:\projects\proj1 will also benefit.
But if project path is in other partition, like E:\porj, issue will apear again:"ENOENT: no such file or directory, lstat 'D:\e'"
mklink /j "D:\e" e:  can resolve this.
Hope it can be fixed soon, why:

It has been reported again and again by msys2 and cygwin users.
Lots of them use Sublime/Emacs based on msys and cygwin to create cross platform web/c++/go/rust projects, they use package manager like pacman in msys2 to install(or update) mingw+clang+gdb+lldb+git+make, which support VCS greatly if they can keep consistent.
Git for window includes another mingw, also is not inclueded in msys/cygwin toolchain or shell PATH.
Sublime/Eclipse and its git plugins work well on both msys git or window git, it's not a Git issue, its an editor issue.

I was also experiencing this issue! lstat C:\home: No such file or directory would constantly pop up in the top of the editor window, and would reappear whenever I closed it. (I, as well, use Git for Windows/msysgit.) I ended up following @at15's advice and disabled git within vscode.

Does this help anyone? #4651

Have the same bug and I don't use msysgit, I use cygwin64.  If I have open in vscode my c:\cygwin64\home...\git folder and then restart vscode, I will, after several seconds of waiting, see the ENOENT: no such file or directory, lstat 'C:\home' error.
If I click on the "collapse" icon for the folder, I will see the same error message.
If I click on the Git icon on the left of vscode, I get the same error.

Cygwin is not yet supported #7998

Make sure that the .json file doesnt have a path to an invalid directory under files:
I had path pointing to
"path": "scripts", "addressable": true
"path": "sdk/scripts", "addressable": true
which I copy/pasted from a tutoria.
In fact I do not have Scripts folder under Home. Removing it packaged the project without errors.
It took some time to figure out, but the error description states what is missing. Please read it clearly and you can resolve on your own.

@joaomoreno #4651 solves it for me, might want to stick it somewhere in the official docs where crawlers will find it.

I'd like to add a few points.

I'm pretty sure that "I don't know, therefore msysgit" is not the proper approach to this issue.

This error is reproducible with zero Git involved. To me it occurs with go build.

Steps to reproduce:

Get a VM image for win10 15.15063 from modern.ie

start it up, install updates, restart

install vs code with defaults

install go runtime  with defaults

start vs code

install go extension, restart vs code

create a new .go file:

package main
import "fmt"
func main() {
	fmt.Println("foobar")
}

ctrl+f5

Expected output: foobar printed
Actual output:
The program "${file}" does not exist: Error: ENOENT: no such file or directory, lstat 'C:\Program Files (x86)\Microsoft VS Code\${file}'

@bviktor This user's issue was indeed related to git. You have another issue, so can you please open a new issue? Ping me in it please.

Alright, #25138 opened.


Management of OT data source suggestions

@MichaelaEBI commented on Tue Jul 10 2018
Data sources are continually suggested for Open Targets data sources and we ran workshops asking for data source suggestions. The goal of this issue is to:

Provide an overview of current data source suggestions

All data source suggestions are captured in this Google Sheet.
A summary of the data source suggestions from the Industrial workshop on 05 December 2017 can be found here.
Details for top data source suggestions from the Nov 2017 Open Targets Integration Day and the Dec 2017 Industry workshop can be found here.

Triage all current data source suggestions

This is in process in this Google sheet.
[x] Get gene expression data suggestions assessed by Expression Atlas

Implement a process for future data source suggestions
A first version of a form for data source suggestions.

Keep partners updated on progress
Overview of progress: integration of new data sources

Closing this ticket because everything is under control and all the information in this ticket has been added to the Data FAQ document.


Fix Language::Java::java_home_cmd for Linux

/usr/libexec/java_home is specific to macOS.

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

Linuxbrew/brew has been using this fix since 2015-03-07.

The shell script created by write_jar_script looks like this:
#!/bin/bash
JAVA_HOME="$(/usr/libexec/java_home --version 1.8)" exec "/usr/local/Cellar/igv/2.4.14/libexec/igv.sh" "$@"

rather than being hard coded like for example this:
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home exec "/usr/local/Cellar/igv/2.4.14/libexec/igv.sh" "$@"

The former is better, because the latter would break when the Java interpreter is upgraded.
I feel that providing a script that is functionally equivalent to macOS's /usr/libexec/java_home is the most straight forward approach to achieving this same functionality on Linux.

I feel that providing a script that is functionally equivalent to macOS's /usr/libexec/java_home is the most straight forward approach to achieving this same functionality on Linux.

I don't like the idea of having a new Homebrew command that's only relevant to make Linux formulae behave a bit more like Homebrew's. There must be a way that e.g. Debian and Fedora already handle something similar.

This PR implements equivalent functionality to macOS, which I think is the best possible scenario. If your objection is that brew java-home is user-facing and documented, we can find a way to hide this tool so that it's internal to Homebrew.

I've pushed take three of this PR. It uses /usr/libexec/java_home on macOS.
Language::Java::java_home_cmd is not implemented on Linux and raises NotImplementedError.
Language::Java::java_home uses java_home_cmd on macOS and JavaRequirement.java_home on Linux.
Language::Java::java_home_env uses Language::Java::java_home.

@MikeMcQuaid Thanks for the feedback. Good to merge?

One final comment: feel free to address or merge as-is, don't feel strongly. Thanks for bearing with me here and sorry for all the back and forth. We're getting close 😍

Thanks for the review, Mike. Merged!


Add nightly builds workflow and allow RC releases

Let's disable the multi-arch build for each PR.

It'd be good to see a rationale for this, especially for disabling multi-arch builds.

We've moved the multi-arch build to nightly, as the build takes anywhere from 20 to 35 minutes making the release process too slow. Note that this is the only repo where I've enabled multi-arch builds for PRs. This PR brings IRC CI on pair with all the others controllers.

In the other Flux projects we were only building the multi-arch image during the release, this has (unsurprisingly) resulted in two releases that failed at the last moment.
To mitigate against this, we introduced a "nightly" build that runs once every night and on-demand, so that small PRs and/or things that have little relevance to 32-bit do not burn useless minutes in CI, as the build time is increased by ^5-10 for multi-arch builds.
When I created this PR I was unaware the multi-arch build was already run for the "normal build", I was just trying to get things in-line with our other projects.

The other option I suggested instead of "nightly" is to run the multi-arch build on merges to main, but not for pull requests themselves. That may be more up to your likening.

When I created this PR I was unaware the multi-arch build was already run for the "normal build", I was just trying to get things in-line with our other projects.

Yea it's fault, I should've undo it here after the Badger bug fixes.

OK, thanks for explaining @hiddeco and @stefanprodan. I do prefer the "full build on merge to main" alternative, but nightlies is fine too.

What if we refactor things in a next iteration so that merges on main always build a multi-arch image, while the "nightly" also pushes the image (as we did for Flux in the past so that people have access to "early releases")?

Merging this to align things, https://github.com/fluxcd/flux2/issues/1498 discusses a future revision.


Remove brier plot; hover-over labels for precision/recall & ROC curves

r? @DanielleSucher
This removes the brier plot and adds labels to the precision/recall and ROC curves so that you can see the threshold and coordinates on hover-over.

I'd make the commit message for the commit that removes the brier plot a clearer - it's not that it was broken, it's that was unused and making styling other necessary changes more of a pain. That way if someone else someday wants to use it, they'll know it's safe, at least.
Other than that, assuming you've tested it :smile: lgtm!


add optional message

Hi
I thought you may like to add this PR to your project.
It is adding optional message to each entry.
examples:
check in 18:30 "working on ticket 7865" <- adding message
check in "working on ticket 7865" <- adding message
check in 18:30
check in
check out "message" is optional. It will rewrite check in "message"
check out 20:00 "ticket 888"
check out "ticket 888"
check out 20:00
check out
example:
➜  checkin.py git:(master) ./check in 17:00 "working on ticket #673"
November 2017
====================
Sun, 12. Nov	17:00 -  NOW  = 1:42:00  'working on ticket #673'

                         Total: 1h 42m

Total missing: 158h 18m

➜  checkin.py git:(master) ./check out "finished ticket #673"
November 2017
====================
Sun, 12. Nov	17:00 - 18:43 = 1:42:26  'finished ticket #673'

                         Total: 1h 42m

Total missing: 158h 17m

p.s. I think about simple integration with alfred app on mac

OK, this looks much worse now. I didn't understand that your initial idea was to be able to use both "checkin.py 12:45" and "checking.py 'Fixed shit'" syntaxes. This makes a lot of sense and your initial implementation is much better than this. I thought you'd only ever pass time or both time and message, but you actually want to pass time, message, or time and message. My bad. I'll merge it with the old implementation if you remove the latest commit :)

I agree.
It become slightly over-engineered :)
I returned first version. 👍

Thanks! Would you mind adding the new feature to the README? An example with time only, message only, and both time and message would be great. Also, explain what happens if you provide a message both on checkin and checkout.

Hi @jonashaag
I keep thinking about mobile interface for this app. I really like simplicity.
What do you think about web version? Could it be usefully for you?
It would have the same idea - one field and check in button or one field and check out button. The field text format is the same like cli. So it would be possible to use cli via api and phone and web. Web smartphone friendly UI + ability to download hours.json file for backup/analytic.
My current use case is tracking time and keeping myself focus. I see myself using it on phone via browser. I really like the simplicity. What is your main use case ?
Let me know your thoughts about it.

That could be fun but I think you should do it in another project. This project is basically a quick hack with terrible architecture. Things get much more complicated with API and multiple clients.

I'll take a look it. So far i saw only complex system. Definitely it would be a separate GitHub project.


componentWillReceiveProps should contain a condition: re-append messages only when messages prop is updated

Per Slack chat with @FaridSafi

fixed in 0.1.0


AttributeError: 'DeviceArray' object has no attribute 'observation'

When running the code I get:
AttributeError                            Traceback (most recent call last)
/tmp/ipykernel_49/2609719913.py in
6
7 temp_timestep = env.reset()
----> 8 state_dim = flat_obs(temp_timestep.observation).shape[0]
9 action_dim = env.action_spec().shape[0]
10 max_action = float(env.action_spec().maximum[0])
AttributeError: 'DeviceArray' object has no attribute 'observation'

Can you please give some details about:

What command you're running
Any local changes you've made
The machine you're running on (OS, CPU manufacturer, GPU if applicable)

I am trying to implement custom env with your code. I now get:

AttributeError                            Traceback (most recent call last)
/tmp/ipykernel_46/149212032.py in
49 train_loop = TRAIN_LOOPS[args.policy]
50
---> 51 train_loop(args, policy, replay_buffer, env)
/tmp/ipykernel_46/1511689711.py in base_train_loop(args, policy, replay_buffer, env)
1 def base_train_loop(args: dict, policy, replay_buffer: ReplayBuffer, env):
----> 2     evaluations = [eval_policy(env, policy, args.domain_name, args.task_name, args.seed)]
3
4     timestep = env.reset()
5     episode_reward = 0
/tmp/ipykernel_46/3982767400.py in eval_policy(env, policy, domain_name, task_name, seed, eval_episodes)
7     for _ in range(eval_episodes):
8         timestep = eval_env.reset()
----> 9         while not timestep.last():
10             action = policy.select_action(flat_obs(timestep.observation))
11             timestep = eval_env.step(action)
AttributeError: 'DeviceArray' object has no attribute 'last'
Why would resetting the env return the total timestep?
timestep = eval_env.reset()
This should return observation?

I am trying to implement custom env with your code. I now get:

If possible, try changing your environment to adhere to the same format as the DeepMind Control Suite. You can find their base Environment class here:
https://github.com/deepmind/dm_control/blob/4cf89ef1a0d99f7e9f70b3f5ad0bf2a685cbd935/dm_control/rl/control.py#L28
And the timestep object should be a NamedTuple as defined here: https://github.com/deepmind/dm_env/blob/abee135a07cc8e684173586dc8a20e696bbd40fb/dm_env/_environment.py#L25
Hope this helps!

In addition, how can I use env/custom env without dm_control suite which requires mojoco engine?

I think my above answer should help with adding a custom env. MuJoCo is now free and open source if that was your main concern. The README of this repo has details on how to install.

Mojoco is a pain to install on linux and I don't really need it. Is there a workaround?

For a custom env then as long as your timestep object has the same format as the class I linked above it should work but I haven't tested it

As long as you have your own environment that you can initialize in place of the calls to suite.load you won't have to make any other changes. In terms of the code I linked above it doesn't depend on other libraries that much so you should be able to just copy those classes or the general structure of them and wrap your environment in it.
There's also this package but it's the wrong direction from what you're looking for. Might still be useful to consult for the differences.

I am not sure that I understood your last post. My custom env is a gym.env and I can instantiate it.  What other changes to my or your code do I need?

I made a PR adding gym support. Please let me know if this works for you: https://github.com/henry-prior/jax-rl/pull/13 I'll work on cleaning it up and merging it this week.

When do you believe you will have something to test?
From: Henry Prior @.***
Sent: Tuesday, March 15, 2022 3:02 AM
To: henry-prior/jax-rl @.>
Cc: hn2 @.>; Author @.***>
Subject: Re: [henry-prior/jax-rl] AttributeError: 'DeviceArray' object has no attribute 'observation' (Issue #12)
I made a PR adding gym support. Please let me know if this works for you: #13 https://github.com/henry-prior/jax-rl/pull/13  I'll work on cleaning it up and merging it this week.
—
Reply to this email directly, view it on GitHub https://github.com/henry-prior/jax-rl/issues/12#issuecomment-1067455096 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABZTKSU566JN4BKJNXWNLODU77ORRANCNFSM5QT4MRGA .
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675  or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .
You are receiving this because you authored the thread.  https://github.com/notifications/beacon/ABZTKSQDF4UHP6FDSHUIL73U77ORRA5CNFSM5QT4MRGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOH6QBE6A.gif Message ID: @.*** @.***> >
--
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

You can pull the branch from that PR, gym-support and test it now.

Can you please merge the gym-support with  the master branch?
I tried to clone the gym-support branch but it is creating another jax-rl folder and it does not work properly.
I did this in my linux machine:
git clone --branch gym-support https://github.com/henry-prior/jax-rl.git
I now have jax-rl folder and inside of it another jax-rl folder with your code.
I tried:
python jax_rl/main_gym.py --policy SAC --max_timesteps 10000
I get:
Traceback (most recent call last):
File "jax_rl/main_gym.py", line 8, in
from MPO import MPO

File "/home/ubuntu/install/jax-rl/jax_rl/MPO.py", line 16, in
from jax_rl.buffers import ReplayBuffer

ModuleNotFoundError: No module named 'jax_rl'
From: Henry Prior @.***
Sent: Thursday, March 17, 2022 5:00 PM
To: henry-prior/jax-rl @.>
Cc: hn2 @.>; Author @.***>
Subject: Re: [henry-prior/jax-rl] AttributeError: 'DeviceArray' object has no attribute 'observation' (Issue #12)
You can pull the branch from that PR, gym-support and test it now.
—
Reply to this email directly, view it on GitHub https://github.com/henry-prior/jax-rl/issues/12#issuecomment-1070977343 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABZTKSSSZT7CWFHRRFA3BMDVANCIHANCNFSM5QT4MRGA .
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675  or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .
You are receiving this because you authored the thread.  https://github.com/notifications/beacon/ABZTKSQFOYF33ZMXLJ63YMLVANCIHA5CNFSM5QT4MRGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOH7K5CPY.gif Message ID: @.*** @.***> >
--
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

I need to clean the branch up before merging it. Did you run make init first? Also the best way to get the new branch locally would not be to clone it but to:
git checkout master
git pull
git checkout -b gym-support origin/gym-support

What does make init do?
From: Henry Prior @.***
Sent: Thursday, March 17, 2022 10:04 PM
To: henry-prior/jax-rl @.>
Cc: hn2 @.>; Author @.***>
Subject: Re: [henry-prior/jax-rl] AttributeError: 'DeviceArray' object has no attribute 'observation' (Issue #12)
I need to clean the branch up before merging it. Did you run make init first? Also the best way to get the new branch locally would not be to clone it but to:
git checkout master
git pull
git checkout -b gym-support origin/gym-support
—
Reply to this email directly, view it on GitHub https://github.com/henry-prior/jax-rl/issues/12#issuecomment-1071331247 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABZTKSVQHYK2Q34D5JJE6ILVAOFZ5ANCNFSM5QT4MRGA .
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675  or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .
You are receiving this because you authored the thread.  https://github.com/notifications/beacon/ABZTKSWJBMK62WIAXVHWDI3VAOFZ5A5CNFSM5QT4MRGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOH7NTPLY.gif Message ID: @.*** @.***> >
--
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

It builds a new poetry environment and downloads all dependencies as well as initializes jax-rl as a local python package

I am actually planning to run this code in kaggle as notebook.
From: Henry Prior @.***
Sent: Thursday, March 17, 2022 10:06 PM
To: henry-prior/jax-rl @.>
Cc: hn2 @.>; Author @.***>
Subject: Re: [henry-prior/jax-rl] AttributeError: 'DeviceArray' object has no attribute 'observation' (Issue #12)
It builds a new poetry environment and downloads all dependencies as well as initializes jax-rl as a local python package
—
Reply to this email directly, view it on GitHub https://github.com/henry-prior/jax-rl/issues/12#issuecomment-1071337138 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABZTKSRPFUQDD26QPGFEYQTVAOGEJANCNFSM5QT4MRGA .
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675  or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .
You are receiving this because you authored the thread.  https://github.com/notifications/beacon/ABZTKSSGGM7JLDFG5PI5E5LVAOGEJA5CNFSM5QT4MRGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOH7NU5MQ.gif Message ID: @.*** @.***> >
--
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

By copying the code into the notebook? I don't think I can help you with that part of the process

Hi,
I succeeded to start training, then I get this error:

TypeError                                 Traceback (most recent call last)
/tmp/ipykernel_65/4278832167.py in
 45 train_loop = TRAIN_LOOPS[args.policy]

 46

---> 47 train_loop(args, policy, replay_buffer, env)
/tmp/ipykernel_65/15286188.py in gym_train_loop(args, policy, replay_buffer, env)
 36                     )

 37                 else:

---> 38                     policy.train(replay_buffer, args.batch_size)
 39

 40         if done:

/tmp/ipykernel_65/1425453587.py in train(self, replay_buffer, batch_size)
198

199         target_Q = jax.lax.stop_gradient(

--> 200             get_td_target(next(self.rng), *buffer_out, *self.target_params)
201         )

202

[... skipping hidden 13 frame]

/opt/conda/lib/python3.7/site-packages/jax/linear_util.py in call_wrapped(self, *args, **kwargs)
164

165     try:

--> 166       ans = self.f(*args, **dict(self.params, **kwargs))
167     except:

168       # Some transformations yield from inside context managers, so we have to

TypeError: get_td_target() takes 11 positional arguments but 12 were given
From: Henry Prior @.***
Sent: Thursday, March 17, 2022 10:28 PM
To: henry-prior/jax-rl @.>
Cc: hn2 @.>; Author @.***>
Subject: Re: [henry-prior/jax-rl] AttributeError: 'DeviceArray' object has no attribute 'observation' (Issue #12)
By copying the code into the notebook? I don't think I can help you with that part of the process
—
Reply to this email directly, view it on GitHub https://github.com/henry-prior/jax-rl/issues/12#issuecomment-1071383850 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABZTKSTJQ2EKMS3VFSX2NPLVAOIWDANCNFSM5QT4MRGA .
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675  or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .
You are receiving this because you authored the thread.  https://github.com/notifications/beacon/ABZTKSTEK2LPZEI5JFXNOATVAOIWDA5CNFSM5QT4MRGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOH7OAKKQ.gif Message ID: @.*** @.***> >
--
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

I also got this error with my own custom env (the previous mail was with Pendulum-v0):
Any idea what this can be and where to start debugging this?
eval_policy---------------------------------------------------------------------------
ScopeParamShapeError                      Traceback (most recent call last)
/tmp/ipykernel_45/3861124716.py in
 46 train_loop = TRAIN_LOOPS[args.policy]

 47

---> 48 train_loop(args, policy, replay_buffer, env)
/tmp/ipykernel_45/15286188.py in gym_train_loop(args, policy, replay_buffer, env)
  1 def gym_train_loop(args: dict, policy, replay_buffer: ReplayBuffer, env):

----> 2     evaluations = [_gym(policy, args.env, args.seed)]
  3

  4     state, done = env.reset(), False

  5     episode_reward = 0

/tmp/ipykernel_45/1642912942.py in eval_policy_gym(policy, env_name, seed, eval_episodes)
  7         state, done = eval_env.reset(), False

  8         while not done:

----> 9             action = policy.select_action(np.array(state))
 10             state, reward, done, _ = eval_env.step(action)

 11             avg_reward += reward

/tmp/ipykernel_45/1425453587.py in select_action(self, state)
176             None,

177             False,

--> 178             False,
179         )

180         return mu.flatten()

[... skipping hidden 14 frame]

/tmp/ipykernel_45/3842203696.py in apply_gaussian_policy_model(params, action_dim, max_action, state, key, sample, MPO)
195 ) -> jnp.ndarray:

196     return GaussianPolicy(action_dim=action_dim, max_action=max_action).apply(

--> 197         dict(params=params), state, key=key, sample=sample, MPO=MPO
198     )

[... skipping hidden 7 frame]

/tmp/ipykernel_45/3842203696.py in call(self, x, key, sample, MPO)
 69     @nn.compact

 70     def __call__(self, x, key=None, sample=False, MPO=False):

---> 71         x = nn.Dense(features=200)(x)
 72         x = nn.LayerNorm()(x)

 73         x = nn.tanh(x)

[... skipping hidden 3 frame]

/opt/conda/lib/python3.7/site-packages/flax/linen/linear.py in call(self, inputs)
178                         self.kernel_init,

179                         (inputs.shape[-1], self.features),

--> 180                         self.param_dtype)
181     kernel = jnp.asarray(kernel, self.dtype)

182     y = lax.dot_general(inputs, kernel,

[... skipping hidden 1 frame]

/opt/conda/lib/python3.7/site-packages/flax/core/scope.py in param(self, name, init_fn, *init_args)
727         if jnp.shape(val) != jnp.shape(abs_val):

728           raise errors.ScopeParamShapeError(name, self.path_text,

--> 729               jnp.shape(val), jnp.shape(abs_val))
730     else:

731       if not self.is_mutable_collection('params'):

ScopeParamShapeError: Inconsistent shapes between value and initializer for parameter "kernel" in "/Dense_0": (300, 200), (3, 200). ( https://flax.readthedocs.io/en/latest/flax.errors.html#flax.errors.ScopeParamShapeError https://flax.readthedocs.io/en/latest/flax.errors.html#flax.errors.ScopeParamShapeError)
From: Henry Prior @.***
Sent: Thursday, March 17, 2022 10:28 PM
To: henry-prior/jax-rl @.>
Cc: hn2 @.>; Author @.***>
Subject: Re: [henry-prior/jax-rl] AttributeError: 'DeviceArray' object has no attribute 'observation' (Issue #12)
By copying the code into the notebook? I don't think I can help you with that part of the process
—
Reply to this email directly, view it on GitHub https://github.com/henry-prior/jax-rl/issues/12#issuecomment-1071383850 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABZTKSTJQ2EKMS3VFSX2NPLVAOIWDANCNFSM5QT4MRGA .
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675  or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .
You are receiving this because you authored the thread.  https://github.com/notifications/beacon/ABZTKSTEK2LPZEI5JFXNOATVAOIWDA5CNFSM5QT4MRGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOH7OAKKQ.gif Message ID: @.*** @.***> >
--
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus


Links to samples don't work on this page

Do you have the correct links please?
Thanks

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 1a2b138b-2471-5e90-0a7d-07f8ba5e7ce3
Version Independent ID: 695b4a2a-7975-075d-db2c-c16250098824
Content: Azure compute libraries for .NET - Azure for .NET Developers
Content Source: api/overview/azure/virtualmachines.md
Service: virtual-machines
GitHub Login: @CamSoper
Microsoft Alias: casoper

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

add @xccc-msft to help

add @xccc-msft to help

@PaulTzl Can you please check if you could find desired sample from here? Thanks.

@PaulTzl Can you please check if you could find desired sample from here? Thanks.

New .NET SDK will be here https://aka.ms/azsdk/dotnet/mgmt


Breaking change in result storage v0.6.0

It appears there was a breaking change in results storage path format. This made previous results unavailable in the new version.
In the new version, auto_webp is prepended to the root path.
Before: <root-path>/auto_webp/...
Now: auto_webp/<root-path>/...
https://github.com/thumbor/thumbor-aws/commit/8e14f1324908c8f3ade3f045366361d8178aeb91#diff-6dc50ab2e1f1f5844e51b0d4d2994f9e056ede0cf3244216353b24b6103d9a3eR164

Not stale

Not stale.

@sergeief PR #200 should fix it.


Revert "build(deps): bump got from 13.0.0 to 14.0.0 in /docs (#75)"

This reverts commit 9ad160e7298834cca3358bf17d122fe57fda51da.
Post merge CI fails, with
yarn install v1.22.21
[1/4] Resolving packages...
[2/4] Fetching packages...
warning<EMAIL_ADDRESS>Invalid bin field for "url-loader".
error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version ">=20". Got "1[6](https://github.com/uber-go/cff/actions/runs/7118151076/job/19380501646#step:4:7).20.2"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
Error: Process completed with exit code 1.

reverting.

@r-hang
https://github.com/uber-go/cff/blob/060d747209289d91465cf10db3a849e815543633/.github/workflows/docs.yml#L28


kill -SIGINT #PID failed when running .sh script in pipeline, is there any suggestion on how to send SIGINT to a background task in bash script for pipeline

Hi @wangwen-ms could you please share the error which you faced with?

there is a bash script which i run successfully in the local , but when running on pipeline , it will failed on killing a background process , I think the question is  i kill the process with SIGINT,  do you have any experience about how to send SIGINT when running by pipeline.

@wangwen-ms in general there should not be restrictions for this command - if user which is used to run agent has enough permissions to execute 'kill' command for specified PID, it should work.

yes, the problem is in non-interactive shell ,the signal: SIGINT will be ignored. so is there any tips to set pipeline in interactive shell or mode?

@wangwen-ms there is no ability to run interactive shell via Bash pipeline task.

ok, i will try other scripts to  accomplish  same function, thanks.

@wangwen-ms let me close this one since it looks resolved - but please feel free to ask any further questions.


InteractionManagers

Finishes mapping of *InteractionManager and adds TestInteractionManager

It seems that the javadoc lint task fails due to something in this commit, see log:
> Task :javadocLint FAILED
lint: net/minecraft/screen/ScreenHandlerListener.onPropertyUpdate(Lnet/minecraft/class_71;II)V.syncId: parameter javadoc ends with '.'
lint: net/minecraft/screen/ScreenHandlerListener.onPropertyUpdate(Lnet/minecraft/class_71;II)V.syncId: parameter javadoc starts with uppercase word 'Arbitrary'
lint: net/minecraft/screen/ScreenHandlerListener.onPropertyUpdate(Lnet/minecraft/class_71;II)V.trackedValue: parameter javadoc ends with '.'
lint: net/minecraft/screen/ScreenHandlerListener.onPropertyUpdate(Lnet/minecraft/class_71;II)V.trackedValue: parameter javadoc starts with uppercase word 'This'

Apparently, these are considered (later in the log it says) javadoc format errors:
 What went wrong:
Execution failed for task ':javadocLint'.
 A failure occurred while executing net.fabricmc.filament.task.JavadocLintTask$LintAction
    Found 4 javadoc format errors! See the log for details.

gg javadoc issue was mine, sorry about that guys


fix: move the makefile to correct path.

fix #237

@rbren @xingyaoww

I think the elapsed time of the workflow is too long, I have an idea for comparing the version between ghcr and makefile to determine if it needs to be built or not. you can merge to fix the problem first, I'll do this idea tomorrow.


Error specifying cookies on Android

Make sure to check the demo app(s) for sample usage
Done.
Make sure to check the existing issues in this repository
This relates to issue #91. Once that issue is fixed, I get a runtime error "System.err: Error: Cannot convert array to Ljava/lang/Object;"
If the demo apps cannot help and there is no issue for your problem, tell us about it
Please, ensure your title is less than 63 characters long and starts with a capital
letter.
Which platform(s) does your issue occur on?

Android. Have not tested on iOS yet.

Please, provide the following version numbers that your issue occurs with:

CLI: 6.0.3
Cross-platform modules: 6.1.1
Runtime(s): 6.0.2
Plugin(s):
"dependencies": {   "@angular/animations": "~8.2.6",   "@angular/common": "~8.2.6",   "@angular/compiler": "~8.2.6",   "@angular/core": "~8.2.6",   "@angular/forms": "~8.2.6",   "@angular/http": "8.0.0-beta.10",   "@angular/platform-browser": "~8.2.6",   "@angular/platform-browser-dynamic": "~8.2.6",   "@angular/router": "~8.2.6",   "@owen-it/nativescript-uuid": "0.0.4",   "ajv": "^6.10.2",   "base-64": "^0.1.0",   "lodash": "^4.17.15",   "nativescript-angular": "^8.2.1",   "nativescript-appversion": "^1.4.2",   "nativescript-facebook": "^4.2.1",   "nativescript-purchase": "^2.0.13",   "nativescript-ratings": "^1.0.1",   "nativescript-socketio": "^3.3.1",   "nativescript-store-update": "^1.0.2",   "nativescript-theme-core": "^2.0.20",   "nativescript-webview-interface": "^1.4.3",   "reflect-metadata": "~0.1.13",   "rxjs": "^6.5.3",   "tns-core-modules": "^6.1.1",   "utf8": "^3.0.0",   "zone.js": "^0.10.2" }, "devDependencies": {   "@angular/cli": "^8.3.4",   "@angular/compiler-cli": "~8.2.6",   "@nativescript/schematics": "~0.7.1",   "@ngtools/webpack": "~8.3.4",   "@types/lodash": "^4.14.138",   "@types/node": "^12.7.5",   "jasmine": "^3.4.0",   "nativescript-dev-webpack": "^1.2.0",   "tns-platform-declarations": "6.1.1",   "node-sass": "4.13.0",   "typescript": "~3.5.3" }

Please, tell us how to recreate the issue in as much detail as possible.
Describe the steps to reproduce it.
When trying to set cookies in app.module.ts, runtime error thrown. See stack trace below:
       SocketIOModule.forRoot(<url_value>, {             debug: true,             cookie: ["<name>=<value>; Domain=<domain_value>; Path=/; Expires=<expiration_time>"],             forceNew: true,             forceWebsockets: true,             secure: true         })

System.err: An uncaught Exception occurred on "main" thread.
System.err: Calling js method call failed
System.err: Error: Cannot convert array to Ljava/lang/Object; at index 0
System.err: StackTrace:
System.err: 	Frame: function:'call', file:'file:///node_modules/nativescript-socketio/socketio.js:75:0
System.err: 	at com.tns.Runtime.callJSMethodNative(Native Method)
System.err: 	at com.tns.Runtime.access$2300(Runtime.java:34)
System.err: 	at com.tns.Runtime$3.run(Runtime.java:1263)
System.err: 	at android.os.Handler.handleCallback(Handler.java:739)
System.err: 	at android.os.Handler.dispatchMessage(Handler.java:95)
System.err: 	at android.os.Looper.loop(Looper.java:145)
System.err: 	at android.app.ActivityThread.main(ActivityThread.java:6134)
System.err: 	at java.lang.reflect.Method.invoke(Native Method)
System.err: 	at java.lang.reflect.Method.invoke(Method.java:372)
System.err: 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
System.err: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

Is there any code involved?
See above.
The issue is that const list = new java.util.ArrayList(); list.add(cookies); is unable to convert the JS array to the Java ArrayList.
Needs to change to something like: const list = new java.util.ArrayList(java.util.Arrays.asList(cookies));
Easy fix. Sending a PR.

PR #93 submitted


Add doc: Why Netcfgbu?

Folks have been asking why I developed this tool and how it compares to existing options such as Rancid or Oxidized.
This issue tracks to creation of this document.

merged to master


Checking for possible composite converters in GraphEntityMapper.writeProperty

This allows to resolve conflicts when a property is using a composite converter.
Fixes #932

Thanks for the PR, could you also provide a test case for this?
Something that maybe checks for the right log output like we do here https://github.com/neo4j/neo4j-ogm/blob/0079fd7ed7abed56eba848b7166fd7b5611a156a/neo4j-ogm-tests/neo4j-ogm-integration-tests/src/test/java/org/neo4j/ogm/context/SingleUseEntityMapperTest.java#L313
(Please don't be irritated by the ..Rule naming ;) )

Thanks for the PR, could you also provide a test case for this? Something that maybe checks for the right log output like we do here
https://github.com/neo4j/neo4j-ogm/blob/0079fd7ed7abed56eba848b7166fd7b5611a156a/neo4j-ogm-tests/neo4j-ogm-integration-tests/src/test/java/org/neo4j/ogm/context/SingleUseEntityMapperTest.java#L313
(Please don't be irritated by the ..Rule naming ;) )

Sure, will do. Might need a little bit to find the proper test layout.

TBH the test suite is broad but unfortunately not well sorted. Something we have to address in the future (tried this once and dismissed it ;) )
For know, add the test to the PropertyTest in the integration test module, put your domain in the org/neo4j/ogm/domain/gh932 package and add it here: https://github.com/neo4j/neo4j-ogm/blob/0079fd7ed7abed56eba848b7166fd7b5611a156a/neo4j-ogm-tests/neo4j-ogm-integration-tests/src/test/java/org/neo4j/ogm/persistence/types/properties/PropertiesTest.java#L54
I will revisit it (or leave it there) before merge. Thanks for the effort.

TBH the test suite is broad but unfortunately not well sorted. Something we have to address in the future (tried this once and dismissed it ;) ) For know, add the test to the PropertyTest in the integration test module, put your domain in the org/neo4j/ogm/domain/gh932 package and add it here:
https://github.com/neo4j/neo4j-ogm/blob/0079fd7ed7abed56eba848b7166fd7b5611a156a/neo4j-ogm-tests/neo4j-ogm-integration-tests/src/test/java/org/neo4j/ogm/persistence/types/properties/PropertiesTest.java#L54
I will revisit it (or leave it there) before merge. Thanks for the effort.

Ok I did that. The tests run successful on my machine. Fingers crossed for GitHub actions ;)

Locally this is already running perfectly fine. I would go ahead and merge this.
Could you please sign the CLA? https://neo4j.com/developer/cla/
I've put the log output check also in the test case, just to be sure that the new condition gets hit and not the writer==null.

Locally this is already running perfectly fine. I would go ahead and merge this.
Could you please sign the CLA? https://neo4j.com/developer/cla/
I've put the log output check also in the test case, just to be sure that the new condition gets hit and not the writer==null.

Done

Thanks for signing and letting me push the changes on your branch.
This makes merging much nicer.

Thanks for signing and letting me push the changes on your branch.
This makes merging much nicer.

Excellent, thanks! Just wondering...  Looking forward to 4.0.2 ;)

...like this https://github.com/neo4j/neo4j-ogm/releases/tag/v4.0.2?
😺


Issue folder

Hello,
I'm noob via Synology docker.
Issue jdownloader on folder /output not won't work.

fine and work now ty sry


Refactor - Navbar component

Navbar Refactor
Please, convert the navbar from bootstrap to Styled-Components.

Handle these issues in PR's.
Closed


feat: Add support for filtering encrypted field by list of values

Took a stab at implementing a fix for https://github.com/47ng/prisma-field-encryption/issues/119.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Details

10 of 12 (83.33%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.5%) to 78.754%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/encryption.ts
10
12
83.33%

Totals

Change from base Build<PHONE_NUMBER>1:
-0.5%

Covered Lines:
274

Relevant Lines:
327

💛  - Coveralls

@SteveKekacs Can we please move forward with this PR? If you do not have time I could take over and apply changes from comments. I really need this feature in my project. Thanks.

@SteveKekacs Can we please move forward with this PR? If you do not have time I could take over and apply changes from comments. I really need this feature in my project. Thanks.

Hi @m-przybylski, apologies, I'm no longer using this library so go ahead and take over.

Superseded by #136.


No handlers found

UserWarning: No handlers found: "aten::gelu". Skipped.
UserWarning: No handlers found: "aten::reshape". Skipped.
UserWarning: No handlers found: "aten::permute". Skipped

This will not affect the results as these operators do not have MACs.


Using the user custom naming convention instead of js annotate.

Using the identification js annotate for each code block seems boring,When writing technical articles, we often say something like: "let's create a foo.js file."

For example, we can giving a name to this code block, consider the following code snippet:

We can also enhance its appearance through UI redesign to resemble the image below:

Is it necessary to add this feature?

Using the identification js annotate for each code block seems boring,

```js is the syntax of markdown code block, for us only the annotate is the trigger.

we can giving a name to this code block

Maybe this is the plugin you need https://github.com/kevinzunigacuellar/remark-code-title

custom  naming convention

I don't think we should allow user change the trigger.
It might be useful if we can add an option in the plugin saying that apply shaku to all code blocks ? but this again requires us to provide an option to opt out for specific code blocks, which seems not quite worth of it.

Using the identification js annotate for each code block seems boring,

```js is the syntax of markdown code block, for us only the annotate is the trigger.

we can giving a name to this code block

Maybe this is the plugin you need https://github.com/kevinzunigacuellar/remark-code-title

custom  naming convention

I don't think we should allow user to change the trigger. It might be useful if we can add an option in the plugin saying that apply shaku to all code blocks ? but this again requires us to provide an option to opt out for specific code blocks, which seems not quite worth of it.

nice plugin!

I'll close it for now


Incompatible with 1.20.1

Should be as simple as updating the fabric.mod.json to say ">=1.20" instead of "1.20".

Fixed, redownload 1.5 https://modrinth.com/mod/better-hand-bobbing/version/1.5


Office 365 AD

So does this article apply to integrating Office 365 AD accounts as the identity provider? Are Azure AD and Office 365 AD the same and the steps outlined here apply?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2b8cd351-ffd7-d9f4-2894-b31bd903915d
Version Independent ID: 72118a2f-53cf-aaed-c655-b98f114eb0d5
Content: Tutorial - Add identity providers to your applications - Azure Active Directory B2C
Content Source: articles/active-directory-b2c/tutorial-add-identity-providers.md
Service: active-directory
Sub-service: b2c
GitHub Login: @davidmu1
Microsoft Alias: davidmu

Also, this article needs updating to reflect the new App Registrations experience

@aszalacinski Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

@Mike-Ubezzi-MSFT: Please assign this item to @mmacy who is now supporting Azure AD B2C.

This article explains the concept of adding external identity provider, such as Facebook social account, or Azure AD as for enterprise accounts. So, users from the corporate network also be able to sign-in to the app, using their Azure AD account.  You can see the sample in more details here https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-setup-oidc-azure-active-directory

Hi @aszalacinski, yes, use the same process for Active Directory within Office 365. Additionally, the app registration process will be updated in this article shortly - thanks for your patience!


Fixes #4813: Added rounding of position to translate3d

Chrome renders half pixels when doing CSS transforms, which can make the tooltips blurry when the tooltip has an uneven hight or width.
Math.round() could also be added to the layer/Tooltip.js directly in the _setPosition, but I prefer handling exact numbers within the code and only rounding when rendering.

Referring to https://github.com/Leaflet/Leaflet/issues/4813#issuecomment-241052557:
Sadly, I have no idea what I need to look at to verify. Everything looks sharp for me.

The issue that this PR addresses is even visible in the Leaflet/debug/map/tooltip.html page:

https://github.com/Leaflet/Leaflet/pull/5089 is a better solution.


Release Google.Cloud.SecretManager.V1 version 2.5.0

Changes in this release:
New features

Add IServiceCollection extension methods for client registration where an IServiceProvider is required. (commit 022fab2)

Created release for Google.Cloud.SecretManager.V1-2.5.0


Make the invalid fields message more chatty

Invalid number of fields
is not as useful as might seem :-)
Signed-off-by: Ronald G. Minnich<EMAIL_ADDRESS>

@rminnich see also https://github.com/systemboot/systemboot/pull/62 to fix the actual bug. There was a change in kernel 4.18


[Build] Define all MANIFEST.MF entries through the bnd-maven-plugin

and derive 'Bundle-SymbolicName' header from the artifactId where possible.
This is originally created for https://github.com/apache/maven-resolver/pull/516, but would probably also make https://github.com/apache/maven-resolver/pull/506 simpler.

@gnodet or @cstamas could you please have a look at this?

I have now further enhanced this and added the Automatic-Module-Name by default for all modules (like in the 1.9.x variant of this in #518).
In #516 that header is explicitly removed for all modules that get a JPMS module-info generated.
Due to the naming unification this PR changes the Bundle-SymbolicName and Automatic-Module-Name header value for the locks modules:

org.apache.maven.resolver.named -> org.apache.maven.resolver.named.locks
org.apache.maven.resolver.named.redisson -> org.apache.maven.resolver.named.locks.redisson
org.apache.maven.resolver.named.hazelcast -> org.apache.maven.resolver.named.locks.hazelcast

I hope this is acceptable?
@gnodet and @cstamas from my POV this is ready and I think it would suit best to have this before my other changes.
Could you please approve the workflows and review this?

Thank you @gnodet for your review and submitting this.


module object is not callable???

Traceback (most recent call last):
  File "c:\Users\_____\OneDrive\Documents\discordbots\aigeneratedtogrps\caitest.py", line 38, in <module>
    asyncio.run(main())
  File "C:\Users\_____\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "C:\Users\_____\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\_____\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 653, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "c:\Users\_____\OneDrive\Documents\discordbots\aigeneratedtogrps\caitest.py", line 7, in main
    caiclient = pyasynccai("7b9773bac6c2a3139dd41e393fce72f76d9e9342")
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'module' object is not callable

i copied the exact code from the gitbook (other than renaming the client and making it a  global variable but it shouldn't be the issue, right?)

also i apologize if this is a duplicate issue

pyasynccai refers to the 'pyasynccai.py' module, not the class 'PyAsyncCAI'.
Replace pyasynccai with PyAsyncCAI

NameError: name 'PyAsyncCAI' is not defined. Did you mean: 'pyasynccai'?
i replaced the part with the function call but now i get this error

Did you import the class?

i installed the library with pip, was there something else i needed to do for it to work or?

You need to import the class in order to create its instances. Add this statement to the top of the file
from characterai import PyAsyncCAI

boy do i feel stupid. all i forgot to do was capitalize PyAsyncCAI because i had typed it as "pyasynccai"


Remove core-js imports in ESM build

Following #137, also remove core-js imports in the ES module build, which is the one that webpack/rollup bundlers will be using.

Good catch, can also remove the dev dependency I added back in (foolishly)


It's time to brag

Since I am a happy user of your lib, just wanted you to know that JDK 9 has decided to use your tool too: http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8148154
Might be worth adding to README.md.

:smiley:


Consider using Artifacts for data

PackageEvaluator.jl runs nightly tests over the package ecosystem and looking at our traffic numbers I noticed that IndividualDisplacements downloads 1.747GB of data during it's tests. Using Artifacts.jl would allow us to cache that.

Hopefully what I did in https://github.com/gaelforget/OceanStateEstimation.jl/pull/8 will be helpful.
Looking into Artifacts for this had been on my to do list. Thanks for bringing it up.
Not sure I totally understand how best to handle my use case though (many files, downloaded from DOI'ed archive, not in tar ball, downloaded by parts). I feel that what I did is a bit of a hack but it seems to work ok. Will try using this in IndividualDisplacements after new release is completed

Thanks!

I think I finished moving data dependencies to the Artifacts system as of v0.2.1 of IndividualDisplacements.jl (released 5 days ago).
Some of the downloads associated with the artifacts still happen manually  but at least they go to ~/.Julia/artifacts
Am wondering how much of an impact this had on the PackageEvaluator.jl runs -- could you please check @vchuravy when you get a chance?

Looks better: https://s3.amazonaws.com/julialang-reports/nanosoldier/pkgeval/by_date/2020-11/10/OceanStateEstimation.1.6.0-DEV-9c498bff43.log
Network usage:
- eth0: 126.608 MiB received, 708.351 KiB sent


use lsm303agr instead of lsm303dlhc in chapter compass

What does this implement/fix?
This basically provides the link to implement the compass code using the lsm303agr for the newer board. This removes the conflict until a better solution comes.

r? @therealprof
(rust-highfive has picked a reviewer for you, use r? to override)

Created a new pull request after having a short discussion with @jamesmunns  . Can we help people using this until we get a better solution?


EC2 driver integration

Placeholder for EC2 integration in v0.1.0

This should be opened under libStorage


SEAB-5270: Add additional type information to Entry

Description
This PR adds information to each entry type, such as the singular and plural terms used to refer to that entry type and the TRS id prefix, which can be used to parameterize code that operates on entries.  The information is stored in a new class EntryTypeMetadata which is serialized and returned in resource requests, so it can be used in the webservice, UI, and CLI.  A new endpoint returns the metadata for each entry type, which will allow easy parameterization by type in the absence of an Entry (similar to how EntryType is used in the UI right now).  The UI could retrieve this info on startup.
I've included several refactors to demonstrate how we might use this information.  Please do check them out, because that's where the value is.  There's lots of similar opportunities on the UI side.   We can add more information to EntryTypeMetadata as we see fit.
The webservice EntryType now appears in the API spec as a first class type, and is included with each Entry response.  The intention is that this EntryType will eventually replace the one that's currently defined in the UI.  In the near term, to resolve the collision of the webservice and UI EntryTypes, there will be a companion UI PR, currently on branch https://github.com/dockstore/dockstore-ui2/tree/experiment-extended-entry-type-info
Right now, EntryTypeMetadata has a big constructor.  It's probably ok for the moment, but as we add stuff, we might move to a builder/fluent-interface scheme to make it more understandable/manageable.
EntryTypeMetadata is a class, rather than a record, because it's conceivable that someday, we'll add methods to it that do useful things.  It's a class, rather than an enum, to make its fields appear in the openapi schema.  EntryTypeMetadata is defined in the dockstore-webservice, rather than dockstore-common, so that its constructors can access our webservice string constants.
I don't particularly like the name EntryTypeMetadata, it's kinda clunky.  Is there a single word that means "information about the type of something, rather than instances of that type."?  "Characteristics"?  "Traits"? Hmm.
Review Instructions
Confirm that the:

New information appears in openapi.yaml.
Entry responses contain the new information.
New endpoint returns type information about all entry types.

Issue
https://ucsc-cgl.atlassian.net/browse/SEAB-5270
Security
If there are any concerns that require extra attention from the security team, highlight them here.
Please make sure that you've checked the following before submitting your pull request. Thanks!

[x] Check that you pass the basic style checks and unit tests by running mvn clean install
[x] Ensure that the PR targets the correct branch. Check the milestone or fix version of the ticket.
[x] Follow the existing JPA patterns for queries, using named parameters, to avoid SQL injection
[x] If you are changing dependencies, check the Snyk status check or the dashboard to ensure you are not introducing new high/critical vulnerabilities
[x] Assume that inputs to the API can be malicious, and sanitize and/or check for Denial of Service type values, e.g., massive sizes
[x] Do not serve user-uploaded binary images through the Dockstore API
[x] Ensure that endpoints that only allow privileged access enforce that with the @RolesAllowed annotation
[x] Do not create cookies, although this may change in the future
[x] If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.

There's lots of similar opportunities on the UI side. We can add more information to EntryTypeMetadata as we see fit.

Agreed, on close, could use ticket for someone to take advantage of this in the UI as well


TemplateSyntaxError: unexpected  if start volume level = 0 -> null

Hey there, I got this error while my initial volume was 0.0 the second template in the while loop,
original:
         - condition: template
            value_template: "{{ ((state_attr(target_player, 'volume_level') - target_volume) | abs) > 0.001 }}"

to pinpoint it, the term:
state_attr(target_player, 'volume_level')
returned null, thus throwing an error:
ERROR (MainThread) [homeassistant.config] Invalid config for [script]: invalid template (TemplateSyntaxError: unexpected ')') for dictionary value @ data['sequence'][0]['repeat']['while'][1]['value_template']. Got None. (See ?, line ?).
fixed it with:
            - condition: template
              value_template: >
                {% if state_attr(target_player, 'volume_level') != none %}
                  {% if ((state_attr(target_player, 'volume_level') - target_volume) | abs) > 0.001 %}true
                  {% endif %}
                {% else %}
                  {% if ((0.0 - target_volume) | abs) > 0.001 %}true
                  {% endif %}
                {% endif %}

I guess one could make it prettier, but it works now.

Hey @WalterWampe - thanks for posting the issue and digging into it for me.
I've just pushed an update which tries to solve the issue by simply adding a default value to the abs function that takes the current volume input value.
So | abs changes to | abs(0).
This should force a 0 to be used should the initial volume be a Null value from some reason.
Let me know if this solves the issue.

And there it is - the prettier more elegant solution.
Checks out, thanks man!


reduce sysdic.zip size.

Especially at Python2.7 and ucs4 build (e.g. ubuntu),  it reduce memory usage while precompile entries.py

Sorry for taking long time to check it.
It has been merged to master, thanks!


Fix compile-time mechanism checks

This PR adds missing variants to trussed::types::IMPLEMENTED_MECHANISMS and makes it easier to validate the selected mechanisms at compile time.

Updated to use a macro to generate the Mechanism enum and to provide a const_eq function instead of #[repr(u8)] (because that does not work with empty enums).


[android][test] Disable a C++ Interop test that doesn't work with clang 14 from LTS NDK 25

This is the last failing test on the community Android CI:
In file included from /home/ubuntu/jenkins/workspace/oss-swift-RA-linux-ubuntu-16.04-android-arm64/buildbot_linux/swift-linux-x86_64/test-android-aarch64/Interop/SwiftToCxx/stdlib/Output/stdlib-in-cxx-no-diagnostics-generated-header.cpp.tmp/test-stdlib.cpp:2:
/home/ubuntu/jenkins/workspace/oss-swift-RA-linux-ubuntu-16.04-android-arm64/buildbot_linux/swift-linux-x86_64/test-android-aarch64/Interop/SwiftToCxx/stdlib/Output/stdlib-in-cxx-no-diagnostics-generated-header.cpp.tmp/Stringer.h:286:34: error: unknown warning group '-Wunsafe-buffer-usage', ignored [-Werror,-Wunknown-warning-option]
#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
                                 ^
1 error generated.

I will re-enable it when we switch the CI to the latest NDK 26, which has a new clang.
@drodriguez, please review.

@swift-ci please smoke test


Upgraded to latest version of flutter and now my existing project giving errors

8 warnings generated.
../../../../.pub-cache/hosted/pub.dartlang.org/animations-1.1.1/lib/src/fade_scale_transition.dart:148:29: Error: 'decelerateEasing' is imported from both 'package:flutter/src/material/curves.dart' and 'package:animations/src/utils/curves.dart'.
).chain(CurveTween(curve: decelerateEasing));
^^^^^^^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dartlang.org/animations-1.1.1/lib/src/shared_axis_transition.dart:315:12: Error: 'decelerateEasing' is imported from both 'package:flutter/src/material/curves.dart' and 'package:animations/src/utils/curves.dart'.
curve: decelerateEasing,
^^^^^^^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dartlang.org/animations-1.1.1/lib/src/shared_axis_transition.dart:321:29: Error: 'standardEasing' is imported from both 'package:flutter/src/material/curves.dart' and 'package:animations/src/utils/curves.dart'.
).chain(CurveTween(curve: standardEasing));
^^^^^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dartlang.org/animations-1.1.1/lib/src/shared_axis_transition.dart:326:29: Error: 'standardEasing' is imported from both 'package:flutter/src/material/curves.dart' and 'package:animations/src/utils/curves.dart'.
).chain(CurveTween(curve: standardEasing));
^^^^^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dartlang.org/animations-1.1.1/lib/src/shared_axis_transition.dart:335:35: Error: 'standardEasing' is imported from both 'package:flutter/src/material/curves.dart' and 'package:animations/src/utils/curves.dart'.
).chain(CurveTween(curve: standardEasing));
^^^^^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dartlang.org/animations-1.1.1/lib/src/shared_axis_transition.dart:355:35: Error: 'standardEasing' is imported from both 'package:flutter/src/material/curves.dart' and 'package:animations/src/utils/curves.dart'.
).chain(CurveTween(curve: standardEasing));
^^^^^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dartlang.org/animations-1.1.1/lib/src/shared_axis_transition.dart:402:12: Error: 'accelerateEasing' is imported from both 'package:flutter/src/material/curves.dart' and 'package:animations/src/utils/curves.dart'.
curve: accelerateEasing,
^^^^^^^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dartlang.org/animations-1.1.1/lib/src/shared_axis_transition.dart:408:29: Error: 'standardEasing' is imported from both 'package:flutter/src/material/curves.dart' and 'package:animations/src/utils/curves.dart'.
).chain(CurveTween(curve: standardEasing));
^^^^^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dartlang.org/animations-1.1.1/lib/src/shared_axis_transition.dart:413:29: Error: 'standardEasing' is imported from both 'package:flutter/src/material/curves.dart' and 'package:animations/src/utils/curves.dart'.
).chain(CurveTween(curve: standardEasing));
^^^^^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dartlang.org/animations-1.1.1/lib/src/shared_axis_transition.dart:422:35: Error: 'standardEasing' is imported from both 'package:flutter/src/material/curves.dart' and 'package:animations/src/utils/curves.dart'.
).chain(CurveTween(curve: standardEasing));
^^^^^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dartlang.org/animations-1.1.1/lib/src/shared_axis_transition.dart:445:35: Error: 'standardEasing' is imported from both 'package:flutter/src/material/curves.dart' and 'package:animations/src/utils/curves.dart'.
).chain(CurveTween(curve: standardEasing));

Please refer to flutter breaking changes

hey @sidrao2006
 flutter's breaking changes for 1.17
hey @abhikhedekar4241
can you please provide minimal reproduction code and flutter run -v ?
Thanks

before following @Abhishek01039 good suggestion
could you please run from terminal
cd <your project folder>
flutter create .

(don't forget the dot)

Hi @abhikhedekar4241,
Whenever you upgrade, it's always good to run flutter pub cache repair and then flutter run to get all latest updates and dependencies. Try that and see if it works for you.
If problem persists, provide flutter doctor -v and a minimal complete reproducible code sample that shows the issue.
Thanks.

before following @Abhishek01039 good suggestion
could you please run from terminal
cd <your project folder>
flutter create .

(don't forget the dot)

Hey @iapicca :-)

Upgrading version of "animations" package (it is provided in flutter itself) worked for me.
I added []((https://pub.dev/packages/animations) dependency in pubspec.yaml


How to mimic Python's nice column and row access (i.e matrix[:, 2])?

Hey all,
How would you say to do access to a column matrix[:, i] or access to a row matrix[i, :] in NumSharp?

I need to be able to get a (n-1)-dimensional slice of a n-dimensional matrix, i.e. a 1d vector out of a 2d matrix.
First step would be to add appropriate accessors to IStorage right?
I am not yet sure how they should look like, please comment if you have ideas.

This is not as elegantly possible as in Python, but we can do something like this, given that matrix is an NDArray:

matrix[Range.All, 1] ... return the first column, Python: matrix[:, 1]
matrix[new Range(0, 2), 1] ... return the first two entries of the first column, Python: matrix[:2, 1]
matrix[new Range(1,3), new Range(1,3)] ... return a 2x2 submatrix of matrix starting at 1,1, Python: matrix[1:3, 1:3]

Check indexing to help.

We can override in Slice

Yeah, the string idea is great for porting code from Python. I am sure it will be popular.

Seem's like another contributor already implemented the string index. I'll found out later. @PppBr is that true?

when you slice a matrix in numpy you essentially get a view of the original data. modifying it will modify the original matrix. Do we have a view concept or implementation already?

Not yet, we havn't have the view class.  I've an idea how to implement the new view.
view inherit from ndarray, but keep a filter of data index.
and view will implement a IEnumerate interface.
when interating the view, it will return all the element in the filter.
@henon What do you think of it?
or we need a new NDStorage?

@Oceania2018: I think the projection from the view to the original data could be handled entirely by the storage.
This is complicated, I had to think about it for a time to wrap my head around it. If I am correct, what you  need is a function that projects a view index onto an index on the original data (which could be another view that does further projection - think about that).
I am not yet sure how that function looks like if you i.e. for instance get a 1D slice out of a 17-dimensional matrix but once we have that generic formula we can easily project view_index to underlying data_index and view_index+1, view_index+2, ... etc. to enumerate it.

Actually, we have the formula to convert n-d index to 1d index.
chech the function Shape.GetDimIndexOutShape

Nice we have the projection and the inverse projection already, so the difficult part is actually already solved. The rest is just software design.
One thing I missed, that the view also needs to enumerate on the underlying data (or view), is a stride. If you take a row out of a matrix the stride is 1, but if you take a column, the stride is the width of the matrix.
ok, you may be right about inheriting from ndarray. I have only limited knowledge about the design at this point, so I trust your judgement.

I will write the first version of view, then we can discuss further.

Don't forget to make the design recursive, so that you can have a view of a view of a view of a 'storage'.

Sure

Update: Python's slice notation for accessing slices of NDArray has been implemented. However, the implementation of a view that serves that slice of the original data still needs to be done.
Here is a very simple test case that demonstrates the problem to be solved:
    public void GetAColumnOf2dMatrix()
    {
        var x = np.arange(9).reshape(3, 3);
        var v = x[":, 1"];
        Assert.IsTrue(Enumerable.SequenceEqual( v.Data<double>(), new double[]{ 1, 4, 7 }));
        v[1] = 99;
        Assert.AreEqual(99, x[1,1]);
    }```

Check the Slice3x2x2 UnitTest.

I have been wrestling with the same (or similar) issue in the context of trying to generate randomized mini-batches using NumSharp.
The python code I am trying to emulate looks like this:
def random_mini_batches(X, Y, mini_batch_size = 64):
"""
Creates a list of random minibatches from (X, Y)
Arguments:
X -- input data, of shape (input size, number of examples)
Y -- true "label" vector of shape (1, number of examples)
mini_batch_size - size of the mini-batches, integer

Returns:
mini_batches -- list of synchronous (mini_batch_X, mini_batch_Y)
"""

m = X.shape[1]                  # number of training examples
mini_batches = []

# Step 1: Shuffle (X, Y)
permutation = list(np.random.permutation(m))

shuffled_X = X[:, permutation]
shuffled_Y = Y[:, permutation].reshape((Y.shape[0],m))

# Step 2: Partition (shuffled_X, shuffled_Y). Minus the end case.
num_complete_minibatches = math.floor(m/mini_batch_size) # number of mini batches of size mini_batch_size in your partitionning
for k in range(0, num_complete_minibatches):
    mini_batch_X = shuffled_X[:, k * mini_batch_size : k * mini_batch_size + mini_batch_size]
    mini_batch_Y = shuffled_Y[:, k * mini_batch_size : k * mini_batch_size + mini_batch_size]
    mini_batch = (mini_batch_X, mini_batch_Y)
    mini_batches.append(mini_batch)

# Handling the end case (last mini-batch < mini_batch_size)
if m % mini_batch_size != 0:
    mini_batch_X = shuffled_X[:, num_complete_minibatches * mini_batch_size : m]
    mini_batch_Y = shuffled_Y[:, num_complete_minibatches * mini_batch_size : m]
    mini_batch = (mini_batch_X, mini_batch_Y)
    mini_batches.append(mini_batch)

return mini_batches

The part I have trouble emulating with NumSharp is:
   shuffled_X = X[:, permutation]
   shuffled_Y = Y[:, permutation].reshape((Y.shape[0],m))

The closest I have been able to get is:
   var shuffled_X = new NDArray(np.float32, X.shape);
   for (int i = 0; i < X.shape[0]; i++)
   {
       shuffled_X[i] = X[i][permutation];
   }

   var shuffled_Y = new NDArray(np.float32, Y.shape);
   for (int i = 0; i < Y.shape[0]; i++)
   {
       shuffled_Y[i] = Y[i][permutation];
   }
   shuffled_Y = shuffled_Y.reshape((Y.shape[0], m));

Which works, but is much, much slower (also true when I implement the alternative in Python).
The problem with NumSharp is that I cannot put the indexer ":, permutation" in quotes. I've tried converting 'permutation' to its string-expanded list equivalent (so that I can have a totally string-based indexer that NumSharp likes) but I don't seem to be able to arrive at a string-serialized encoding of 'permutation' inside the resulting indexer that doesn't make NumSharp crash.
Am I overlooking an obvious solution here?

@BillyDJr Try
shuffled_X = X[Slice.All, new Slice(permutation)];

Trying that yielded:
NumSharp.IncorrectShapeException: 'This method does not work with this shape or was not already implemented.'

@BillyDJr Try
shuffled_X = X[Slice.All, new Slice(permutation)];

No, he needs index access to get shuffled data. It should be
shuffled_X = X[Slice.All, new NDArray(permutation)];

I simplified my Python target test case, showing two ways to generate the shuffled Xs and Ys.
m = 4
X = np.random.rand(3,m)
Y = np.random.rand(1,m)
permutation = list(np.random.permutation(m))
print ("perm: " + str(permutation))
print ("X: " + str(X))
print ("Y: " + str(Y))
shuffled_X1 = X[:, permutation]
shuffled_X2 = X.copy()
for i in range(0, X.shape[0]):
shuffled_X2[i] = X[i][permutation]
print("shuffled_X1: " + str(shuffled_X1))
print("shuffled_X2: " + str(shuffled_X2))
shuffled_Y1 = Y[:, permutation].reshape((Y.shape[0],m))
shuffled_Y2 = Y.copy()
for i in range(0, Y.shape[0]):
shuffled_Y2[i] = Y[i][permutation]
shuffled_Y2 = shuffled_Y2.reshape((Y.shape[0], m))
print("shuffled_Y1 " + str(shuffled_Y1))
print("shuffled_Y2 " + str(shuffled_Y2))
And the results:
perm: [2, 1, 3, 0]
X: [[0.14038694 0.19810149 0.80074457 0.96826158]
[0.31342418 0.69232262 0.87638915 0.89460666]
[0.08504421 0.03905478 0.16983042 0.8781425 ]]
Y: [[0.09834683 0.42110763 0.95788953 0.53316528]]
shuffled_X1: [[0.80074457 0.19810149 0.96826158 0.14038694]
[0.87638915 0.69232262 0.89460666 0.31342418]
[0.16983042 0.03905478 0.8781425  0.08504421]]
shuffled_X2: [[0.80074457 0.19810149 0.96826158 0.14038694]
[0.87638915 0.69232262 0.89460666 0.31342418]
[0.16983042 0.03905478 0.8781425  0.08504421]]
shuffled_Y1 [[0.95788953 0.42110763 0.53316528 0.09834683]]
shuffled_Y2 [[0.95788953 0.42110763 0.53316528 0.09834683]]
Here is the C# code (just showing the Xs for the sake of brevity). Note the shuffled_X2 works (as I reported before, but it runs too slowly for large datasets). As you can see, I try various stabs at arriving at shuffled_X1, all failing:
        var m = 4;
        var X = np.random.rand(3, m);
        var permutation = np.random.permutation(m);

        print($"perm: {permutation}");
        print($"X: {X}");

        // In Python: shuffled_X1 = X[:, permutation]
        try
        {
            var shuffled_X1 = X[Slice.All, permutation];
            print($"shuffled_X1: {shuffled_X1}");
        }
        catch (Exception ex)
        {
            print($"Param as: raw permutation  - error: {ex.Message}");
        }

        try
        {
            var shuffled_X1 = X[Slice.All, new Slice(permutation)];
            print($"shuffled_X1: {shuffled_X1}");
        }
        catch (Exception ex)
        {
            print($"Param as: new Slice(permutation) - error: {ex.Message}");
        }

        try
        {
            var shuffled_X1 = X[Slice.All, new NDArray(permutation.ToArray<Int32>())];
            print($"shuffled_X1: {shuffled_X1}");
        }
        catch (Exception ex)
        {
            print($"Param as: new NDArray(permutation.ToArray<Int32>())  - error: {ex.Message}");
        }

        try
        {
            var shuffled_X1 = X[Slice.All, new NDArray(permutation.CloneData())];
            print($"shuffled_X1: {shuffled_X1}");
        }
        catch (Exception ex)
        {
            print($"Param as: new NDArray(permutation.CloneData())  - error: {ex.Message}");
        }

        try
        {
            var shuffled_X1 = X[Slice.All, new NDArray(Binding.list(permutation.ToArray<Int32>()))];
            print($"shuffled_X1: {shuffled_X1}");
        }
        catch (Exception ex)
        {
            print($"Param as: new NDArray(Binding.list(permutation.ToArray<Int32>()))  - error: {ex.Message}");
        }

        var shuffled_X2 = new NDArray(np.float32, X.shape);
        for (int i=0; i<X.shape[0]; i++)
             shuffled_X2[i] = X[i][permutation];

        print($"shuffled_X2: {shuffled_X2}");

And the results:
perm: [2, 1, 0, 3]
X: [[0.5201029277034583, 0.8834703261421389, 0.034344740227956666, 0.5556772460954623],
[0.3361533942335068, 0.780603283914087, 0.6067406924472846, 0.794946916305901],
[0.8351871454320788, 0.11560027912054224, 0.601820489671929, 0.2805163801091334]]
Param as: raw permutation  - error: shape mismatch: objects cannot be broadcast to a single shape
Param as: new Slice(permutation) - error: This method does not work with this shape or was not already implemented.
Param as: new NDArray(permutation.ToArray())  - error: shape mismatch: objects cannot be broadcast to a single shape
Param as: new NDArray(permutation.CloneData())  - error: shape mismatch: objects cannot be broadcast to a single shape
Param as: new NDArray(Binding.list(permutation.ToArray()))  - error: shape mismatch: objects cannot be broadcast to a single shape
shuffled_X2: [[0.03434474, 0.8834703, 0.5201029, 0.55567724],
[0.6067407, 0.7806033, 0.3361534, 0.7949469],
[0.60182047, 0.11560028, 0.83518714, 0.2805164]]
Are there any other variations I should try?

FWIW....It was easy to get working with Numpy.NET:
    [TestMethod]
    public void mytest() {
        var m = 4;
        var X = np.random.rand(3, m);
        var permutation = np.random.permutation(m);

        print($"perm: {permutation}");
        print($"X: {X}");

        var shuffled_X = X[":", permutation];
        print($"shuffled_X: {shuffled_X}");
    }

    private void print (string output)
    {
        System.Diagnostics.Debug.WriteLine(output);
    }

Resulted in:
perm: [3 0 1 2]
X: [[0.58033439 0.99341353 0.77685615 0.1893294 ]
 [0.81824309 0.7315536  0.64120989 0.97876454]
 [0.15659539 0.9045345  0.83839889 0.43254176]]
shuffled_X: [[0.1893294  0.58033439 0.99341353 0.77685615]
 [0.97876454 0.81824309 0.7315536  0.64120989]
 [0.43254176 0.15659539 0.9045345  0.83839889]]

Now I'm off to investigate if there is an efficient way that I can use Nump.NET NDArrays for my mini-batch randomization in TensorFlow.NET. (I'm admittedly just hacking away here....please stop me, anyone, if you think there is a better way.)

Obviously, this should also work in NumSharp, but there seems to be a bug somewhere.

Ok. Thanks. I will keep my eye out for the resolution, once it appears, so that i might switch over.


Nomination pools/dashboard rewards

#85zta05qb
Fixes the following issues:

Use nomination-pool instead of nomination-pools for Subquery requests
When checking active stakers for nomination pools, check pool address in relaychain active stakes
Due to (2) potentially resulting in multiple addresses per relaychain staking, exposue mapping from stakingOptionId to used addresses as well as overriden stakingOptionId (e.g. we use relaychain instead of nomination-pool when checking active status) to allow to process response
Fix regression introduced in https://github.com/novasamatech/nova-wallet-android/pull/1084 - direct staking rewards request fails to serelize

Task linked: CU-85zta05qb Android. Nomination Pools total rewards


event.platform is undefined when deploying on Vercel

Describe the bug
When I deploy my project on Vercel, this line gives undefined:
export const GET: RequestHandler = async (event) => {

    console.log('is platform here?', event.platform); // Why is event.platform undefined here?
    return json({ message: 'GET request to the homepage', platformDefined: !!event.platform });
}

Do I need to do something different?
My svelte.config.js looks like this:
import adapter from '@sveltejs/adapter-vercel';

import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';

/** @type {import('@sveltejs/kit').Config} */
const config = {
	// Consult https://kit.svelte.dev/docs/integrations#preprocessors
	// for more information about preprocessors
	preprocess: vitePreprocess(),

	kit: {
		adapter: adapter({})
	}
};

export default config;

I also tried adding a console.log in src/hooks.server.ts like this:
import type { Handle } from '@sveltejs/kit';

export const handle: Handle = async ({ event, resolve }) => {

    console.log('hooks-server:', {platform: event.platform});
	const response = await resolve(event);
	return response;
};

But this was also undefined?
Reproduction
repo to clone is here.
Deployed vercel project is here.
Logs
is platform here? undefined

### System Info

```Shell
System:
    OS: macOS 14.5
    CPU: (10) arm64 Apple M1 Max
    Memory: 444.77 MB / 64.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.12.2 - ~/.nvm/versions/node/v20.12.2/bin/node
    npm: 10.8.1 - ~/.nvm/versions/node/v20.12.2/bin/npm
    pnpm: 8.15.4 - ~/Library/pnpm/pnpm
  Browsers:
    Chrome: 125.0.6422.142
    Safari: 17.5
  npmPackages:
    @sveltejs/adapter-vercel: ^5.3.1 => 5.3.1
    @sveltejs/kit: ^2.5.10 => 2.5.10
    @sveltejs/vite-plugin-svelte: ^3.0.0 => 3.1.1
    svelte: ^4.2.7 => 4.2.18
    vite: ^5.0.3 => 5.2.13

Severity
annoyance
Additional Information

What are you using platform for? It's only defined for edge functions, because its only member, context, is only available within edge functions. The only member of context is waitUntil, which you can now import directly in both edge and serverless functions: https://vercel.com/changelog/waituntil-is-now-available-for-vercel-functions
@Rich-Harris should we "shim" this for serverless, by passing along a "fake" context on which we provide the waitUntil method? I tend towards "no, use the package Vercel provides directly". If you're using platform you're already provider-specific.

I tend towards "no, use the package Vercel provides directly"

I lean the same way - it would just add code to people's bundles if they weren't using it. For consistency it might even be better to remove it from edge functions? (deprecate with warning first, obvs)

Ok, so the recommended approach is to import it from here import { waitUntil } from '@vercel/functions'?

Exactly

I'm not sure why, but I was under the impression that such thing should live on the "platform"

platform is more for things that are per-request and coming from the underlying platform. But yeah it's not very strict what's coming from where. In this case, since Vercel provides it, it's better to use the package directly.

For consistency it might even be better to remove it from edge functions? (deprecate with warning first, obvs)

Makes sense

Isn't it already populated here?
https://github.com/sveltejs/kit/blob/f67898d25ee32e9377221979d2a9e6b792786f4e/packages/adapter-vercel/files/edge.js#L13-L24
The ambient type for it exists too although it's not correctly included when importing the adapter at the moment.
https://github.com/sveltejs/kit/blob/f67898d25ee32e9377221979d2a9e6b792786f4e/packages/adapter-vercel/ambient.d.ts#L1-L12
Or am I mistaken and thinking of something entirely different?

It's there, but it's only set for edge functions, not serverless functions, hence the confusion and thought to remove the context for edge, since it only contains waitUntil. Argument against it is that at some point in the future there might be other things on the context object and we would go adding it back in again - which makes me think we just leave everything as is and close this issue.


Getting notifiarr tray icon to open with left click

I assume this isnt broken, just not implemented (brand new user so cant be sure).  It was the same way with Jackett until I put in a feature request over there about it.

Isn't a web ui link in the menu? I don't actually think the systray library I use allows me to control the main menu clicks.

Isn't a web ui link in the menu? I don't actually think the systray library I use allows me to control the main menu clicks.

it is.  just left click is opening the context menu, as is right click.  the general behavior for windows tray apps is double left click opens them (in this case the webui) and right click would bring up the context menu.
im speaking entirely out of my rear as a non programmer, but i'd like to think it should be possible on the basis that the rest of the arrs and their companion softwares that ive tried do so.
of course the difference may be that those are installed as opposed to this being ran in a portable fashion.  or perhaps what its written in relative to those.  similar to bazarr being unable to have a tray icon period due to being python.
either way, i'm digressing.  you'd certainly no better than I.  its just what us windows users are used to, and of course would contribute to parity between the rest of the toys :)

For some reason I thought one of the systray libraries already had a left/right click split, but I could not find that feature. I will try to work on the fyne-io variant to see if we can split left and right click.


keep cache of downloaded packages

Description of the new feature / enhancement
Can you please update winget to keep cache of downlaoded packages and installers
i tried to find where downloaded isntallers are in C partition but didn't find them
so please ADD option to save these cache downlaoded packages vai winget  and add option to choose path for this cache location
for example i may choose a folder in D: partition to downlaod cache packages to be able to save them for future installs if i want
Proposed technical implementation details
No response

interested, im having problem running "git" command in windows terminal because winget would automatically select the default options throughout the installation process, whether or not git commands can be run within command prompt depends on one critical step called "adjusting your path evironment" in that installation process, which was inconveniently chosen: https://stackoverflow.com/a/34321267
therefore being able to locate and manually re-run the .exe file would be more convenient

Duplicate of #343


Support for TypeScript

I there, I wanted to use this in my TypeScript React App, can you please add TypeScript Declarations?

See #6


Implement wildcard (*)

Needs review.
Valid statements:
server.get("/*", ...)

server.get("/*/something", ...)

server.get("/something/*/", ...)

and pretty much anything else involving the wildcard character *.
I've done some testing on my own but I'm not convinced that it's completely bug-free.

It looks like it's not handling wildcards with more than one component correctly.
server.get("/something/*", ...)
will match: /something/else
but not: /something/else/entirely
The problem seems to be here:
guard self.components.count == request.pathComponents.count else {
    return false
}

After thinking about it, the route path can never have more components than the request URL, but the request URL can have more components than the route path if there are wildcard paths involved.

Right - I figured that would make more sense anyway - /*/* does work though. Maybe use /** where you want it to be recursive?

I'm going to merge this since its a trivial change that doesn't break anything. Regarding @kevinup7's note - I think it makes more sense the way it is implemented right now anyway. /something/* should not match /something/else/entirely, because that would mean that /something/*/entirely matches something/else/else/else/else/else/entirely, which is (in my opinion) incorrect. If we were to implement this sort of behavior, it should be with the double-globstar **, not the single kind *.