[FLINK-27524][datastream] Introduce cache API to DataStream

What is the purpose of the change
Introduce cache API to DataStream.
Brief change log

Introduce cache method to SingleOutputStreamOperator.
Introduce CachedDataStream.
Introduce close method to StreamExecutionEnvironment.
Introduce internal interface CacheSupportedPipelineExecutor.

Verifying this change
This change added tests and can be verified as follows:

Unit tests and integration tests are added.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): yes
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? yes
If yes, how is the feature documented? JavaDocs

@flinkbot run azure

Hi @gaoyunhaii! Thanks for your review! I made changes according to your comments. Could you please take another look?

Hi @gaoyunhaii! Thanks for your review. I have made the change accordingly. Could you please take another look?

@flinkbot run azure


Add posts tab, change icon for comments tab

This PR aims to address https://github.com/manifoldmarkets/manifold/issues/1363. This was inspired by this comment thread.
I did notice that new users are prohibited from creating posts for the first 30 days of use. This PR changes nothing there, although I did wonder if making the posts feature less discoverable was intentional for this reason.
I also followed the Contributing section as best I could. I didn't see anywhere to add or extend UI tests, so I just manually tested these four cases:
Viewing a user with existing Posts (@ian)
Viewing a user with no existing Posts (@ACX_Bot)
Viewing my own user account
Attempting to create a post as a new user

Everything looks great, no obvious signs of anything breaking.
One other note - it looks like PostCardList is used a number of places, so rather than extending it to do the "no posts yet" capability, I just instead inlined that into the new Posts tab alone. Wanted to go for minimally invasive, but if it's preferable to have that in the component (as it is for UserCommentsList), happy to adjust.
Excited to potentially contribute back to the community! Thanks for your consideration!

Updated my repo but that closed #1364 and wouldn't let me reopen it; created a new PR 😕

Thanks for taking the initiative to create a PR for this!
Unfortunately, I'm not sure how likely it is to be merged. The reason we only have 3 tabs is that on certain mobile resolutions a 4th tab causes it to overflow onto a 2nd row which looks bad and takes up vertical space.
I'd be happy to send you a small manalink though either way (I can't do it right now, so @ me here if I forgot and don't send u an email with it in the next couple of days)
I've added @ingawei to review it though as she is the person who has been working on this.

Aha - Figured there might be good reason.  Thanks for the reply!  I wonder
if the third icon could become a More button with a tab menu or something?
On Sun, Jan 1, 2023 at 6:30 PM SirSaltyy @.***> wrote:

Thanks for taking the initiative to create a PR for this!
Unfortunately, I'm not sure how likely it is to be merged. The reason we
only have 3 tabs is that on certain mobile resolutions a 4th tab causes it
to overflow onto a 2nd row which looks bad and takes up vertical space.
I'd be happy to send you a small manalink though either way (I can't do it
right now, so @ me here if I forgot and don't send u an email with it in
the next couple of days)
I've added @ingawei https://github.com/ingawei to review it though as
she is the person who has been working on this.
—
Reply to this email directly, view it on GitHub
https://github.com/manifoldmarkets/manifold/pull/1371#issuecomment-1368565804,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFXE5BQ5I7X3HWWZP6I4XDWQIHRDANCNFSM6AAAAAATOETVJE
.
You are receiving this because you were mentioned.Message ID:
@.***>

There's also another reason. There's a product decision on whether we want to promote Posts as a thing every user should do (in which case it should be an option on their user page).
I lean against giving posts more prominence because I think most users won't want to create one. It shouldn't be a tab on the same level as Markets, Portfolio, and Comments because it's not that important, and we need to focus on the core product.
It's a bad thing to present more options to the user and more things to do. That's why posts are kind of hidden at the moment while we work on other things.


The pagination isn't working for some API endpoints

We have overwritten the list method but we aren't paginating the result in it, that's why the pagination isn't working for some endpoints.
The pagination is applied in the queryset and returned with the get_paginated_response, so if we overwrite the list method, we have to add the following logic to the functions:
    page = self.paginate_queryset(queryset)
        if page is not None:
            serializer = self.get_serializer(page, many=True)
            return self.get_paginated_response(serializer.data)

@leonholub I found this in TolaActivity. Take a look if it's being finally solved

@Menda It's solved only for the endpoint that was added the pagination. All the other endpoints that we have overwritten the pagination isn't working.


Not resolving parent class correctly

I noticed that when generating docs for our API (written in C) doesn't resolve the parent class for all classes. Classes that subclass the same parent class doesn't consistently resolve.
I ran with --debug to try to figure out what is going on. Here's my preliminary finding:
Key baseclass Sketchup::Entity - Most of our classes inherit from this.
One class Sketchup::Curve resolve it's parent class Sketchup::Entity correctly.

But this other class Sketchup::Drawingelement fail:

It's a bit strange - as it display "Entity" as the parent name, but doesn't resolve to Sketchup::Entity which Sketchup::Curve does.
Excerpt from the debug log: (full filenames stripped)
# Line 90:
[debug]: Parsing [...]entity.cpp
[debug]: Missing object Sketchup in file `[...]entity.cpp', moving it to the back of the line.
# Line 595:
[debug]: Parsing [..]drawingelement.cpp
# Line 1446:
[debug]: Re-processing [..]entity.cpp...

So it looks like that YARD can push file back in the queue if the module it is defined it hasn't been parsed yet. But by the looks of it, YARD doesn't do the same for the base classes when creating subclasses.
In the above example it looks as though drawingelement.cpp should be pushed back in the queue until entity.cpp has been processed.
I might be wrong in my assessment - I'm not  familiar with exactly these things are resolved.
Any clues to what might be going on here - or how to further debug - would be much appreciated.
(I've not been able to figure out a minimal reproducible case yet.)

Looking into another warning in the log:
[warn]: The proxy Material has not yet been recognized.
[warn]: If this class/method is part of your source tree, this will affect your documentation results.
[warn]: You can correct this issue by loading the source file for this object before [...]

Does this mean there is a way to specify the order of which files are processed?

You can force files to parse in a specific order by providing the filename in your .yardopts file as the first file in the files glob argument:
file1.c *.c

I managed to repo it with minimal code. GitHub doesn't allow ZIP uploads so I uploaded as a gist, you can either pull it or download the full set from there: https://gist.github.com/thomthom/7cd8d7954646fb5b1017
The example show a few files which defines classes that inherit from Sketchup::Edge - only Sketchup::Layer resolve its parent Sketchup::Entity class correctly in the docs.
The rest will just display Entity without a link back to its parent and without displaying any inherited methods.
On the surface of things it appear that it's because of loading order - where Sketchup::Layer resolves it base class correctly because it's parsed after.

Adding a few explicit directives to control the order of some key classes and modules seemed to resolve it in my case. Thank you.
Though, as you say, it would be nice if it was automatically resolved such that only could simply provide a wild-card match for all CPP files.

@thomthom are you suggesting that adding .cpp to the glob would resolve this for you? That seems like an easy enough change.

Using a wild-card in the yarddoc argument was what I used (**/*cpp), but the problem was that the files parsed where done in the order the glob method would find them. Yard manage to bump files back in the queue when the namespace they belong to haven't been parsed. But Yard doesn't bump the files down if a class inherit from another class which is yet to be parsed. This is where I had to manually list the files containing base classes first - before my wild-card pattern.
I don't think that commit will resolve this issue I'm afraid.

files parsed where done in the order the glob method would find them.

Files are not parsed in glob-order, they are sorted by length prior to parsing. That said, the issue you're referring to should be solvable by adding ensure_loaded!(parent_class) guard prior to the proxy check in handler_methods.rb. I can take a look at that one, but I haven't been able to reproduce your unlinked Entity issue from the screenshots on my machine with master... are you sure that your gist reliably reproduces the issue?

On my machine, with latest on master the Edge and Layer class both produce unlinked reference to Entity:

I'm on a Windows system - not sure if that has any significance?
I added ensure_loaded!(parent_class) to line 19 before the Proxy check - and that did not seem to work. The docs generated now said that Sketchup::Layer inherited Object directly.
The debug log:
C:\Users\Thomas\Desktop\temp
λ yardoc *.cpp --debug
[debug]: Parsing ["attributes.cpp", "drawingelement.cpp", "edge.cpp", "entity.cpp", "layer.cpp", "sketchup.cpp"] with `ruby` parser
[debug]: Parsing attributes.cpp
[debug]: Missing object Sketchup in file `attributes.cpp', moving it to the back of the line.
[debug]: Parsing drawingelement.cpp
[debug]: Missing object Sketchup in file `drawingelement.cpp', moving it to the back of the line.
[debug]: Parsing edge.cpp
[debug]: Missing object Sketchup in file `edge.cpp', moving it to the back of the line.
[debug]: Parsing entity.cpp
[debug]: Missing object Sketchup in file `entity.cpp', moving it to the back of the line.
[debug]: Parsing layer.cpp
[debug]: Missing object Sketchup in file `layer.cpp', moving it to the back of the line.
[debug]: Parsing sketchup.cpp
[debug]: Re-processing layer.cpp...
[debug]: Missing object Entity in file `layer.cpp', moving it to the back of the line.
[debug]: Re-processing layer.cpp...
[debug]: Missing object Entity in file `layer.cpp', moving it to the back of the line.
[debug]: Re-processing layer.cpp...
[warn]: The proxy Entity has not yet been recognized.
[warn]: If this class/method is part of your source tree, this will affect your documentation results.
[warn]: You can correct this issue by loading the source file for this object before `layer.cpp'
[warn]:
[debug]: Missing object Layer in file `layer.cpp', moving it to the back of the line.
[debug]: Re-processing layer.cpp...
[debug]: Missing object Layer in file `layer.cpp', moving it to the back of the line.
[debug]: Re-processing layer.cpp...
[debug]: Re-processing entity.cpp...
[debug]: Missing object Object in file `entity.cpp', moving it to the back of the line.
[debug]: Re-processing entity.cpp...
[debug]: Missing object Object in file `entity.cpp', moving it to the back of the line.
[debug]: Re-processing entity.cpp...
[warn]: The proxy Object has not yet been recognized.
[warn]: If this class/method is part of your source tree, this will affect your documentation results.
[warn]: You can correct this issue by loading the source file for this object before `entity.cpp'
[warn]:
[debug]: Missing object Entity in file `entity.cpp', moving it to the back of the line.
[debug]: Re-processing entity.cpp...
[debug]: Missing object Entity in file `entity.cpp', moving it to the back of the line.
[debug]: Re-processing entity.cpp...
[debug]: Re-processing edge.cpp...
[debug]: Missing object Drawingelement in file `edge.cpp', moving it to the back of the line.
[debug]: Re-processing edge.cpp...
[debug]: Missing object Drawingelement in file `edge.cpp', moving it to the back of the line.
[debug]: Re-processing edge.cpp...
[warn]: The proxy Drawingelement has not yet been recognized.
[warn]: If this class/method is part of your source tree, this will affect your documentation results.
[warn]: You can correct this issue by loading the source file for this object before `edge.cpp'
[warn]:
[debug]: Missing object Edge in file `edge.cpp', moving it to the back of the line.
[debug]: Re-processing edge.cpp...
[debug]: Missing object Edge in file `edge.cpp', moving it to the back of the line.
[debug]: Re-processing edge.cpp...
[debug]: Re-processing drawingelement.cpp...
[debug]: Missing object Entity in file `drawingelement.cpp', moving it to the back of the line.
[debug]: Re-processing drawingelement.cpp...
[debug]: Missing object Entity in file `drawingelement.cpp', moving it to the back of the line.
[debug]: Re-processing drawingelement.cpp...
[warn]: The proxy Entity has not yet been recognized.
[warn]: If this class/method is part of your source tree, this will affect your documentation results.
[warn]: You can correct this issue by loading the source file for this object before `drawingelement.cpp'
[warn]:
[debug]: Missing object Drawingelement in file `drawingelement.cpp', moving it to the back of the line.
[debug]: Re-processing drawingelement.cpp...
[debug]: Missing object Drawingelement in file `drawingelement.cpp', moving it to the back of the line.
[debug]: Re-processing drawingelement.cpp...
[debug]: Re-processing attributes.cpp...
[debug]: Missing object Entity in file `attributes.cpp', moving it to the back of the line.
[debug]: Re-processing attributes.cpp...
[debug]: Missing object Entity in file `attributes.cpp', moving it to the back of the line.
[debug]: Re-processing attributes.cpp...
[warn]: The proxy Entity has not yet been recognized.
[warn]: If this class/method is part of your source tree, this will affect your documentation results.
[warn]: You can correct this issue by loading the source file for this object before `attributes.cpp'
[warn]:
[debug]: Missing object Attribs in file `attributes.cpp', moving it to the back of the line.
[debug]: Re-processing attributes.cpp...
[debug]: Missing object Attribs in file `attributes.cpp', moving it to the back of the line.
[debug]: Re-processing attributes.cpp...
[debug]: Serializing to .yardoc/objects/root.dat
[debug]: Re-generating object ...
[debug]: Re-generating object Sketchup...
[debug]: Re-generating object Sketchup::AttributesDictionary...
[debug]: Re-generating object Sketchup::Drawingelement...
[debug]: Re-generating object Sketchup::Edge...
[debug]: Re-generating object Sketchup::Entity...
[debug]: Re-generating object Sketchup::Layer...
[debug]: Generating asset js/jquery.js
[debug]: Serializing to doc/js/jquery.js
[debug]: Generating asset js/app.js
[debug]: Serializing to doc/js/app.js
[debug]: Generating asset js/full_list.js
[debug]: Serializing to doc/js/full_list.js
[debug]: Generating asset css/style.css
[debug]: Serializing to doc/css/style.css
[debug]: Generating asset css/common.css
[debug]: Serializing to doc/css/common.css
[debug]: Generating asset css/full_list.css
[debug]: Serializing to doc/css/full_list.css
[debug]: Generating asset class_list.html
[debug]: Serializing to doc/class_list.html
[debug]: Generating asset method_list.html
[debug]: Serializing to doc/method_list.html
[debug]: Generating asset file_list.html
[debug]: Serializing to doc/file_list.html
[debug]: Generating asset frames.html
[debug]: Serializing to doc/frames.html
[debug]: Serializing to doc/index.html
[debug]: Serializing to doc/_index.html
[debug]: Serializing to doc/top-level-namespace.html
[debug]: Serializing to doc/Sketchup.html
[debug]: Serializing to doc/Sketchup/AttributesDictionary.html
[debug]: Serializing to doc/Sketchup/Drawingelement.html
[debug]: Serializing to doc/Sketchup/Edge.html
[debug]: Serializing to doc/Sketchup/Entity.html
[debug]: Serializing to doc/Sketchup/Layer.html
Files:           2
Modules:         1 (    1 undocumented)
Classes:         5 (    5 undocumented)
Constants:       0 (    0 undocumented)
Methods:         6 (    6 undocumented)
 0.00% documented

It looks like it get stuck in a loop. Once it processes sketchup.cpp it tried to process layer.cpp where it then misses Entity - so it puts layer.cpp back in the queue only to pick it right up again.
When I go back to the unmodified trunk the debug log looks like this:
C:\Users\Thomas\Desktop\temp
λ yardoc *.cpp --debug
[debug]: Parsing ["attributes.cpp", "drawingelement.cpp", "edge.cpp", "entity.cpp", "layer.cpp", "sketchup.cpp"] with `ruby` parser
[debug]: Parsing attributes.cpp
[debug]: Missing object Sketchup in file `attributes.cpp', moving it to the back of the line.
[debug]: Parsing drawingelement.cpp
[debug]: Missing object Sketchup in file `drawingelement.cpp', moving it to the back of the line.
[debug]: Parsing edge.cpp
[debug]: Missing object Sketchup in file `edge.cpp', moving it to the back of the line.
[debug]: Parsing entity.cpp
[debug]: Missing object Sketchup in file `entity.cpp', moving it to the back of the line.
[debug]: Parsing layer.cpp
[debug]: Missing object Sketchup in file `layer.cpp', moving it to the back of the line.
[debug]: Parsing sketchup.cpp
[debug]: Re-processing layer.cpp...
[debug]: Re-processing entity.cpp...
[debug]: Re-processing edge.cpp...
[debug]: Re-processing drawingelement.cpp...
[debug]: Re-processing attributes.cpp...
[debug]: Serializing to .yardoc/objects/root.dat
[debug]: Re-generating object ...
[debug]: Re-generating object Sketchup...
[debug]: Re-generating object Sketchup::AttributesDictionary...
[debug]: Re-generating object Sketchup::Drawingelement...
[debug]: Re-generating object Sketchup::Edge...
[debug]: Re-generating object Sketchup::Entity...
[debug]: Re-generating object Sketchup::Layer...
[debug]: Generating asset js/jquery.js
[debug]: Serializing to doc/js/jquery.js
[debug]: Generating asset js/app.js
[debug]: Serializing to doc/js/app.js
[debug]: Generating asset js/full_list.js
[debug]: Serializing to doc/js/full_list.js
[debug]: Generating asset css/style.css
[debug]: Serializing to doc/css/style.css
[debug]: Generating asset css/common.css
[debug]: Serializing to doc/css/common.css
[debug]: Generating asset css/full_list.css
[debug]: Serializing to doc/css/full_list.css
[debug]: Generating asset class_list.html
[debug]: Serializing to doc/class_list.html
[debug]: Generating asset method_list.html
[debug]: Serializing to doc/method_list.html
[debug]: Generating asset file_list.html
[debug]: Serializing to doc/file_list.html
[debug]: Generating asset frames.html
[debug]: Serializing to doc/frames.html
[debug]: Serializing to doc/index.html
[debug]: Serializing to doc/_index.html
[debug]: Serializing to doc/top-level-namespace.html
[debug]: Serializing to doc/Sketchup.html
[debug]: Serializing to doc/Sketchup/AttributesDictionary.html
[debug]: Serializing to doc/Sketchup/Drawingelement.html
[debug]: Serializing to doc/Sketchup/Edge.html
[debug]: Serializing to doc/Sketchup/Entity.html
[debug]: Serializing to doc/Sketchup/Layer.html
Files:           7
Modules:         1 (    1 undocumented)
Classes:         5 (    5 undocumented)
Constants:       0 (    0 undocumented)
Methods:         6 (    6 undocumented)
 0.00% documented

First line says: [debug]: Parsing ["attributes.cpp", "drawingelement.cpp", "edge.cpp", "entity.cpp", "layer.cpp", "sketchup.cpp"] with ruby parser
All of these files need the Sketchup module defined in sketchup.cpp - so they are queued.
Last file to be pushed back into the queue is layer.cpp - then sketchup.cpp is processed and it resumes the queue. The next item in the queue appear to be the last one in - looks like it's a stack pattern being used.
However, when you look at what happens with ensure_loaded!(parent_class) it keeps pushing layers.cpp back in the stack, only to pick it right up again without trying to process the other onces first.
You mentioned that you don't see the same "unlinked" issue with my gist as I do, What does your debug log look like?

You mentioned that you don't see the same "unlinked" issue with my gist as I do, What does your debug log look like?

I see exactly what you pasted in your second log (unmodified source).
Just to clarify, I cannot reproduce your 1st screenshot, but I can repro your second (Sketchup::Edge does not link Drawingelement).
I took another look at resolving this. Using ensure_loaded!() doesn't solve it, there's a similar but not quite-the-same lookup that has to happen. Unfortunately YARD has a limitation in that it can only be searching for 1 single "missing object" at a time, so adding this check wouldn't work without a re-architecting of the parser. The problem is that Layer needs Entity, and Entity needs Sketchup-- by the time Layer is reparsed, Sketchup has been added, but Entity hasn't yet been. This would be solved if you parsed sketchup.cpp first, that way the rest of your files would be missing Entity, but only Entity, and that would be quickly solved by a single "re-parse" of the other files. Indeed, adding ext/sketchup.cpp ext/**/*.cpp as my files list solves all linking issues for me.
FWIW this is one reason why YARD sorts its list of files to parse by length. If you follow typical Ruby code structure conventions, objects inside of a namespace sit inside a directory named after said namespace, whereas the namespace (module / class) definition itself sits in the parent directory. In your case, the structure would be:
ext/
`- sketchup.cpp
`- sketchup/
   `- entity.cpp
   `- layer.cpp
   `- ...

YARD would parse the above by selecting ext/sketchup.cpp first. That's why this kind of lookup failure doesn't often happen with Ruby code. Using this structure would solve many of the code-dependency issues that YARD is running into. I would recommend using this organization since it's consistent with Ruby's organization conventions and things will "just work".
The tl;dr here is that this specific issue is a limitation in YARD and not "fixable" (technically possible but is too complex to be worth it)-- but you can use either of the above workarounds.

Thanks for looking into that.
Yea, we don't have standard structure to our Ruby code, ~10 code base, hundreds of classes/modules - I think we'll stick with simply manually ordering the important base classes and root namespaces in our yardopts file. I'll be a one time setup anyway and it works.
I'd hoped this would be an issue where I'd be able to contribute back, but alas. I'll see if I can take a stab at another one. :)
I'm ok with closing this one - unless you want to keep it open?

There is still value in pulling in the above ensure loaded style fix (though not exactly that line) to warn about invalid usage. It would make it more clear when your codebase has these dependency issues (though it won't solve the issue for you). I'll make that change and then close this out.

I'd hoped this would be an issue where I'd be able to contribute back, but alas. I'll see if I can take a stab at another one. :)

FWIW there is still #915 which seems like something that can be fairly easily implemented, if you're looking to contribute.

Yes, that was on my list of issues to look into.
Btw, when I ran with the ensure_loaded! added earlier I also got errors then - as it got stuck trying to resolve Object for some reason (rb_cObject). Did you get that when running my gist?
(Had added sketchup.cpp before *.cpp.)

Using ensure_loaded! will cause the above error, yes. What actually has to be checked for is not the definition of the object, but rather, the definition of the variable. In other words, not parent_class, but the parent variable name itself has to be resolved. There also needs to be a check to avoid any core classes, since those would never get resolved.

Finally had a chance to take a look at this and fix. YARD (master) should now attempt to look at your other files to resolve a namespace variable instead of just taking the literal name as a proxy.

Oh, thank you very much for looking into that. Sorry for being slow at following up on the issues I said I'd look into. The documentation project got suspended for a bit due to some other urgent project. I'm scheduled to resume soon though.
I will do a quick test of the change you made tomorrow to verify though.


SUBMARINE-243. Workbench failed to save project.

What is this PR for?
When we save a project in workbench, we get the following error:
javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: java.lang.NoClassDefFoundError: com/fasterxml/jackson/annotation/JsonMerge
What type of PR is it?
Bug Fix
What is the Jira issue?
https://issues.apache.org/jira/browse/SUBMARINE-243
How should this be tested?
https://travis-ci.org/yuanzac/hadoop-submarine/builds/598019153
Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

Due to the error:
java.lang.NoClassDefFoundError: com/fasterxml/jackson/annotation/JsonMerge
We need to use the jackson-annotations jar of which the version is 2.9.
Since PR #38 has set the following attribute in the pom.xml:
<jackson-annotations.version>2.9.10</jackson-annotations.version>
We need to delete the variable, jackson-annotations.version, from the profiles to make PR #38 take effects.

Thanks @liuxunorg for the review~
There already is jackson-annotations.version definition in the previous part of pom.xml. It is in line 66 of the pom.xml.
Deleting all jackson-annotations.jar in the profiles of pom.xml would make line 66 take effect.

Will merge if no more comments


NatML package not longer available Unity Asset Store

Hi,
NatML package is no longer available in Unity Asset Store - please tell me, how to get and install basic package?

Found this: [(https://github.com/natmlx/NatML#installing-natml)] as a solution

Cool :D


Implement server-side /logout functionality

During the current WebID-TLS workflow, there's no way for a client to request to Log Out (stop authenticating as a particular WebID user / certificate).
Need to implement a server-side capability to break the WebID-TLS session.

Moving to https://github.com/solid/solid/issues/5 as a result of the solid project workflow discussion. Closing.


fix: remove deprecated forRoot functions

In beta.2 the forRoot calls have been deprecated, and it was stated that those will be removed in the next release (https://goo.gl/2yFPFc)

I kicked off the process to remove all of these from Google apps; we can move forward with this PR once that's done.

@DevVersion I've successfully removed all use of forRoot on material's module inside Google, so this can proceed. No rush, though.

@jelbourn Rebased the PR. Please take a look.

@jelbourn Is it planned to release this in beta.3 as mentioned in the changelog?

@DevVersion I accidentally lied earlier; there were some instances of forRoot that I missed. I'm removing the remaining calls now, will probably take a couple days for approvals.

@DevVersion Okay, I have, at time of this writing, removed all the forRoot from Google. Let's get this rebased before people add more :smile:

@jelbourn Oh yeah. Done!

@DevVersion another forRoot snuck in since yesterday and I realized some people were also using MaterialRootModule, so I'm removing those now.....

@jelbourn Yeah, forRoot is very popular, obviously 😄 Let me know if I need to rebase. I think we have good chances that we don't have to rebase this PR again.

@DevVersion needs rebase


[4.2] AnimationPlayer does not play animations

Godot version
4.2
System information
Godot v4.2.stable - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3060 Laptop GPU (NVIDIA; <IP_ADDRESS>40) - AMD Ryzen 7 5800H with Radeon Graphics (16 Threads)
Issue description
Animating node properties does not work while using the AnimationPlayer node, both for projects upgraded to 4.2 from 4.1 and fresh ones. Keyframes store the changed values, but they do not update while the animation is playing
Steps to reproduce

Create a Node3D with a MeshInstance3D as child
Create an AnimationPlayer as child of the Node3D
Create a new animation for the AnimationPlayer
Keyframe properties (such as transform position, rotation or scale) for the Node3D
Set animation to autoplay and loop
Run scene

Minimal reproduction project
AnimTest4.1.zip
AnimTest4.2.zip
Note: The 4.1.1 project is a copy of the 4.2 project, downgraded to 4.1.1

I tried the steps provided but can't reproduce the issue. It works as expected (on Linux).
The zip contains only a binary which I didn't try.

The zip contains an unpacked project, you'd have to open it using the editor(s) for the respective version. The exported versions are attached:
4.1.1.zip
4.2.zip
The 4.1.1 works as expected, but the 4.2 version does not. I'll try and create a project on a different machine to test it out.

I also saw that extra track with a pink icon in my test. Not knowing what it was, I deleted it.

If that unintended track is added on import as @YuriSizov says, then it is a bug, otherwise it is just a usability issue and not regression.
Trying to assign the same parameter with two different types of tracks in one animation is possible in the GUI, but should never be allowed because AnimationPlayer will not handle it correctly. It is a lack of foolproof feature in Godot.
The fact that it miraculously worked in 4.1 may have something to do with the cache handling that was changed in 4.2 (see also https://github.com/godotengine/godot/pull/85604#issuecomment-1838795586). But in any case it is already not working correctly in 4.1, because depending on the order of the tracks, one of the two conflicting tracks is ignored.

@TokageItLab I think we should probably either raise a warning, or ignore such empty tracks (or both, raise a warning once but ignore them and play the animation with that track ignored).
It's still unclear how any of the users reporting this ended up with such empty tracks in the first place. But there's no clear steps to reproduce that UX issue so it doesn't seem addressable for now.

@akien-mga I think it is impossible to deal with them at this time. In the case above, there is a RotationTrack and a ValueTrack, but their paths are different, so the conflict cannot be detected.
I remember that one of the reasons Pos/Rot/Scl/BlendShape tracks were introduced in the first place was to reduce the acquisition of the target object. So basically, Node3D/transform and MeshInstance3D/blendshape should not use the Value track.
One UX issue I am aware of right now and where I think it could be improved is that keying in the inspector inserts the 3D transform as a ValueTrack, which can be confusing when creating a track from the TrackEditor. (BonePose correctly inserts the PosRotScl track because it was implemented later as InspectorPlugin.)
So I think we need to have specific hints in some Properties so that they do not insert ValueTracks by default when keying, such as interspersing a selection in the dialog like using Bezier.


Run with JDK8

Is your feature request related to a problem? Please describe.
when I try to import bull by Maven and use it in my project whose compile-level is JDK8, I got an error. Then I find out bull is compiled by JDK11.
Describe the solution you'd like
The features bull provided are really awesome~  So, I hope bull can provide a maven artifact like bean-utils-library-jdk8 which is compiled by JDK8.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
My english is not that good, I hope I have described my problem clearly. WELL DONE, bull !

Hi @tonnyyi ,
maybe this could be a problem related to the version you are using.
Try to use version 1.1.14 this should be the right version for JDK 8 (project have two different versions (with the same feature)for JDK8 and JDK 11).
@fborriello maybe we should make this more clear in doc / releases version?
@tonnyyi  Feel free to update the issue if this problem persists , and I think your Englis is better than mine :)

Hi @tonnyyi,@antimoroma is absolutely right: the same features are provided in two different build. We did it in order to let everyone able to use BULL in their project.
As a matter of fact, this "compatibility" was not so much clear, for this reason I have: specified it into the readme file, and I've created a separated changelog file. I hope this would clarify.
Thanks for your contribute, it would be really appreciated if you can provide your feedback after the library usage, this would help us to improve.
Have a nice day
P.S. thanks @antimoroma for the reply and feedback


Add sponsorship section

Add Stream logo and links

Thank you again for your sponsorship and your generous support!


Indentation Error does not occur when no value is entered after for

Feature
Expected Result
>>> for i in range(10):
...

In the python3 shell, if no value is entered when Indentation is required, (such as for: or if: or def, etc...), an IndentationError should be raised.

Hmm, maybe we could check if the previous syntax error was in the same place as the current one, and if it was then give an error?

Right now it looks like there is no IndentationError at all.  Likewise, TabError doesn't exist.

Using the following input from StackOverflow
command = "IDENTIFY"

if command == 'HOWMANY':
    opcodegroupr = "A0"
    opcoder = "85"
elif command == 'IDENTIFY':
opcodegroupr = "A0"
opcoder = "81"

Expected
  File "test2.py", line 7
    opcodegroupr = "A0"
               ^
IndentationError: expected an indented block

Actual
SyntaxError: Got unexpected token 'opcodegroupr' at line 7 column 1

I implemented IndentationError, but it does not resolve the original issue.


Can you offer the pre-trained model weights?

Hi, I'm interested with this model. But I can't run the test without your pretrained weights. Appreciated if you can offer the pretrained weights. Thx.
My email<EMAIL_ADDRESS>

Hi, I'm interested with this model. But I can't run the test without your pretrained weights. Appreciated if you can offer the pretrained weights. Thx.
My email<EMAIL_ADDRESS>
Sorry, I didn't train successfully on COCO dataset.

Hi, I'm interested with this model. But I can't run the test without your pretrained weights. Appreciated if you can offer the pretrained weights. Thx.
My email<EMAIL_ADDRESS>
Sorry, I didn't train successfully on COCO dataset.

I trained on COCO2017, but the result is far away from the paper. I used 100k images, same data operation with the paper. I checked your code and the BGU paper and the JBL paper. I think there is almost no fault with your code.
Here is my result trained 29 epochs:

All the test images are searched with google. The first two results are not as good as the paper. I don't know why. Maybe, the training dataset also matters.

hi liupgd, mousecpn , can you please upload your pre-trained model?
I understand its not perfect, but it would be great if you can share it.
thanks in advanced.

hi liupgd, mousecpn , can you please upload your pre-trained model?
I understand its not perfect, but it would be great if you can share it.
thanks in advanced.

Hi @oferidan1 , I modified the training to pytorch-lightning. I've merged my code to here: https://github.com/liupgd/Joint-Bilateral-Learning
checkpoint: https://drive.google.com/file/d/1BH5RyvRcwm0VC75iEcp2NLe4V7imyAn2/view?usp=sharing
some parameters:

It has been so long, I can't remember all details now. All above is what I can find out from my computer. Hope it will help you.

thanks alot, liupgd.

hi liupgd, mousecpn , can you please upload your pre-trained model?
I understand its not perfect, but it would be great if you can share it.
thanks in advanced.

Hi @oferidan1 , I modified the training to pytorch-lightning. I've merged my code to here: https://github.com/liupgd/Joint-Bilateral-Learning
checkpoint: https://drive.google.com/file/d/1BH5RyvRcwm0VC75iEcp2NLe4V7imyAn2/view?usp=sharing
some parameters:

It has been so long, I can't remember all details now. All above is what I can find out from my computer. Hope it will help you.

你好 能讲中文吧
我想问一下数据集是怎么做的 是随机在coco2017中选取风格图片和内容图片各50000张吗

好像是的，好久前的事了，记得不太清了。-------- 原始邮件 --------发件人： martin_chen @.>日期： 2021年6月17日周四 19:43收件人： mousecpn/Joint-Bilateral-Learning @.>抄送： liupgd @.>, Author @.>主    题： Re: [mousecpn/Joint-Bilateral-Learning] Can you offer the pre-trained model weights? (#7)
hi liupgd, mousecpn , can you please upload your pre-trained model?
I understand its not perfect, but it would be great if you can share it.
thanks in advanced.
Hi @oferidan1 , I modified the training to pytorch-lightning. I've merged my code to here: https://github.com/liupgd/Joint-Bilateral-Learning
checkpoint: https://drive.google.com/file/d/1BH5RyvRcwm0VC75iEcp2NLe4V7imyAn2/view?usp=sharing
some parameters:
It has been so long, I can't remember all details now. All above is what I can find out from my computer. Hope it will help you.
你好 能讲中文吧
我想问一下数据集是怎么做的 是随机在coco2017中选取风格图片和内容图片各50000张吗
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.

hi liupgd, mousecpn , can you please upload your pre-trained model?
I understand its not perfect, but it would be great if you can share it.
thanks in advanced.

Hi @oferidan1 , I modified the training to pytorch-lightning. I've merged my code to here: https://github.com/liupgd/Joint-Bilateral-Learning checkpoint: https://drive.google.com/file/d/1BH5RyvRcwm0VC75iEcp2NLe4V7imyAn2/view?usp=sharing some parameters:
It has been so long, I can't remember all details now. All above is what I can find out from my computer. Hope it will help you.

I use yours pre model ,but get error,i dont know why ,can  you  help me  ?
my   test cmd
python test.py --cont_img_path /home/zhy/Projects/RealHM/vendor_testing_2/pexels-aleksandar-pasaric-2115367.jpg --style_img_path /home/zhy/Projects/RealHM/vendor_testing_2/pexels-aleksandar-pasaric-2115367_fore.jpg  --model_checkpoint ./checkpoints/JBL-epoch=73.ckpt
and error:

Hi,@zhanghongyong123456 if you are using both  my pytorch-lightning version of code and the pretrained model. please just use main_pl.py for training and testing purpose. The pytorch-lightning models are different from the original ones and can't be loaded by pytorch directly. The main_pl.py' s arguments has shown how to do the test. Hope this help you.

Hi,@zhanghongyong123456 if you are using both my pytorch-lightning version of code and the pretrained model. please just use main_pl.py for training and testing purpose. The pytorch-lightning models are different from the original ones and can't be loaded by pytorch directly. The main_pl.py' s arguments has shown how to do the test. Hope this help you.

yes,I want to know how the parameters are configured, I only have one GPU, I don't know where to pass the test image (content and style)，only add checkpoint  path

Hi,@zhanghongyong123456 if you are using both my pytorch-lightning version of code and the pretrained model. please just use main_pl.py for training and testing purpose. The pytorch-lightning models are different from the original ones and can't be loaded by pytorch directly. The main_pl.py' s arguments has shown how to do the test. Hope this help you.

Hello, I have successfully tested the model according to your prompt, I have two questions looking forward to your reply, 1. Can I achieve 4K real-time 1080 on the computer（in paper,I know   mobile phone  4k real time ?） 2. How to set the high resolution (2K 4K), the result I get is 512 Resolution, if it can be any resolution, set it there, I am not too familiar with the pytorch_lightning library


is there 'simulate' callback?

I want to test, after simulate.
because after event emit, setState is async.
so if test should be success, async was resolved.
than we should expect test spec.
so we need some callback. whatever.
it('will success', (done) => {
  wrapper.simulate('click', () => {
     // expect code..
     done();
  });
})

but there is no callback arguments..
why nothing?

simulate calls user code, and enzyme has no idea if that code calls setState or not. So, there's no way to know if a callback is even needed, let alone to know when to fire it.

thanks🙏


Temperatue converter project added (issue: #1658)

Hello sir,
I have added one temperature converter project. kindly review and merge it.
Title and Issue Number

Close #<1658>

Checklist:

[X] I have mentioned the issue number in my Pull Request.
[X] I have commented on my code, particularly in hard-to-understand areas
[X] I have created a helpful and easy-to-understand README.md

(https://github.com/pranjay-poddar/Dev-Geeks/assets/102273107/62068279-d114-46a1-a3b4-a149f70d8fb4)
Screen Recording...


Print out the languages that are being updated for set_changelog action

          1 Warning

:warning:
Please provide a changelog summary in the Pull Request description @KrauseFx

  Generated by :no_entry_sign: Danger


Add the priority queue implementation

@gabyarte should we remove this issue now that you added the Heap implementation? Or are priority queues different from heaps somehow? Maybe heaps are used to implement priority queues? Not quite sure about the difference.

@albexl I think the idea behind heap and priority queue are the same. According to some pages, the priority queue is based on the queue structure, while the heap is based on a tree structure ([1]). In other references, it isn't clear the real difference and, in fact, the priority queue is implemented using a binary heap ([2], [3]).
Given all these facts, I would say that this issue can be closed, but I leave it to your consideration.

Closed it is.


Authorization Header not set

I am following the server example for PHP and previously I have encountered this issue which was caused by the .htaccess not setting the 'Authorization' header to which I updated my own .htaccess file with yours.
The problem I'm getting is when I send a put request to
Route::put('api/me', array('before' => 'auth', 'uses' => 'UserController@updateUser'));
Which gives the following error:

What is strange is this route is working just fine.
Route::get('api/me', array('before' => 'auth', 'uses' => 'UserController@getUser'));

Sorry for posting this issue, I manage to debug the error which was on my part.


network data messages

Hi,
I am currently implementing a new runtime and so far most of the bases works but I was puzzled about the protocol:network, I enabled it and with it responds to the getstatus message but then I looked at the documentation and saw the data message.
I implemented it (at least what I send seems correct) but so far I have yet to find any effect on the ui, does it work ? How and where the data messages should appear ?
I tried to select an edge, a node, nothing... :(
The right panel stays empty and there are no errors on the console.
PS: I tried with flowhub as well the master branch.

The network:data should appear in the left panels of the selected edges.
noflo-ui is currently extremely picky about the id values, which is a bug: https://github.com/noflo/noflo-ui/issues/293

thanks, I will give it a try :)

I just did some test using the id formatted as mentioned but I still can't make the data appears :/
I already noticed some annoying mixups with library and name in other places (there are already issues open there maybe even by you ^^), in some place you need to include library in the name, others want it in a specific field...
This is a really awesome application but it would be nice to have some debugging message when something is wrong inside os silently discarding messages.

@schmurfy I would recommend introspecting what the WebSocket data from a working runtime looks like (using the Chrome Devtools). http://codetheory.in/websocket-traffic-inspection-in-chrome-developer-tools/
Here is example of the format from working code (a bit verbose since its C):
https://github.com/jonnor/imgflo/blob/master/lib/ui.c#L124

thanks for the source link, I figured out other things by looking at what is sent by other runtimes but that's annoying :/

in fact I can't even run any existing runtimes...
I can't build imgflo and the nodejs runtime does not seems to send any data message, I guess I will just concentrate on something else and put the data messages aside for now.

noflo-nodejs should send data messages, assuming there is a running network set up

Thanks, the graph was not running :p
I gave another try and now I see what noflo-nodejs sends (and the data messages show on the ui) but still can't manage to reproduce it on my own :\
What are the network:connect and network:disconnect messages supposed to mean ? I tried sending a connect, my data and a disconnect but still not shows up :(

Can you show your graph, and the output of the messages you are sending over WebSocket (from Chrome devtools etc)?
network:connect/disconnect are for indicating start/end-of-transmission for runtimes which have this concept. It works fine without it.

I checked again every messages sent to avoid wasting your time and I managed to find the culprit, I was sending the graph name alone but it was expecting <library>/<name>, I also had the same issue in the getstatus response but I am not sure it does matter as there was no errors.
is there a practical reason to split library and name for some calls instead of always using the "full" name <library>/<name> ?

Not that I know of, no, I think its just inconsistencies. We have some bugs filed related to this, like https://github.com/noflo/noflo-ui/issues/411
Anyway, glad you found the issue :)

Thanks for your help, having the debug messages will really help move forward ^^

I just updated to the latest release (0.25.1) and this issue came back to bite me again :(
I am using a local copy of noflo-ui and I access it using an url like: http://<IP_ADDRESS>:8080/#runtime/endpoint?protocol=websocket&address=ws%3A%2F%2F<IP_ADDRESS>:8080
when I am in that state the debug message are shown correctly when I select an edge but I cannot edit anything, now if I click "Edit as project" it takes me to another url which looks like this for me: http://<IP_ADDRESS>:8080/#project/e6b6a67d-662c-4af0-8b67-e24fe2d4561c/e6b6a67d-662c-4af0-8b67-e24fe2d4561c%2Fmain
In this state I can edit the graph but the debug message no longer show, if I look at the developer tools I see the message are still sent through the websocket...
is it the normal behavior ?

@schmurfy what runtime are you using (and version)?
When going from edit mode to live mode, Flowhub  sends over the current state as graph messages. I've seen in some cases that the 'network' id changes in this case. Do you see anything like that?
Will need the log of WebSocket messages to be able to help debug this.

I am seeing a related issue with MicroFlo. Data is not shown in edge inspectors when in live mode, but when changing to editor mode they do. So opposite from what you are seeing.

We now generate consistent IDs internally in the packet inspector, so this should no longer be a problem.


EPIC RSR-91 / RSR-15 : S25 : Configure ldNames values (functional naming and product related naming)

This US (user story)  purpose is to configure LD.ldName of a given list of IED.name (multiple) accordingly to Product-related or Functional-related naming. This service is typically called independently of by the service "S21 : configure (edit) IED names".
As service user, I would like to configure LD.ldName accordingly to Product-related or Functional-related naming for a given IED.name.
Prerequisites : an existing SCD file with at least one IED.name which contain at least one LDevice.inst
The following inputs are required :
A previous existing SCD file defined by Header.id, Header.version and Header.revision (required)
Parameter value: "Product-related naming" or "Functional-related naming" (required)
In the case of "Functional-related naming",
The list of (LDevice.inst, new LDevice.ldName) is provided
If the list of (LDevice.inst, LDevice.ldName) is missing, the SCL/IED/AccessPoint/Server/LDevice.ldName attribute is missing and  the uniqueness of LDevice.ldName is not verified.
If the list is provided (LDevice.inst, LDevice.ldName), it must be unique within the subnetwork (IEC61850-6 p47).
In case of "Product-related naming"
List of IED.name (required)
Respect the concatenation of IED.nameLDevice.inst to define LDevice.ldName
This pattern will apply to all LDevice.ldName to current importing ICD file.
Service process : the service will:
If Product-related naming is set,  according to IEC61850 standard with LDevice.ldName equals the concatenation of IED.nameLD.inst.
For each /SCL/IED.name = input IED.name, select /SCL/IED/LDevice.inst
Rename /SCL/IED/AccessPoint/Server/LDevice.ldName = IED.nameLD.inst
Do it for all LDevice.inst of all defined IED.name in input list
If Functional-related naming is set, rename all /SCL/IED/AccessPoint/Server/LDevice.ldName according to the list of (IED.name, LD.inst; new LDevice.ldName(s)).
Before committing the change in SCD file, check that for all /SCL/IED/AccessPoint/Server/LDevice.ldName belonging to the same Subnetwork.name (/SCL/Communication/SubNetwork/ConnectedAP/ConnectedAP.apName=/SCL/IED/AccessPoint/AccessPoint.name) to which belongs the LDevice.ldName are unique within the SCD else an error message is displayed and the whole process is aborted (IEC61850-6 p47).
If there is not LDevice.ldName attribute for a given IED.name, LD.inst, the attribute is filled with new LDevice.ldName
If there is already a LDevice.ldName for a given IED.name, LDevice.inst, the attribute value is replaced with new LDevice.ldName
Whatever the "Product-related naming" or "Functional-related naming",
Check that each new LDevice.ldName is unique within its subnetwork (IEC61850-6 p47) else an error message is displayed and the whole process is aborded
Select the SCL/IED.name and SCL/AccessPoint.name where the LDevice.ldName resides
Select the SCL/Communication/Subnetwork/ConnectedAP.iedName = SCL/IED.name AND SCL/Communication/Subnetwork/ConnectedAP.apName = SCL/AccessPoint.name
If exist verify that the LDevice.ldName is unique within the SCL/Subnetwork.name
If not exist, do not run the check.
If Communication is already binded that means that values have been defined for /SCL/IED/AccessPoint/Server/LDevice/LN0 or LN/DOI/DAI.name=setSrcRef/Val, replace inside each following Val String the previous LDevice.ldName with new LDevice.ldName
DOI.name=InRef/DAI.name = setSrcRef/Val
DOI.name=InRef/DAI.name = setSrcCB/Val.
The output is
In case of success an updated SCD file (Header.id, version and revision) with new LDevice.ldName for each IED.name
An error message "LDevice.ldName is not unique within the Subnetwork.name= value of the subnetwork.name"

It looks good to me, however, I don't have deep knowledge about 61850 SCL as noted here right now.


windows 8.1 — crashes on startup

I have tried to install brackets 1.1 somewhere between 3-5 times.
Whenever I start it, it goes...

Essentially Windows is telling me that brackets is no longer working whereas what it means is it never did... for me.
Actually, it kinda does, when I go through the program compatibility assistant. At some point after some 3 minutes of having windows do its thing it even finds some configuration to have it start. But then, windows doesn't actually remember whatever settings worked, even though it asked whether it should and I confirmed.
So, next startup I am again greeted with the above.

@tobibeer this article explains where to find your "cache" folder. The parent folder is the Brackets user folder. Delete Brackets folder to clear everything out before trying to re-install. You may also want to re-download installer as it may have been corrupted.

@redmunds: I deleted any Brackets folder under C:\Users\<username>\AppData\. Unfortunately, that didn't help. I have updated the above screenshot to actually show the problem signature given by windows.

@tobibeer can you send us a crash log.  https://github.com/adobe/brackets/wiki/Crash-Logs describes how to setup your system to get the crash log.  Then if you could share it over something like Google drive or Dropbox so we can take a look at it.  Thanks!

Here's the dump: https://dl.dropboxusercontent.com/u/2040050/debug/Brackets.exe.5480.dmp

The crash log contains reference to a FileBXH32.dll, which is apparently part of an app called "FileBox eXtender."  @tobibeer do you have that app installed?  If so, maybe try disabling or uninstalling it temporarily to see if the crash goes away -- that would be valuable to know.

Thank @peterflynn, that solved the problem.


Support for mobs

Do you plan to implement support for TenPlus1's Mobs Redo mod so mobs can catch on fire too?

There isn't much code that could be used for doing mobs that can be lit on fire.
This would probably be best as a separate mod, you might even be able to get TenPlus1 to add something to his api


HMS Map - The map is not loading completely

Description
The map is not loading properly. It loads some regions and some regions are not rendered. I made all the necessary settings. But I couldn't find a solution. Any ideas?
Screenshots
https://ibb.co/n3hdVr2
Environment

Platform: [e.g. React-Native]

1 Make sure the MAP kit is enabled in you app from Huawei Developer.
2 Make sure you add the dependency for Map Kit in Build.Gradle app.
3 Make sure the SHA-256 certificate fingerprint that you entered in develeper is the same in the app. docs link
4 Make sure that you entered the signingConfigs in the build.gradle app.
For details, you could follow this docs to configure.


Feature/nur 410 fed nav refinement

Add Learn module section and article page breadcrumbs
Learn module article page links must be numbered
Article title arrow cannot be linked externally

@projectmushroom please review


filter isn't being called in IE9

This code doesn't work in IE9
http://jsfiddle.net/UkB7u/
Try adding alert or console.log within the filter and you will see that it never gets called. Works fine in Chrome/Firefox though.
UPDATE: I just discovered that %QUERY in the URL is what actually prevents it from working in IE9. URLs without %QUERY work fine in IE9.
UPDATE2: I am not 100% sure why it doesn't run in IE9. I will keep on investigating.

Happens coz IE9- struggles with cross domain requests.
Another easy solution: add an automatic polyfill (after jquery) for lte: ie9-
<!--[if lte IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.3/jquery.xdomainrequest.min.js"></script>
<![endif]-->

You should really add a comment to the docs. the docs say that its IE8+ compatible!


templates: Replace templates.render with require calls.

This removes an unnecessary layer of indirection and allows webpack to catch filename mistakes. It’s also the first step toward removing copies of all the templates from bundles that only use a few templates.
We won’t get those bundle size benefits until we also remove our partial helper (which, as far as webpack is concerned, must still have every template available) in favor of the upstream partials syntax. Although upstream Handlebars requires you to register all partials in advance, handlebars-loader does not. I have a branch where that is working, and I just need to get the Node tests passing, probably by subclassing the compiler like handlebars-loader does. But anyway, this first step is large enough as it is.
Cc: @tommyip
Testing Plan: run-dev seems to work.

Okay I finished removing partial too!

Question before merging this. Both handlebars and handlebars-loader support two extensions for template filenames: .handlebars and .hbs. Do we want to rename our templates to .hbs on account of it being shorter before we bake the extension into lots of code?

Hmm, good question.  I think .hbs is probably not a great choice -- it's shorter but harder to google and thus more of a burden for people new to the codebase.
Possibly we should use the .html extension, rather than .handlebars or .hbs?  I feel like from a "you don't know details about Zulip yet" perspective, .html is really clear in a way that .hbs or .handlebars is not if you e.g. find something via git grep, and we already use that extension for the Django templates in tempates/.  We could maybe make it static/handlebars/foo.html if we wanted to make it still clear from the path what the templating engine is, which is probably helpful.
Similarly, if you're reading the JavaScript, what you care about most is that we're getting some HTML, which is not at all visually obvious from require(... foo.hbs), but is with require(... foo.html).  So again we end up with a situation where code is harder to read until you read whatever Zulip tutorial teaches you about handlebars templates.
It's probably a bit of a pain to migrate just because of linter configuration, but probably worth getting some feedback in a post in #frontend.

Copying my response from https://chat.zulip.org/#narrow/stream/6-frontend/topic/Handlebars.20filename.20syntax:

I don’t think .html is a good idea. That would involve telling webpack to treat all .html files as Handlebars templates (which could prevent us from doing things with e.g. html-webpack-plugin in the future), or teaching it to treat different .html files differently depending on their directory (which is extra complexity that will confuse humans if nothing else). And it would probably involve telling Node to treat all .html files as Handlebars templates unconditionally, since you don’t get as many knobs there.
The handlebars Node library doesn’t even have an option for installing Node handlers for extensions other than .handlebars and .hbs.

We seem to have decided on .hbs with underscores instead of hyphens, so I did that rename in #12768 and rebased on that.
Last thing I still need to do is move all the require() calls to the normal position at the top of the file instead of inline, because that looks more normal, and we’ll need to do it anyway when the require()s become imports.

Moved require()s to the top.

The first commit caused the linter to not run on handlebars templates anymore; applied this to fix:
diff --git a/tools/check-templates b/tools/check-templates
index cc26a68d9d..72e735280a 100755
--- a/tools/check-templates
+++ b/tools/check-templates
@@ -27,10 +27,10 @@ def check_our_files(modified_only, all_dups, targets):
         lister.list_files(
             targets=targets,
             modified_only=args.modified,
-            ftypes=['handlebars', 'html'],
+            ftypes=['hbs', 'html'],
             group_by_ftype=True, exclude=EXCLUDED_FILES))

-    check_handlebar_templates(by_lang['handlebars'])
+    check_handlebar_templates(by_lang['hbs'])
     check_html_templates(by_lang['html'], args.all_dups)

 def check_html_templates(templates, all_dups):
diff --git a/tools/html-grep b/tools/html-grep
index 5872f702c4..92adb24ff6 100755
--- a/tools/html-grep
+++ b/tools/html-grep
@@ -72,7 +72,7 @@ def check_our_files():

     files = lister.list_files(
         modified_only=options.modified,
-        ftypes=['handlebars', 'html'],
+        ftypes=['hbs', 'html'],
     )

     fns = [fn for fn in files if ('casperjs' not in fn) and ('puppet/zulip' not in fn)]
diff --git a/tools/lint b/tools/lint
index 65d351a42a..ae99681c2d 100755
--- a/tools/lint
+++ b/tools/lint
@@ -48,7 +48,7 @@ def run():

     by_lang = linter_config.list_files(groups={
         'backend': ['py', 'sh', 'pp', 'json', 'md', 'txt', 'text', 'yaml', 'rst'],
-        'frontend': ['js', 'ts', 'css', 'scss', 'handlebars', 'html'],
+        'frontend': ['js', 'ts', 'css', 'scss', 'hbs', 'html'],
     }, exclude=EXCLUDED_FILES)

     linter_config.external_linter('add_class', ['tools/find-add-class'], ['js'],
@@ -70,7 +70,7 @@ def run():
                                   fix_arg='--fix',
                                   description="Standard puppet linter"
                                   "(config: tools/linter_lib/exclude.py)")
-    linter_config.external_linter('templates', ['tools/check-templates'], ['handlebars', 'html'],
+    linter_config.external_linter('templates', ['tools/check-templates'], ['hbs', 'html'],
                                   description="Custom linter checks whitespace formatting"
                                   "of HTML templates.")
     linter_config.external_linter('swagger', ['node', 'tools/check-swagger'], ['yaml'],
diff --git a/tools/linter_lib/custom_check.py b/tools/linter_lib/custom_check.py
index 2b6378c9a8..13f234d451 100644
--- a/tools/linter_lib/custom_check.py
+++ b/tools/linter_lib/custom_check.py
@@ -726,7 +726,7 @@ html_rules = whitespace_rules + prose_style_rules + cast(Rule, [
 ])

 handlebars_rules = RuleList(
-    langs=['handlebars'],
+    langs=['hbs'],
     rules=html_rules + cast(Rule, [
         {'pattern': "[<]script",
          'description': "Do not use inline <script> tags here; put JavaScript in static/js instead."},

Merged, thanks @andersk!  However, this doesn't have the commit to move the require calls to the top (I guess you probably forgot to push that?), so that can go in a next PR.

The first commit caused the linter to not run on handlebars templates anymore; applied this to fix:

Hmm, that caused lint to fail because pretty_print doesn’t like the (pre-existing) static/icons/fonts/template.hbs file.
templates | Invalid Indentation detected in file: static/icons/fonts/template.hbs
templates | Diff for the file against expected indented file:
templates | 34c34
templates | <     content: "\\{{this}}";
templates | ---
templates | > content: "\\{{this}}";

However, this doesn't have the commit to move the require calls to the top (I guess you probably forgot to push that?),

Nope, nothing was forgotten, the require calls are at the top.

Nope, nothing was forgotten, the require calls are at the top.

Oh, indeed.


Fix errno conversion to error

Codecov Report

Merging #403 into master will decrease coverage by 0.04%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master     #403      +/-   ##
==========================================
- Coverage   58.94%   58.89%   -0.05%
==========================================
  Files          26       26
  Lines        2426     2428       +2
==========================================
  Hits         1430     1430
- Misses        938      940       +2
  Partials       58       58

Impacted Files
Coverage Δ

pkg/fpga/ioctl_linux.go
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update bc22a07...9e40cc9. Read the comment docs.

/lgtm

Squashed


Fix broken dependency injection for number ranges using redis

1. Why is this change necessary?
Number range breaks when using redis for the IncrementRedisStorage
2. What does this change do, exactly?
Fix the dependency injection (seems to be a simple typo)
3. Describe each step to reproduce the issue or behaviour.
Setup "Redis" as number range increment storage via config
shopware:
  number_range:
    increment_storage: "Redis"
    redis_url: '%env(string:REDIS_URL)%/1'

4. Please link to the relevant issues (if any).
#2580
5. Checklist

[X] I have rebased my changes to remove merge conflicts
[ ] I have written tests and verified that they fail without my change
[X] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[X] I have read the contribution requirements and fulfil them.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/NEXT-23674
Please use this issue to track the state of your pull request.

Thanks for your contribution, your changes were merged! :tada: :blue_heart:


encoding error with graalvm

Fixes #215

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 58.907%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4046

Relevant Lines:
6619

💛  - Coveralls


Merge internal fork of LSP tools host back

Merges the preview version of the extension code back into this repo.
TODO

Update server publishing to publish to a public feed and consume it here.
Create CI pipeline in dnceng-public

In separate PRs:

Create mirror in dnceng/internal
Create official build in dnceng/internal
Create release pipeline in dnceng/internal
Create devkit insertion pipeline in internal

💯

Need to setup the dnceng pipeline, but I think this might need to merge first


Feature Request : Allow spaces in category

When using this plugin you may want to write something like
user++ perl coder
currently I use :
user++ perl_coder
And my proposition doesn't necessarily mean to add 1 point in 'perl' and 1 point in 'coder' maybe should support something like :
user++ "perl coder"
But it's up to you to choose what's doable with the current code.

\o/ \o/ \o/ \o/ \o/  Youhou !!!!! \o/ \o/ \o/ \o/ \o/


Lack of connectors available for on-premise data gateways

Lack of connectors available for on-premise data gateway.
Please add "SAP ERP" and "Desktop flow". Please add any others that are missing if it exists.

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

ID: 213d2c56-a05d-0ba5-6165-f52e0eb1be7b
Version Independent ID: b089a13e-14f0-116c-fcef-474760ee6068
Content: Learn to manage on-premises data gateways - Power Automate
Content Source: articles/gateway-manage.md
Service: power-automate
Sub-service: cloud-flow
GitHub Login: @MSFTMan
Microsoft Alias: deonhe

Missing:
BizTalk Server
Desktop Flows
SAP ERP

@htakedah Thanks for reporting this issue. We've updated the docs. You'll see the update in the next few hours.


sd_unet dropdown menu  is empty,but i gen 3 models

sd_unet dropdown menu  is empty,but i gen 3 models in Unet-onnx

I had the same issue. It seems like the Exporter kept failing to fully develop the Unet until I disabled --api and reran the Exporter.

Related / Same issue: #17

I've documented that --api can cause issues when exporting in the readme now. I'll close as this seems to be resolved. Feel free to reopen if you still encounter issues.


Fix LowLevelMonitor.Signal_Release to reset the owner thread

Fixes #2840

@kouvel,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

@AntonLapounov @sergiy-k @jkotas


Refactor search state to use promise-like booleans

Renamed the following search state properties and added isResolved
isLoading -> isPending
isErrored -> isRejected
records -> content

@cherewaty Make it more promise-like. Eventually all request can share the same request epic (and maybe reducer logic) if they all have content instead of records/record/vendor/package/whatever


ctrl clicking to deselect doesn't remove the column highlight

To reproduce, click a node and then ctrl-click it.
The highlight removes from the node but not from the columns.

(for Mac, use Option-Click)

Minor bug. Fixing now.


Optimized nested pagination is broken for m2m fields

Describe the Bug
Nested pagination through m2m fields is broken with the optimizer enabled. This appears to be because using .prefetch_related() with a QuerySet annotated with a Window function where partition_by is an m2m field causes an extra join and duplicate results.
Reproducible Example
See a minimal reproducible example here:

Branch: mre/nested-pagination-m2m
Commit: 5469f268abaae77697ac29bc3b62608005496761

In the unit test above, the expected result of the query is:
{
  "tagConn": {
    "edges": [
      {
        "node": {
          "name": "Tag 1",
          "issues": {
            "edges": [
              {"node": {"name": "Issue 1"}},
              {"node": {"name": "Issue 2"}}
            ]
          }
        }
      },
      {
        "node": {
          "name": "Tag 2",
          "issues": {
            "edges": [
              {"node": {"name": "Issue 2"}},
              {"node": {"name": "Issue 3"}}
            ]
          }
        }
      }
    ]
  }
}

However, the test fails, and the actual result of the query is:
{
  "tagConn": {
    "edges": [
      {
        "node": {
          "name": "Tag 1",
          "issues": {
            "edges": [
              {"node": {"name": "Issue 1"}},
              {"node": {"name": "Issue 2"}},
              {"node": {"name": "Issue 2"}}  // Duplicate!
            ]
          }
        }
      },
      {
        "node": {
          "name": "Tag 2",
          "issues": {
            "edges": [
              {"node": {"name": "Issue 2"}},
              {"node": {"name": "Issue 2"}},  // Duplicate!
              {"node": {"name": "Issue 3"}}
            ]
          }
        }
      }
    ]
  }
}

System Information

Operating system: MacoS
Strawberry version: 0.247.0
Strawberry Django version: 0.49.1

Additional Context
It appears that this is caused by the implementation of apply_window_pagination().
As suggested above, when you annotate a .prefetch_related() QuerySet with a Window function and refer back to the other side of the m2m, you add another join - causing duplicate results. When Django introduced the ability to prefetch with sliced querysets (which Strawberry-Django isn't directly using) they had to do a bunch of hacks to combine calls to filter together (see QuerySet._next_is_sticky() and _filter_prefetch_queryset()).
To demonstrate the difference directly with the Django ORM see: a6f4e31ba9692999e75d7fc1fc253892e5b3d634.
In the unit test above, Strawberry-Django produces the following SQL query for the paginated prefetch:
SELECT *
FROM
  (SELECT ("projects_issue_tags"."tag_id") AS "_prefetch_related_val_tag_id",
          "projects_issue"."name" AS "col1",
          "projects_issue"."id" AS "col2",
          ROW_NUMBER() OVER (PARTITION BY "projects_issue_tags"."tag_id"
                             ORDER BY "projects_issue"."id" ASC) AS "_strawberry_row_number",
          COUNT(1) OVER (PARTITION BY "projects_issue_tags"."tag_id") AS "_strawberry_total_count"
   FROM "projects_issue"
   LEFT OUTER JOIN "projects_issue_tags" ON ("projects_issue"."id" = "projects_issue_tags"."issue_id")
   INNER JOIN "projects_issue_tags" T4 ON ("projects_issue"."id" = T4."issue_id")
   WHERE T4."tag_id" IN (1,
                         2)
   ORDER BY "projects_issue"."id" ASC) "qualify"
WHERE "_strawberry_row_number" <= 2
ORDER BY "col2" ASC

Whereas Django produces this SQL query for the paginated prefetch:
SELECT "_prefetch_related_val_tag_id",
       "col1",
       "col2"
FROM
  (SELECT *
   FROM
     (SELECT ("projects_issue_tags"."tag_id") AS "_prefetch_related_val_tag_id",
             "projects_issue"."name" AS "col1",
             "projects_issue"."id" AS "col2",
             ROW_NUMBER() OVER (PARTITION BY "projects_issue_tags"."tag_id"
                                ORDER BY "projects_issue"."id" ASC) AS "qual0"
      FROM "projects_issue"
      INNER JOIN "projects_issue_tags" ON ("projects_issue"."id" = "projects_issue_tags"."issue_id")
      WHERE "projects_issue_tags"."tag_id" IN (1,
                                               2)
      ORDER BY "projects_issue"."id" ASC) "qualify"
   WHERE ("qual0" > 0
          AND "qual0" <= 2)) "qualify_mask"
ORDER BY "col2" ASC

Note the extra LEFT OUTER JOIN which causes the issue.
Potential Solution
As noted in the apply_window_pagination() docstring, Django 4.2+ actually supports sliced QuerySets in .prefetch_related() now.
The solution here may be to actually use Django's inbuilt support for .prefetch_related() QuerySet slicing. However, this means we can't annotate _strawberry_total_count onto the nodes anymore. It is likely that we would need to refactor that functionality onto the parent records, maybe using a subquery count and OuterRef?

Upvote & Fund

We're using Polar.sh so you can upvote and help fund this issue.
We receive the funding once the issue is completed & confirmed by you.
Thank you in advance for helping prioritize & fund our backlog.

For reference, our understanding is that (at a high level) the current nested pagination looks like this:
tag_queryset.prefetch_related(
    Prefetch(
        "issues",
        queryset=issue_queryset.annotate(
            _strawberry_row_number=Window(
                RowNumber(),
                partition_by=["tags"],
                order_by=[...],
            ),
            _strawberry_total_count=Window(
                Count(1),
                partition_by=["tags"],
            ),
        ).filter(
            _strawberry_row_number__gt=5,
            _strawberry_row_number__lte=10,
        ),
    )
)

But to work correctly, it could be updated to something like this:
tag_queryset.prefetch_related(
    Prefetch(
        "issues",
        queryset=issue_queryset[5:10],
        to_attr="_strawberry_paginated_issues",
    )
).annotate(
    _strawberry_total_count_issues=Subquery(
        issue_queryset.filter(tags=OuterRef("pk"))
        .values("tags")
        .annotate(total_count=Count("pk"))
        .values("total_count"),
    )
)

The complexity here is how to get Strawberry / Strawberry-Django to:

Recognise that a tag's issues will actually be on the _strawberry_paginated_issues attribute (instead of issues)
Recognise that a tag's issue count will actually be on the _strawberry_total_count_issues attribute (instead of annotated on its issues as _strawberry_total_count)

Hey @SupImDos ,
I was doing some tests on this and discovered that the issue is with Django.
If I do this in your test_nested_pagination_m2m for example right after creating/assigning the issues/tags:
Tag.objects.prefetch_related(
    Prefetch("issues", queryset=Issue.objects.all().annotate(foo=F("tags")))
)

I get duplicated issues as well. This is the SQL generated:
SELECT ("projects_issue_tags"."tag_id") AS "_prefetch_related_val_tag_id",
       "projects_issue"."name",
       "projects_issue"."id",
       "projects_issue"."kind",
       "projects_issue"."priority",
       "projects_issue"."milestone_id",
       "projects_issue_tags"."tag_id" AS "foo"
FROM "projects_issue"
LEFT OUTER JOIN "projects_issue_tags" ON ("projects_issue"."id" = "projects_issue_tags"."issue_id")
INNER JOIN "projects_issue_tags" T4 ON ("projects_issue"."id" = T4."issue_id")
WHERE T4."tag_id" IN (3,
                      4)
ORDER BY "projects_issue"."id" ASC

The only thing I did here was to annotate "projects_issue_tags"."tag_id", which is also annotated by the prefetcher (see the first selected column), but Django is forcing a new join for that instead of using the same one, which it should.
We can try to find a related issue for this or report it to django.
In the meantime, I would like to find a way to workaround this without having to rewrite this, because as you already pointed out, the challenge will probably be even greater.
I was trying to play with the QuerySet.query object from the Prefetch object to see if I can force the join to be reused, but so far I got nothing. Will continue trying

Opened this issue on the Django bug tracker: https://code.djangoproject.com/ticket/36035

Opened this issue on the Django bug tracker: https://code.djangoproject.com/ticket/36035

Thank you for putting in the effort and figuring out what was going on there. 🙏

Btw, it seems that we might get a bug fix soon: https://code.djangoproject.com/ticket/36035#comment:1
I tested the patch they mentioned and it indeed fixes the issue. I'll try to workaround some solution for strawberry-django in the meantime

The only workaround I found was to monkey patch django =P
Although I prefer to avoid doing that, this seems safe as the monkey patched functions share the same code in all supported versions (4.2, 5.0 and 5.1) and we are not going to apply this for 5.2 which is going to contain the fix.
The PR is opened here: https://github.com/strawberry-graphql/strawberry-django/pull/681


Please check if 'earlier' should be 'later' instead

Hello,
please check if 'earlier' should be 'later' instead in this string: "Connecting a cluster to Azure Arc requires Helm 3, version 3.7.0 or earlier." under Management tool requirements section.
Kind regards,
Anne H., QC

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

ID: 672f6b09-6e35-235a-3c06-f296eff11ac6
Version Independent ID: 7e4b01dc-3d33-8acd-84c7-86c083df5a76
Content: Azure Arc-enabled Kubernetes system requirements - Azure Arc
Content Source: articles/azure-arc/kubernetes/system-requirements.md
Service: azure-arc
Sub-service: azure-arc-kubernetes
GitHub Login: @JnHs
Microsoft Alias: jenhayes

@QueryCoordinator Thanks for your comment! We will review and provide an update as appropriate.

Hi @QueryCoordinator - Thanks for raising this question. "Earlier" was correct, but we actually don't require a separate Helm installation anymore; as descirbed in https://learn.microsoft.com/en-us/azure/azure-arc/kubernetes/quickstart-connect-cluster?tabs=azure-cli#connect-an-existing-kubernetes-cluster, the cluster connection commands "installs Helm v. 3.6.3 to the .azure folder of the deployment machine. This Helm 3 installation is only used for Azure Arc, and it doesn't remove or change any previously installed versions of Helm on the machine." I'll get this section of the requirements content updated to match that, and I'll respond back to close this issue when the update is live.

Hello @JnHs,
thank you for your reply and thorough explanation.
Kind regards,
Anne H., QC

Confirming the update will be live on the page later today. Thanks again for taking the time to help us improve the docs!


Line breaks in IE10

Hi
I saw this one and have the exact same problem:
https://github.com/alexgorbatchev/syntaxhighlighter/issues/265
Im too using  v3.0.83.
Line breaks ok in latest version?
Br / Jim

I also have the same problem.I'm using  Summernote editor.
All code in one line


lgb.train() uses reference label instead of new label from .set_label()

Description
When calling lgb.train() on a dataset that has been constructed with a .subset() method, the label used is not the label from the subset but rather the label from the reference dataset.  This is also true for init_score and weights.
Reproducible example
import lightgbm as lgb
import numpy as np

np.random.seed(0)

X = np.random.rand(3000, 3)
y = np.random.rand(3000)

data = lgb.Dataset(data=X, params={"max_bin": 127})

params = {"objective": "l2", "max_depth": 3, "metric": "mse", "deterministic": True, "seed": 1, "learning_rate": 0.1, "num_iterations": 20, "reg_alpha": 0.2}

trn_indices = np.random.choice(X.shape[0], size=(2000,))
trn_data = data.subset(trn_indices)
trn_data.set_label(y[trn_indices]).construct()

trn_data.get_label()

mdl = lgb.train(params, trn_data, num_boost_round=10)
mdl.predict(X)

We can see there is a problem because all the predictions are zero.
However we can fix the problem by setting the label of the reference dataset first, and then calling subset().
Environment info
LightGBM version or commit hash: <IP_ADDRESS>
Command(s) you used to install LightGBM
pip install lightgbm

Hi @jrvmalik, thank you for your interest in LightGBM. The subset method copies the bins and the slice of the data from the original dataset: https://github.com/microsoft/LightGBM/blob/31ab4d42312a6973b4b8620317ef17b050d7eb50/src/c_api.cpp#L1417-L1420
This happens when you construct it, so calling set_label before only sets the Python attribute: https://github.com/microsoft/LightGBM/blob/31ab4d42312a6973b4b8620317ef17b050d7eb50/python-package/lightgbm/basic.py#L2145-L2150
If you switch the order it should work as expected, i.e.
import lightgbm as lgb
import numpy as np

np.random.seed(0)

X = np.random.rand(3000, 3)
y = np.random.rand(3000)

data = lgb.Dataset(data=X, params={"max_bin": 127})

params = {"objective": "l2", "max_depth": 3, "metric": "mse", "deterministic": True, "seed": 1, "learning_rate": 0.1, "num_iterations": 20, "reg_alpha": 0.2}

trn_indices = np.random.choice(X.shape[0], size=(2000,))
trn_data = data.subset(trn_indices)
trn_data.construct()
trn_data.set_label(y[trn_indices])

mdl = lgb.train(params, trn_data, num_boost_round=10)
mdl.predict(X)

Please let us know if this helps.

I see, thanks.  IMO this behaviour of set_label() is not intuitive.  For example, this works:
import lightgbm as lgb
import numpy as np

np.random.seed(0)

X = np.random.rand(3000, 3)
y = np.random.rand(3000)

data = lgb.Dataset(data=X, params={"max_bin": 127})
data.set_label(y)
data.construct()
data.get_field('label')

What is inconsistent is the Python attribute being recognized during construction.

Yeah I agree. If you tried to call data.set_field('label', y) (which is what gets called if the dataset has been constructed) instead of data.set_label(y) you'd get a more informative error: Exception: Cannot set label before construct dataset. Might be worth removing that if statement and raise that error if you try to set an attribute before constructing the dataset.

Thanks for using LightGBM! I believe this is a bug that we need to fix. After setting label with set_label, though the Dataset has not been constructed, we should noticed that the label of subset has been reset. And when constructing the subset, we should use the set label instead of the label in the full dataset. WDYT @jmoralez ?

Thanks @shiyu1994 and @jmoralez . I think it boils down to the question, Is there a reason why set_label and set_field have different behaviours?


[Bitwarden] is slow loading vault items and copying passwords

Extension
https://www.raycast.com/jomifepe/bitwarden
Description
Since a couple days, whenever I do s a search in my vault, it's very slow to load vault items. Sometimes it's also slow when copying a password.

Steps To Reproduce

Hit the raycast shortcut (⌘ + Space for me)
Search for the bitwarden vault command
Do a search (for me there's now a delay of 7 seconds before items show)
Copy password (also a delay of 7 seconds before the password is copied and the dialog closes)

Currently I have an issue with #3, #4 seems to have solved itself. But two days ago, #4 was the issue.
I have tried quitting and restarting Raycast, installing my own version of bw (bitwarden-cli) via Brew and also re-installing bitwarden from the Raycast store and re-configuring my credentials. The issue still persists
Current Behaviour
Delay when searching for vault items
Expected Behaviour
no delay in searching items or copying passwords
(this was the case until a couple of days ago)

I have some extra info, I got logs from the terminal:
2023-09-14 23:12:49.569 I  Raycast[39071:1600e2] [com.raycast.macos:commands] Command loaded 		Command ID: bitwarden.search__f5cd1829-474a-4572-86c3-f4d0bbce46b9 		Session ID: A3EC5C71-E019-41C5-9FA4-42E704C5A1FF 		Launch type: userInitiated 2023-09-14 23:12:49.569 Db Raycast[39071:8da31] [com.raycast.macos:node] View command loaded 		Command key: extension_bitwarden.search__5fdb86d3-dfcc-45a7-8969-8113b51434ab 		Session ID: A3EC5C71-E019-41C5-9FA4-42E704C5A1FF 2023-09-14 23:12:49.574 Db Raycast[39071:8da31] [com.raycast.macos:node] Render called 2023-09-14 23:12:49.574 I  Raycast[39071:8da31] [com.raycast.macos:app] Init CommandListViewController 2023-09-14 23:12:49.576 Db Raycast[39071:8da31] [com.raycast.macos:node] List Update: Sections 2023-09-14 23:12:49.576 Db Raycast[39071:8da31] [com.raycast.macos:node] List Update: Keep Section Order 2023-09-14 23:12:49.576 Db Raycast[39071:8da31] [com.raycast.macos:node] List AutoCompletion updated: 0 2023-09-14 23:12:49.577 Db Raycast[39071:8da31] [com.raycast.macos:node] List selection changed: '' 2023-09-14 23:12:49.577 Db Raycast[39071:8da31] [com.raycast.macos:node] List Update: Selection 2023-09-14 23:12:49.577 Db Raycast[39071:8da31] [com.raycast.macos:node] List Update: SearchBar Placeholder 2023-09-14 23:12:49.577 Db Raycast[39071:8da31] [com.raycast.macos:node] List Update: Detail 2023-09-14 23:12:49.578 Db Raycast[39071:8da31] [com.raycast.macos:node] Reloaded UI: Navigation Bar 2023-09-14 23:12:49.578 Db Raycast[39071:8da31] [com.raycast.macos:node] Navigation Update: Root replaced 2023-09-14 23:12:49.582 Db Raycast[39071:8da31] [com.raycast.macos:node] Render called 2023-09-14 23:12:49.582 Db Raycast[39071:8da31] [com.raycast.macos:app] SearchBarViewController did appear. Making search bar text field first responder 2023-09-14 23:12:49.590 Db Raycast[39071:8da31] [com.raycast.macos:node] Render called 2023-09-14 23:12:49.592 Db Raycast[39071:8da31] [com.raycast.macos:node] Render called with empty patches 2023-09-14 23:12:49.593 Db Raycast[39071:8da31] [com.raycast.macos:node] Render called 2023-09-14 23:12:58.624 Db Raycast[39071:8da31] [com.raycast.macos:node] Render called 2023-09-14 23:12:58.625 Db Raycast[39071:8da31] [com.raycast.macos:node] List Update: Sections 2023-09-14 23:12:58.629 Db Raycast[39071:8da31] [com.raycast.macos:node] List AutoCompletion updated: 615 2023-09-14 23:12:58.636 Db Raycast[39071:8da31] [com.raycast.macos:node] List selection changed: 0f19b67a-e089-4c5b-a5ff-ad5a00b7c740 2023-09-14 23:12:58.638 Db Raycast[39071:8da31] [com.raycast.macos:node] Reloaded UI: Navigation Bar Accessories 2023-09-14 23:12:58.638 Db Raycast[39071:8da31] [com.raycast.macos:node] Reloaded UI: Loader 2023-09-14 23:12:58.639 Db Raycast[39071:8da31] [com.raycast.macos:node] Reloaded UI: Global Action Panel 2023-09-14 23:12:58.676 Db Raycast[39071:8da31] [com.raycast.macos:node] Render called 2023-09-14 23:12:58.678 Db Raycast[39071:8da31] [com.raycast.macos:node] Reloaded UI: Global Action Panel 2023-09-14 23:12:58.678 Db Raycast[39071:8da31] [com.raycast.macos:node] Render called with empty patches 2023-09-14 23:13:09.317 I  Raycast[39071:8da31] [com.raycast.macos:app] Clear to root scheduled after 90.0s
You can see the 7s delay between two 'Render called' messages at 2023-09-14 23:12:49.593 and 2023-09-14 23:12:58.624

I also tried using bw from the command line and then the search is instant, so it doesn't seem to be an issue with bw itself

How many items do you have in the vault, do you know that?

I started the REST api from the terminal and did a request to /list/object/items. I count 616 items.
I also have an organisation setup, that has 69 items which are included in the total of 616.

I have since done a clean install of my Mac and currently it's the copying of the password that is taking a long time. Searching items now feels normal

Hey, that's definitely a weird behavior, are you still experiencing it? I can only associate this issue with a slow execution of CLI commands, but am not sure what could be causing it.

Hi @jomifepe ,
Sorry for the late response. Yes, I 'm still facing the issue. That is, it's still taking to to copy passwords.
I have also tested the CLI itself by starting the REST api and there is no delay there. So it seems to be in the extension itself.
So far, I've failed to setup a dev environment myself, I will try that again so I can try to debug and find the exact line that's causing the delay.

OK, I got the dev environment setup and I've been able to track it to this line:

That it what is taking long, the two console.logs are seconds apart:

Hoever, when I navigate to its source, I hit my knowledge-limit and don't know what to look for further

Hey @IvoVermeer, thank you for that, good job debugging the issue, will take a closer look into it.

@jomifepe You're welcome👍 Let me know if I can test some more 😄

I just notices something today. When I'm still in the vault-search screen (what's the term?), The loading-bar keeps moving. If I wait until that bas stops moving and then copy the password, the copy is instant. So it seems it's not the copying of the password that's taking a long time, but a running process that's started as soon as I bring up the bitwarden extension

I just notices something today. When I'm still in the vault-search screen (what's the term?), The loading-bar keeps moving. If I wait until that bar stops moving and then copy the password, the copy is instant. So it seems it's not the copying of the password that's taking a long time, but a running process that's started as soon as I bring up the bitwarden extension
EDIT: I think I found the culprit. Loading the items and loading the folders is what's taking a long time. I found this in bitwarden.ts:
And this is what's logged:  So loading the items takes 1.1s, but loading the folders takes 6.8s. When I take out the folders:
Loading is much faster:
I personally don't use folders (anymore), I'll see if clearing them out has an effect. I will also try to see if I'm able to add a setting to switch off the folder functionality (no drop-down, no folder-icon in the list)

Hey, sorry for the delay. Thanks again for debugging the issue. Yeah, that was built with a publish-subscribe method, which means that if you copy a password before they are really loaded, that action will subscribe to that item, and it will conclude once the items finish loading.
Why is it possible to copy before they load? Because, for faster loading times, some of the vault data is cached locally (the non-sensitive values).
That said, the delay should not be that long, about 1 to 2 seconds on my machine, which is not the best, but I cannot greatly improve that, it's the CLI call that's slow, hence the caching mechanism.

I've created a PR that should solve this issue by fetching the password directly with the get password command. If the get password command finishes before the load of the vault is finished, then that result is used instead.
https://github.com/raycast/extensions/pull/11049

Thanks @ivaarsson for your PR. I'm curious to see if this solves my issue with the extended fetching times. Subscribed to your PR and hoping for a quick merge and push to the extension.
Thanks!

@pascalinger The PR is now merged

Thanks @ivaarsson ! I reinstalled the extension and it's considerably faster now. Close to the 3 seconds you reported on your end. Strangely, I feel like it used to take a mere second or less some time back. Might be my imagination, though.

I don't think it's your imagination, I feel like it used to be faster too. I believe my loading times have gotten slower and slower the more my organisation's vault has grown, but I also want to remember the command bw get password <id> being faster on it's own. My guess would be a bug in the bitwarden-cli, but it's hard to say.

@ivaarsson At least I'm not alone with my feeling. I don't use organization vaults and I've not been amassing logins unreasonably fast so I'd venture a guess that you are right about your assumption regarding the cli. Maybe they've made a performance-breaking change that was necessary under security consideration. I might just go ahead and ask in their repo.
Thanks for your work, anyhow!

The CLI calls are definitely slower when done by raycast extensions, can't figure out why.
At least with @ivaarsson's code, it should be faster than before for larger vaults, I hope it solves this issue 🙂 Thanks!

@raycastbot close this issue


Short solution needed: "Xgboost classifier" (python-scikit-learn)

Please help us write most modern and shortest code solution for this issue:
Xgboost classifier (technology: python-scikit-learn)
Fast way
Just write the code solution in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments explain solution.
Link to this issue in comments of pull request.

Xgboost classifier usage example


[Suggestion]

Is your feature request related to a problem? Please describe.
request is related to youtube track objects
Describe the solution you'd like
A user withouth roles should be able to skip their own song, and only skip
Describe alternatives you've considered
Lol i dont read code, i guesstimate

But if a user has no role, how would they add a track in the first place?

Notes:

Add a User object to YouTube, i.e. owner = User._session_id
Handle user leaves for Youtube when user object is deleted owner = None
Handle if NoneType for owner with Youtube playlist (see 2.)^


Style cop + .editorconfig + codestyle

Some codestyle twiks and parameters

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (683f42c) to head (78a6245).
Report is 1 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff            @@
##              main        #3   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           12        12
  Lines          152       176   +24
  Branches         7         7
=========================================
+ Hits           152       176   +24

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


tea-requirements has incomplete statement?

Ref: https://github.com/CycloneDX/transparency-exchange-api/blob/52e598226cd2e0f494cbdd27690f9a36b500d235/doc/tea-requirements.md?plain=1#L24
This section appears to be incomplete or missing something - I'm unclear what @oej .

Good catch. I need to go back in time and see what was in my head. Or just rewrite.


compilation falling: cc1plus killed

I apologize about the image, I am running on a touch screen pi with no peripherals and couldn't get it to copy.

Hey there, @gnydick! I don't know if you are aware of that, but Danal Estes, maintainer of this repository, passed away in May 2020: https://hackaday.com/2020/06/13/rip-danal-estes-developer-of-multitool-3d-printing-infrastructure/
If you are still interested on it you may want to look at some fork.


Need documentation - MVVM

https://github.com/Windows-XAML/Template10/wiki/Docs-|-MVVM-(Pre)

Why have the documentation issues been closed? Nothing seems to have changed with the documentation.


⚠ Quirk Club Argentina (SSR) has degraded performance

In f12dc29, Quirk Club Argentina (SSR) (https://quirkclub-dev.web.app/ssr-check) experienced degraded performance:

HTTP code: 200
Response time: 6102 ms

Resolved: Quirk Club Argentina (SSR) performance has improved in 9160639 after 11 minutes.


Ubuntu installation guide should include starting the docker daemon

Following the steps verbatim ends in an error, there should be a step prior to docker run hello-world about starting the docker daemon.

Well, by default the daemon will be started at the end of the installation (by dpkg & stuff). If it's not the case, it might be a non-default configuration. It should be mentionned that in the case it's not working, verify that the service is started, but it shouldn't be a "must do".

@gabesullice I tested the installation when I rewrote this page. A daemon start wasn't required.  Are you finding that is when you test? What are the steps you are following? I'd like to duplicate it.

Couldn't reproduce. Closing. Don't know what happened.

@gabesullice Thank you for the issue, the additional testing, and the follow through to close the issue.  Much appreciated.


Added default value for expected volume type for volume verification

What type of PR is this?
/kind bug
What this PR does / why we need it:

Added default value for expected volume type on volume details verification during volume creation
Updated readme with storage class parameter type
Modified unit tests by adding volume type paramter to the request, added test case to verify the volume creation when no volume type parameter is given

Which issue(s) this PR fixes:

Fixes #197
Special notes for your reviewer:
Release note:
none

/retest

@mkumatag updated the unit tests. PTAL.


Connection settings UI cleanup

I think we should make use of tabs in the connection settings to make it a bit tidier

With the current tab implementation, not sure how doable it is.

Oh.... nice
@halcyon-tech/core


Cancel host request not working

Subject: Cancel host request not working
Description:
When I click cancel on a pending request and click cancel again, nothing happens. Its a broken link?
Results:
Nothing, it doesn't cancel.
Backend version: develop-8cfcaa68
Frontend version: develop-8cfcaa68
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Safari/605.1.15
Page: https://app.couchers.org/messages/request/2437
User: tarabeth (3771)

Can't reproduce?


html endpoint is returning JSON

Hello
I'm switching from using flask_restful_swagger to flask_restful_swagger 2
When I attempt to access the .html endpoint, I get the same JSON as the .json endpoint.
Unless I missed it, the documentation doesn't explicitly say that I should install swagger-ui separately.  I presumed this would behave as flask_restful_swagger did, and have the swagger-ui support built in.  Is this not the case, or have I missed a step?

I looked at the code and sure enough, flask_restful_swagger included the swagger-ui javascript, and this does not.  So this isn't really a bug, just not expected behavior coming from flask_restful_swagger.  I'd suggest updating the README to point people in the right direction here, but I'll close the issue.  Thanks!