add head/drop rule with max, for case that number not known to be non-negative

See https://github.com/ndmitchell/hlint/issues/674#issuecomment-505175812.
Closes https://github.com/ndmitchell/hlint/issues/674.
I also thought a bit about the last/take case, but there doesn't seem to be a nice formulation. It could be something like:
    - warn: {lhs: last (take n x), rhs: x !! (min n (length x) - 1)}

But not only is this not really a nice expression on the right-hand side. There also is the issue that x gets duplicated (which I guess is problematic for hints in general).
One could also think of it in terms of the following two pseudo-hints:
    - warn: {lhs: last (take n x), rhs: x !! (n - 1), side: n <= length x}
    - warn: {lhs: last (take n x), rhs: last x, side: n > length x}

Pseudo in that the side conditions here are not actually something that could be tested statically/syntactically, at least not in that generality. Maybe special cases would be possible for some n or for certain list literals x. But I'm doubting that would be worth it.

Thanks! There were a couple of failures because I already had a rule drop n x where n is a negative literal, so I adjusted the rule to only match if n is not a literal.

Follow-up question: Where can one find these "checker functions", like isNat, isNeg etc.?
For a new rule I had in mind, I was wondering whether there is an existing checker for string literals. But I couldn't even find where isNat is defined, so couldn't look around whether something like isString exists or not.

https://github.com/ndmitchell/hlint/blob/master/src/Hint/Match.hs#L133-L181 is the definition - they're somewhat hard to find without already knowing about it, and even the code isn't that readable. isLit might be what you want, if the type already constraints it to being a string.

Ah, thanks! I was searching the repo for occurrences of isNat, but that identifier does not actually occur there, since it is implemented as isType "Nat" ... :smile:
As for my case, I don't know that the thing is already a string, so I have to check for that additionally. From the code link you gave, it looks like isLitString might work. But it also might not, if String is instead seen as [Char] and thus is not mateched appropriately in line
https://github.com/ndmitchell/hlint/blob/9f5776e6aee4c78a8ea0b0c543f0278da6240cf2/src/Hint/Match.hs#L165
Anyway, I'll try and see how far I get.
The rule I have in mind is certainly something to be used only locally. I wouldn't even propose it for the teaching section of hlint globally, since it actually changes the behavior of the program (ever so slightly).
The thing is that it bothers me students are writing stuff like
  print "Give me the next input: "
  n <- readLn

when they really should be writing
  putStrLn "Give me the next input: "
  n <- readLn

It's not a semantics preserving change, because extra quotations symbols get output in one case but not in the other.

Yeah, this does the trick for the case above:
 - warn: {lhs: print x, rhs: putStrLn x, side: isLitString x}

It doesn't capture cases like:
  print ("The sum of your inputs is " ++ show s)

which I would also like to tell students to write as
  putStrLn ("The sum of your inputs is " ++ show s)

instead.
But I guess that hlint doesn't have a concept of the type of expressions, so probably by principle there is no way to catch that case while not also type-incorrectly proposing a rewrite from
  print (a + b)

to
  putStrLn (a + b)

But anyway, the isLitString case is already neat to be able to express in my local hint database.
I'm impressed by the versatility of hlint!

Yep, HLint doesn't know the type, so it's incapable of expressing what you are after there. Glad you like the versatility, but it does suggest some more documentation is required...


Unexpected results with G38.2

I have two probing issues that might bor might not be related:
First:
Whenever I issue a G38.2 command the machine does move to the stated location.
for instance:
G0 X0
G91 G38.2 F300 X10  // This should move X 10 mm  but instead it moves what appears to be a random distance.
If I issue the same command repeatedly it will move a different distance for each issuance.
However, if I use the following command:
G0 X0
G91 G01  F300 X10 //
The G01 command will move the table exactly 10mm every  time I run it.
Second:
When using the probing page for external center finder, It probes the edges in the wrong sequence and it moves the prob in the wrong direction,

Whenever I issue a G38.2 command the machine does move to the stated location.

EMI is triggering the probe input?
Here is what I get in the console by repeating G91 G38.2 F300 X10 a few times:
G91 G38.2 F300 X10
ALARM:5
[MSG:Stop]
[PRB:10.000,0.000,0.000:0]
G91 G38.2 F300 X10
ALARM:5
[MSG:Stop]
[PRB:20.000,0.000,0.000:0]
G91 G38.2 F300 X10
ALARM:5
[MSG:Stop]
[PRB:30.000,0.000,0.000:0]
G91 G38.2 F300 X10
ALARM:5
[MSG:Stop]
[PRB:40.000,0.000,0.000:0]
G91 G38.2 F300 X10
ALARM:5
[MSG:Stop]
[PRB:50.000,0.000,0.000:0]
G91 G38.2 F300 X10
ALARM:5
[MSG:Stop]
[PRB:60.000,0.000,0.000:0]

You get?

When using the probing page for external center finder, It probes the edges in the wrong sequence and it moves the prob in the wrong direction,

Works for me, probing directions are +X, -X, +Y, -Y as indicated in the graphics. What is your sequence?
Console log, I am probing a hex nut with the spindle loose so accuracy is not that good:
[PRB:29.640,112.288,-29.669:1]
[PRB:29.715,112.288,-29.669:1]
[PRB:56.943,112.288,-29.669:1]
[PRB:56.853,112.288,-29.669:1]
[PRB:43.305,99.390,-29.669:1]
[PRB:43.305,99.425,-29.669:1]
[PRB:43.305,125.185,-29.669:1]
[PRB:43.305,125.163,-29.669:1]

A more comprehensive log is generated if you check the "Verbose" tick box.

Here are videos that show the behavior. I will get the rest shortly.
https://photos.app.goo.gl/srPLQSZppKc2vQh29

The sequence is 1, 2, 4, 3 based on the labels in the graphic.
I am going to look into EMI now (again) that would explain the randomness that I am seeing. That probe is powered by a shielded usb-c cable so in theory it should be ok but in practice who knows.

What breakout board are you using? The fact that it is random surely implies EMI.  Shielded USB has nothing to do with the probe input.  All inputs, including probe, should have some sort of isolation or, at the very least, low pass filtering.
You might want to look this over.  It gives a fairly broad overview of EMI and points you in the direction of various things to do about it.

I have spent countless hours testing for EMI and I have replaced all of the probing wiring with correctly shielded cables and connectors and the issues still persists. However the issue is completley resolved by reverting to ioSender v2.0.42p6. That leads me to beleive that it not caused by interference or an issue with my board or settings. I guess I will just stay on this older version for a while.

The external center finder runs in the correct sequence in v2.0.42p6?
I asked what responses you get in the console when probing in this comment but you did not answer, the best would be with Verbose checked in the console. I need this so that I can get a clue about what is going on on your end - this since I am not able to replicate the behaviour on my end.


Error: JPEG error: marker was not found

I've seen that similar issue was already fixed, however it happens with one of my test files (attached)
gre_research_validity_data.pdf
Configuration:

Google Chrome Version 52.0.2743.116 m, FireFox 47.0.1, Edge 25.10586.0.0 (haven't tried on other browsers)
Windows 10 Pro version 1511, build 10586.545:
PDF.js version: pdfjs-dist 1.5.376
Is an extension: no

Steps to reproduce the problem:

Open given PDF with Edge (or any other PDF viewer like Foxit Reader etc.). Notice that there are 4 valid pages.
Open given PDF with pdf.js (for example, from demo page)
Notice that you'll be able to see 4 pages, but 1, 3 and 4 will be blank

actual/expected results side-by-side:

stack trace:
pdf.worker.js:2 Error: JPEG error: marker was not found
2016-08-26 14:51:49.046 pdf.worker.js:2     at o (https://laser-qa.quickhelp.com/dist/pdf.worker.js:2:8390)
at Object.e.ensureBuffer (https://laser-qa.quickhelp.com/dist/pdf.worker.js:10:22872)
at Object.e.getBytes (https://laser-qa.quickhelp.com/dist/pdf.worker.js:10:22939)
at Object.getImageBytes (https://laser-qa.quickhelp.com/dist/pdf.worker.js:15:27973)
at Object.createImageData (https://laser-qa.quickhelp.com/dist/pdf.worker.js:15:26980)
at https://laser-qa.quickhelp.com/dist/pdf.worker.js:16:31304
2016-08-26 14:51:49.047 pdf.worker.js:2 Warning: Unable to decode image: Error: JPEG error: marker was not found
2016-08-26 14:51:49.051 ... Warning: Dependent image isn't ready yet

Closing as duplicate of issue #4090.

Bug still remains in version 52.0.2

Hi,
I have the same problem. I have noticed that this problem occures mainly on pdf produced from Samsung printers.
here is a link to a file:
https://drive.google.com/open?id=0By6fVX-F2s1xbGEyeG4xNldKbkNDQ1l1UHFkcXdQZFZ2MXM0
if you need more files, please ask.
Can we re-open the bug?
Thanks,
Doron


Fix schema naïve grant inspection with arbitrary schema

This make the code match the documentation.
cf. #242
@ankravch this should fix the weird behaviour with SELECT 1, 'admin'.

Codecov Report

Merging #244 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #244   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          12     12
  Lines        1566   1570    +4
=====================================
+ Hits         1566   1570    +4

Impacted Files
Coverage Δ

ldap2pg/inspector.py
100% <100%> (ø)
:arrow_up:

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 7adb20b...8a17882. Read the comment docs.


[Problem with css]

Bug, feature request, or proposal:
I installed angular material 2 in my CLI project, but I think i have some trouble with css because i don't see colors like i saw on demo website angular material 2 and the css for 'md-list' doesn't work at all.
At the begining, I was thinking it was just because of angular material 2 is still in beta but i think i did a mistake or I missing something.
What is the expected behavior?
Same result like on demo website angular material 2 https://material.angular.io/
What is the current behavior?
It seem angular material 2 css doesn't work on all tags.
Doesn't work on  and half working on  (default theme doesn't work).
What are the steps to reproduce?
I followed the get started here https://material.angular.io/guide/getting-started
I did all the steps except when i have to import hammerjs just after doing npm install --save hammerjs. I don't know in which file import hammerjs and the exact line to write.
I try to change the place where I call css theme but no results.
Currently, i use this @import<EMAIL_ADDRESS>in style.css call by .angular-cli.json but doesn't work and i tried to call it since index.html and no result.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
I'm on windows 7, i tried to launch my app with firefox and chrome (same result) and these to browser are updated.
Here package.json:
{
"name": "routing-app",
"version": "0.0.0",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@agm/core": "^1.0.0-beta.0",
"@angular/animations": "^4.0.0",
"@angular/cdk": "^2.0.0-beta.8",
"@angular/common": "^4.0.0",
"@angular/compiler": "^4.0.0",
"@angular/core": "^4.0.0",
"@angular/forms": "^4.0.0",
"@angular/http": "^4.0.0",
"@angular/material": "^2.0.0-beta.7",
"@angular/platform-browser": "^4.0.0",
"@angular/platform-browser-dynamic": "^4.0.0",
"@angular/router": "^4.0.0",
"chart.js": "^2.6.0",
"core-js": "^2.4.1",
"hammerjs": "^2.0.8",
"jquery": "^3.2.1",
"ng2-charts": "^1.6.0",
"rxjs": "^5.1.0",
"zone.js": "^0.8.4"
},
"devDependencies": {
"@angular/cli": "1.2.0",
"@angular/compiler-cli": "^4.0.0",
"@angular/language-service": "^4.0.0",
"@types/jasmine": "~2.5.53",
"@types/jasminewd2": "~2.0.2",
"@types/node": "~6.0.60",
"codelyzer": "~3.0.1",
"jasmine-core": "~2.6.2",
"jasmine-spec-reporter": "~4.1.0",
"karma": "~1.7.0",
"karma-chrome-launcher": "~2.1.1",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^1.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.1.2",
"ts-node": "~3.0.4",
"tslint": "~5.3.2",
"typescript": "~2.3.3"
}
}
Is there anything else we should know?
Angular material is for me the best graphic tool for angular and i would like to use it. But if my problem is just due to angular material is still in beta. Ok i can wait or help to fix it.
Do you have other graphic tool? i tried primeNG (not with success) and material design lite but Angular Material is really the best.

@Imbibed, there's a real nice getting-started project project in this repo, written by @EladBezalel and @DevVersion. It's worth giving it a try.

thanks Juliano i will try this and take exemple :-)

I have to do 'npm install -g git' to download dependencies with npm install ? because juste npm install doesn't work...

No, just npm install after you done git clone https://github.com/EladBezalel/material2-start.git. Do you have the minimum setup installed in your machine (nodejs, typescript, angular-cli and git)?

I don't have git, I will install it

Ok your project works very well, I think i will use it. But it is sad to follow the get started guide and arrive to an app who doesn't work... And with that I don't know why it doesn't work. I saw that I didn't use MaterialModule and its a little bit better now but not enough yet :'(
thanks again Juliano have nice day !

Your're welcome. But the credit goes entirely to @EladBezalel and @DevVersion. It's not a project of mine.

Good thank you I follow them now.


Allow cloning projects

Allow users to clone a project directory into another directory.  This should work similar to the template feature.
Expected behavior:

You have a directory with a collection of files and folders
In StatWrap, you click "+ next to "Projects" from the main screen
From the list of options you select "Clone Directory"
StatWrap asks you to configure:

The project root directory to clone (similar UI as "Existing Directory") - for the example let's say this is C:\Projects\Project1
The project name (e.g., "Project2") and base directory to clone into (similar UI as "New Project") - let's say C:\Projects

When you click "Create Project", StatWrap should (using the example configuration from 4)

Create C:\Projects\Project2
Within C:\Projects\Project2, create copies of all folders in Project1.  Note that this is only the folder structure.  None of the files in Project1 should be copied over.  The exception is that any (per *nix standard) 'hidden' folders - those prefixed with a period - should not be be copied.  For example,  .statwrap configuration folder and .git should NOT be copied over (if they exist).
Establish the .statwrap configuration folder and corresponding configuration files

In our example, if we have:
C:\Projects\Project1, with files/folders:

.statwrap
.git
README.md
docs\

level2\

MoreInfo.md

code\

python\

notebooks\

Untitled.ipynb

Then C:\Projects\Project2, at the end of the clone operation, should contain:

.statwrap  This is a newly established folder, not a copy of the one from Project1
docs\

level2\

code\

python\

notebooks\

Hi @lrasmus can you please provide more details on this issue?

Thanks @Abhijay007 for requesting more info!  Please let me know if I can help clarify or provide any other information.

Thanks @Abhijay007 for requesting more info! Please let me know if I can help clarify or provide any other information.

Thanks for the details @lrasmus, looking into this


Mismatch in the suggested ways on how to handle async actions

In the docs it is explicitly stated that it is recommended to use the "standard" ways of doing flux actions: https://github.com/acdlite/flux-standard-action
But then in the async-section of the docs and the real world example, different types of actions (like FETCH_POSTS_FAILURE and FETCH_POSTS_SUCCESS) are used which is actively discouraged by the flux-standard-actions document.
So which is the better way to go? I feel that the docs and the examples should be more concise about this...

In the docs it is explicitly stated that it is recommended to use the "standard" ways of doing flux actions:

We should probably change the docs. I tried to convey that these recommendations are entirely optional:

Other than type, the structure of an action object is really up to you. If you’re interested, check out Flux Standard Action for recommendations on how actions should be constructed.

“is really up to you”, “if you're interested” probably wasn't enough. :-)
Later, in “async actions”:

Choosing whether to use a single action type with flags, or multiple action types, is up to you. It’s a convention you need to decide with your team. Multiple types leave less room for a mistake, but this is not an issue if you generate action creators and reducers with a helper library like redux-actions.

In examples, we don't want to use the simplest conventions possible. Whether FSA is a good idea for your app or not, depends on whether you want to use FSA-related middleware, and whether you're interested in such conventions at all. Redux doesn't take any stance here.
I'd welcome a PR to the docs clarifying the existing sentences to better reflect that.

Ah OK, I understand what you mean. It was just that the wording "Standard" suggested for me, that thas is a thing which is the very recommended way of doing things.
But I'll send in a PR


DefaultHttp2ConnectionDecoder write ping buffer

Motivation:
DefaultHttp2ConnectionDecoder writes a ACK when receiving a ping frame and sends the same data buffer it received. The data buffer is also passed to the listener, but the indexes are shared between the send and the listener. We should ensure the indexes are independent for these two operations.
Modifications:

Call duplicate on the buffer that is being sent

Result:
Listener now has access to a buffer that will not appear to be already consumed.

@nmittler @normanmaurer - FYI

@Scottmitch looks good. Maybe you want to alter the commit message to replace duplicate with slice as you are actually slice it ;)

@normanmaurer - +1

LGTM

Cherry-picked 4.1 (06c3ae0) master (24bf367)


Turn a quote into code block in Create RPG game project

The quote block is harming translation, because it shows as a translatable string while it shouldn't be.
Here is the file
https://github.com/freeCodeCamp/freeCodeCamp/blob/f80e34a9509f3208c01524ea25dd573fcacbe760/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a2401b9842721796b72850.md#L12
this quotes should turn into code block

Welcome to Dragon Repeller. You must defeat the dragon that is preventing people from leaving the town. You are in the town square. Where do you want to go? Use the buttons above.

into
Welcome to Dragon Repeller. You must defeat the dragon that is preventing people from leaving the town. You are in the town square. Where do you want to go? Use the buttons above.

Additional context
If you would like to fix this issue, please make sure you read our guidelines for contributing, we prioritize contributors following the instructions in our guides. Join us in our chat room or the forum if you need help contributing, our moderators will guide you through this.
Sometimes we may get more than one pull requests. We typically accept the most quality contribution, followed by the one that is made first.
Happy contributing.

Hi @Sboonny  can you assign me.
But you have to guide me because i am newbie in open source. : )

we don't give assignment, feel free to open PR, after you have read our contribution guidelines

@Anuran12 the contributing docs says a lot — for more help reach out in forum or discord as said above

Hi @Sboonny can you please assign it to me.
But you have to guide me because i am a newbie in open source. : )

Read through this and if you have any questions ask away! https://contribute.freecodecamp.org/#/

Is this issue open
can you guide me a little it's my first time?

There is a pull request addressing the change, so there is no need to open a new pull request.
You can check out article about markdown, that issues was about switching to different markdown format


Remove Color conversion in color.py if they exist in the colour module

The current functions that handle color conversion duplicate functionality of existing libraries. According to the enchancement proposal these should be removed. All instances where these functions are used should be replaced by those in the colour-module.
In DarrylGolden's words:
We have many functions for converting between color representations that duplicate the functionality of existing, specialized libraries. Any uses of those should be replaced, probably by methods of Color, and the functions eventually removed.

Closed by #10


Frontend Init

It looks like this on a large screen:

I also did the responsive design, so it looks like this on a smaller screen:


handle group docker attributes

Hi Sam
Nice utility.  Just a small fix to support group docker attributes.
Greg

Hi @gregsteel , thanks for contributing.  I was away a couple of months because I was moving cross country and needed to be away for logistics.  I’m back now and will be looking this over :-)


fixes link

Fixes broken link the blog. There was something before the starting slash in the link that is visible in my editor, but not in the GitHub UI

/approve

/remove lgtm
Testing locally while the preview is built. I'm not sure this is correct yet.

deploy preview: https://deploy-preview-32684--kubernetes-io-main-staging.netlify.app/blog/2022/03/31/ready-for-dockershim-removal/

The link is still broken in the preview
https://deploy-preview-32684--kubernetes-io-main-staging.netlify.app/blog/2022/03/31/ready-for-dockershim-removal/

#32687 is my fix, and I checked that the problem octets are gone (using vim).

Looks like #32686 is the right fix.

closing in favour of https://github.com/kubernetes/website/pull/32686
/close


Payday 2 Access Violation crash, script stack involves GSI and BeardLib.

So, I was just playing Payday 2, and in the middle of the heist, the game crashed. Now, Payday 2 crashing is not unusual for me as of late, but I thought it would be worth mentioning that the Game State Integration mod that is required seems to have had a role in the crash.
Application has crashed: access violation

-------------------------------

Callstack:

         payday2_win32_release  (???)     ???
         payday2_win32_release  (???)     ???
         payday2_win32_release  (???)     ???
         payday2_win32_release  (???)     ???
         payday2_win32_release  (???)     ???
         payday2_win32_release  (???)     ???
         payday2_win32_release  (???)     ???
         payday2_win32_release  (???)     ???
         payday2_win32_release  (???)     ???
         payday2_win32_release  (???)     ???
         payday2_win32_release  (???)     ???

-------------------------------

Current thread: Main
Script stack:
               custom_encode()  @mods/BeardLib/Classes/json_utils.lua:79
               custom_encode()  @mods/BeardLib/Classes/json_utils.lua:79
               custom_encode()  @mods/BeardLib/Classes/json_utils.lua:79
                 SendMessage()  @mods/GSI/Classes/GSICommunicator.lua:62
                      update()  @mods/GSI/Classes/GSICommunicator.lua:45
                        func()  @mods/GSI/GSICore.lua:131
                        Call()  @mods/base/req/hooks.lua:107
                      update()  @mods/base/lua/GameSetup.lua:6
                      update()  lib/setups/networkgamesetup.lua:21
                                core/lib/setups/coresetup.lua:529
                            ()  =(tail
                      call):-1
-------------------------------

System information:
    Application version : 1.55.17
    CPU : Intel(R) Core(TM) i7-4810MQ CPU @ 2.80GHz (2 cores); SSE; SSE2; SSE3; SSSE3; SSE4.1; SSE4.2
    DirectX : 12.0
    GPU : NVIDIA GeForce GTX 870M / nvd3dum.dll[<IP_ADDRESS>90]
    Language : @ID94cca2fdaccfc2cd@
    Memory :     12206MB 716KB
    OS : 6.2.9200 () 0x300-0x1 (64 bits)
    Physics : threaded
    Renderer : DX9 threaded
    Sound : Corsair (Headset Earphone (2- Corsair VOID RGB Wireless Gaming Headset))

Seeing as the GSI mod is required for Aurora's Payday 2 functionality, I thought it would be worth taking a look at.

This issue is not directly related to Aurora. The Payday 2 GSI mod is required for Aurora's lighting to work for PD2, but an issue with the GSI mod or BeardLib should be posted on the GSI repo or the BeardLib repo.


JSONPath doesn't seem to work correctly

λ> decodeEither "{\"tag\":\"RecordT\",\"testOneT\":1234.56789,\"testTwoT\":true,\"testThreeT\":{\"tag\":\"ProductT\",\"contents\":[\"Hello World!\",\"a\",{\"tag\":\"RecordT\",\"testOneG\":9876.54321,\"testTwoT\":false,\"testThreeT\":{\"tag\":\"ProductT\",\"contents\":[\"Yeehaa!!!\",\"\\n\",{\"tag\":\"NullaryT\",\"contents\":[]}]}}]}}" :: Either String MixedTH
Left "Error in $: When parsing the record RecordT of type DataMixed.MixedTH' the key testOneT was not present."

Why Error in $? It should be deeper than that.

Reported upstream.


Topic tag support

A pattern that we use in code on my team, and that I find very useful, is to "tag" TODOs/FIXMEs/etc with a topic. In particular this can be useful during development of a feature on a large codebase where there may be many TODOs, but you want to be able to add some and then find them again more easily as you finish up the feature. They can also be used to tag those responsible for fixing them.
These TODOs look like this:
# TODO(my-feature): Remember to change this bit

...

# TODO(danpalmer): Remove this code supporting an A/B test

It would be great if nova-todo supported this!
Currently these do not match in nova-todo at all, so they are not visible in the TODO list. I suspect a quick change could solve this issue. For further support, formatting the topic/name, or even allowing grouping/filtering by them could be helpful.

Thanks for explaining Dan. I can see how this would be useful. I will try to get this functionality into an update in the near future.

@danpalmer , @jasonplatts ,
Jus wondering...
Wouldn't this more like being able to change the settings of the extension? That way you can add any "keywords" to be taken as TODOs?

That could certainly be one approach @SuEric.
If I understand correctly, another possibility would be to separate these into two distinct features.

The ability to add additional custom keywords in the extension settings.
Dynamically detect features or names that are added between parenthesis after a keyword and add/remove these from filter options. For convenience, it would also likely be possible to provide autocompletion for these in the editor itself after typing a keyword.


[Testing] Use Constructor DSL

This PR updates rosetta-bitcoin to use the new Rosetta Constructor DSL for Construction API testing.
Related: [TODO PR removing examples from rosetta-cli]
Changelog

[x] Use DSL format
[x] Remove mainnet Construction API Tests
[ ] Add comments to DSL file

Pull Request Test Coverage Report for Build 464

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 70.963%

Totals

Change from base Build 431:
0.0%

Covered Lines:
1459

Relevant Lines:
2056

💛  - Coveralls


During import: "type object 'LGBMRegressor' has no attribute '_get_param_names'"

Describe the bug
import nannyml

File ~/mambaforge/envs/boosting_mle/lib/python3.11/site-packages/nannyml/__init__.py:54
54 from .drift import AlertCountRanker, CorrelationRanker, DataReconstructionDriftCalculator, UnivariateDriftCalculator

...and so on full traceback in section below
type object 'LGBMRegressor' has no attribute '_get_param_names' during import

To Reproduce
lightgbm                  3.3.5           py311h6a678d5_0
nannyml                   0.10.2             pyhd8ed1ab_0    conda-forge
flaml                     1.2.4              pyhd8ed1ab_0    conda-forge
Expected behavior
import works.
Screenshots & scripts
AttributeError                            Traceback (most recent call last)
Cell In[22], line 2
      1 import lightgbm as lgb
----> 2 import nannyml
      3 import numpy as np
      4 import pandas as pd

File ~/mambaforge/envs/boosting_mle/lib/python3.11/site-packages/nannyml/__init__.py:54
     43 from .datasets import (
     44     load_modified_california_housing_dataset,
     45     load_synthetic_binary_classification_dataset,
   (...)
     51     load_us_census_ma_employment_data,
     52 )
     53 from .distribution import CategoricalDistributionCalculator, ContinuousDistributionCalculator
---> 54 from .drift import AlertCountRanker, CorrelationRanker, DataReconstructionDriftCalculator, UnivariateDriftCalculator
     55 from .exceptions import ChunkerException, InvalidArgumentsException, MissingMetadataException
     56 from .io import DatabaseWriter, PickleFileWriter, RawFilesWriter

File ~/mambaforge/envs/boosting_mle/lib/python3.11/site-packages/nannyml/drift/__init__.py:27
      5 """NannyML drift detection module.
      6
      7 This module contains ways to detect both univariate (within a single continuous or categorical column)
   (...)
     24
     25 """
     26 from .multivariate.data_reconstruction import DataReconstructionDriftCalculator
---> 27 from .ranker import AlertCountRanker, CorrelationRanker
     28 from .univariate import FeatureType, Method, MethodFactory, UnivariateDriftCalculator

File ~/mambaforge/envs/boosting_mle/lib/python3.11/site-packages/nannyml/drift/ranker.py:35
     33 from nannyml.performance_estimation.confidence_based.metrics import Metric as CBPEMetric
     34 from nannyml.performance_estimation.confidence_based.results import Result as CBPEResults
---> 35 from nannyml.performance_estimation.direct_loss_estimation.result import Result as DLEResults
     36 from nannyml.stats.avg.result import Result as StatsAvgResults
     37 from nannyml.stats.count import Result as StatsCountResults

File ~/mambaforge/envs/boosting_mle/lib/python3.11/site-packages/nannyml/performance_estimation/__init__.py:8
      5 """Contains all performance estimation implementations and utilities."""
      7 from .confidence_based import CBPE
----> 8 from .direct_loss_estimation import DLE

File ~/mambaforge/envs/boosting_mle/lib/python3.11/site-packages/nannyml/performance_estimation/direct_loss_estimation/__init__.py:9
      5 """Module containing the Direct Error Estimation implementation."""
      7 SUPPORTED_METRIC_VALUES = ['mae', 'mape', 'mse', 'rmse', 'msle', 'rmsle']
----> 9 from .dle import DLE  # noqa: E402
     10 from .result import Result

File ~/mambaforge/envs/boosting_mle/lib/python3.11/site-packages/nannyml/performance_estimation/direct_loss_estimation/dle.py:18
     16 from nannyml.exceptions import InvalidArgumentsException
     17 from nannyml.performance_estimation.direct_loss_estimation import SUPPORTED_METRIC_VALUES
---> 18 from nannyml.performance_estimation.direct_loss_estimation.metrics import Metric, MetricFactory
     19 from nannyml.performance_estimation.direct_loss_estimation.result import Result
     20 from nannyml.thresholds import StandardDeviationThreshold, Threshold

File ~/mambaforge/envs/boosting_mle/lib/python3.11/site-packages/nannyml/performance_estimation/direct_loss_estimation/metrics.py:22
     20 import numpy as np
     21 import pandas as pd
---> 22 from flaml import AutoML
     23 from lightgbm import LGBMRegressor
     24 from sklearn.metrics import (
     25     mean_absolute_error,
     26     mean_absolute_percentage_error,
     27     mean_squared_error,
     28     mean_squared_log_error,
     29 )

File ~/mambaforge/envs/boosting_mle/lib/python3.11/site-packages/flaml/__init__.py:2
      1 import logging
----> 2 from flaml.automl import AutoML, logger_formatter
      3 from flaml.tune.searcher import CFO, BlendSearch, FLOW2, BlendSearchTuner, RandomSearch
      4 from flaml.onlineml.autovw import AutoVW

File ~/mambaforge/envs/boosting_mle/lib/python3.11/site-packages/flaml/automl/__init__.py:1
----> 1 from flaml.automl.automl import AutoML, size
      2 from flaml.automl.logger import logger_formatter
      3 from flaml.automl.state import SearchState, AutoMLState

File ~/mambaforge/envs/boosting_mle/lib/python3.11/site-packages/flaml/automl/automl.py:39
     37 from flaml.automl.logger import logger, logger_formatter
     38 from flaml.automl.training_log import training_log_reader, training_log_writer
---> 39 from flaml.default import suggest_learner
     40 from flaml.version import __version__ as flaml_version
     41 from flaml.tune.spark.utils import check_spark, get_broadcast_data

File ~/mambaforge/envs/boosting_mle/lib/python3.11/site-packages/flaml/default/__init__.py:8
      1 from .suggest import (
      2     suggest_config,
      3     suggest_learner,
   (...)
      6     meta_feature,
      7 )
----> 8 from .estimator import (
      9     flamlize_estimator,
     10     LGBMClassifier,
     11     LGBMRegressor,
     12     XGBClassifier,
     13     XGBRegressor,
     14     RandomForestClassifier,
     15     RandomForestRegressor,
     16     ExtraTreesClassifier,
     17     ExtraTreesRegressor,
     18 )

File ~/mambaforge/envs/boosting_mle/lib/python3.11/site-packages/flaml/default/estimator.py:154
    151 try:
    152     import lightgbm
--> 154     LGBMRegressor = flamlize_estimator(lightgbm.LGBMRegressor, "lgbm", "regression")
    155     LGBMClassifier = flamlize_estimator(lightgbm.LGBMClassifier, "lgbm", "classification")
    156 except ImportError:

File ~/mambaforge/envs/boosting_mle/lib/python3.11/site-packages/flaml/default/estimator.py:30, in flamlize_estimator(super_class, name, task, alternatives)
      9 def flamlize_estimator(super_class, name: str, task: str, alternatives=None):
     10     """Enhance an estimator class with flaml's data-dependent default hyperparameter settings.
     11
     12     Example:
   (...)
     27             in the constructor, then look for the learned defaults for estimator "xgboost".
     28     """
---> 30     class EstimatorClass(super_class):
     31         """**Enhanced with flaml's data-dependent default hyperparameter settings.**"""
     33         @wraps(super_class.__init__)
     34         def __init__(self, **params):

File ~/mambaforge/envs/boosting_mle/lib/python3.11/site-packages/flaml/default/estimator.py:43, in flamlize_estimator.<locals>.EstimatorClass()
     39     self._params = params
     40     super().__init__(**params)
     42 @classmethod
---> 43 @wraps(super_class._get_param_names)
     44 def _get_param_names(cls):
     45     return super_class._get_param_names()
     47 def suggest_hyperparams(self, X, y):

AttributeError: type object 'LGBMRegressor' has no attribute '_get_param_names'

Seems it solved in https://github.com/microsoft/FLAML/blob/15fda2206b330f9f7e4944a67e0fc05b3af09bee/flaml/default/estimator.py#L44 in flaml > 2.0
but https://github.com/NannyML/nannyml/blob/87f0d4888a4ac9275a863ae6063515b2c9cbcc37/pyproject.toml#L54
restricts it

Hey @GrigoriiTarasov, this looks like a dependency conflict in that specific version of nannyml.
Could you try upgrading to nannyml v0.10.5 or later, e.g. v0.11.0 for the latest release? We updated dependencies for Python versions >=3.8 in v0.10.5.


How to determine the number of CrossAttention layers in a StableDiffusion model?

How to determine the number of CrossAttention layers in a StableDiffusion model. I noticed in the code that the number of CrossAttention layers in the SD model is stated to be 16:
class MutualSelfAttentionControl(AttentionBase):
    MODEL_TYPE = {
        "SD": 16,
        "SDXL": 70
    }

However, in actual usage, I found that the number of CrossAttention layers is 32, with 12 layers in "down", 2 layers in "mid", and 18 layers in "up". How can this be understood?
for net_name, net in model.unet.named_children():
    if "down" in net_name:
        down_cross_att_count += register_editor(net, 0, "down")
    elif "mid" in net_name:
        mid_cross_att_count += register_editor(net, 0, "mid")
    elif "up" in net_name:
        up_cross_att_count += register_editor(net, 0, "up")
editor.num_att_layers = down_cross_att_count + mid_cross_att_count + up_cross_att_count

In the MutualSelfAttentionControl class, the MODEL_TYPE dictionary is defined, which indicates the number of CrossAttention layers in different types of models. For the StableDiffusion (SD) model, the number of CrossAttention layers is set to 16;
However, in actual usage, I found that the number of CrossAttention layers is 32, distributed as follows:

The number of CrossAttention layers in the "down" (encoder) part is 12.
The number of CrossAttention layers in the "mid" part is 2.
The number of CrossAttention layers in the "up" (decoder) part is 18.

Hi @NuanBaobao, thanks for your interest. Note that both self-attention and cross-attention layers are CrossAttention modules. Therefore, SD1.5 and SD1.4 have a total of 32 CrossAttention layers, 16 layers are self-attention, and the other 16 layers are cross-attention.

I see, thank you very much for your explanation. I understand now. Best regards,

I understand now, thank you very much for your explanation. Best regards!


en-US

@jayenashar, what's the status of this fork?

I only made it part way through Localizable.  Would like @nighthawk to look through the changes so far, as there are some clarifications needed.


Adding preliminary SpecConstant support

Used code form godot/godot as starting point. See https://github.com/KhronosGroup/SPIRV-Reflect/issues/121
Next steps: 64 bit types need 2 words as operand, SpecConstantOp need implementation for evaluating spec constant (spirv-cross has an implementation for uint https://github.com/KhronosGroup/SPIRV-Cross/pull/1463). Also maybe composite type evaluation support?

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

CLA may need contributers to https://github.com/godotengine/godot/pull/50325. (Godot is licensed under MIT license, so maybe the agreement is compatible? Not a law expert...)

Related issue #121 (From godot, where starting of current pull is based on)

There may be better ways to evaluate the values (e.g. using some jit compiler that compiles to cpu native code), not sure if all the switch is easily maintainable (and if if it's possible through some #defines). Will add test cases for maintenance.

Currently using the following test from spirv-cross will result in correct specialized array size.
#version 460

layout(constant_id = 6) const uint UTWO = 2;

const uint IMUL = UTWO * UTWO;               // 4

layout(std430, set = 0, binding = 2)buffer SSBO_IMul{ float val[IMUL - 3]; float dummy; } IMul;

layout(local_size_x_id = 1, local_size_y_id = 2, local_size_z_id = 3) in;
void main(void)
{}

spirv-reflect output:
Descriptor bindings: 1

    Binding 0.2
      spirv id : 15
      set      : 0
      binding  : 2
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : false
      name     : IMul (SSBO_IMul)
          // size = 0, padded size = 0
          struct SSBO_IMul {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4 UNUSED
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } IMul;

Changing constant value should work, but not tested.
Maybe storing a specconstantop dictionary can make most duplicate result evaluation go away. That may be included (compute spec ops after user specify a current value , or lazy init?)?
Still WIP.

Moved much of recurring code into #defines, also scalar integer arithmetic should be working now. Boolean and vector types still unimplemented.

Scalar constants should work now. Tested with following glsl from spirv-cross:
#version 450

layout(local_size_x = 1) in;

layout(constant_id = 0) const bool TRUE = true;
layout(constant_id = 1) const bool FALSE = false;
layout(constant_id = 2) const int SONE = 1;
layout(constant_id = 3) const int STWO = 2;
layout(constant_id = 4) const int SNEG_TWO = -2;
layout(constant_id = 5) const uint UONE = 1;
layout(constant_id = 6) const uint UTWO = 2;
layout(constant_id = 7) const int SNEG_THREE = -3;

const uint IADD = SONE + STWO + UONE + UTWO; // 6
const uint ISUB = UTWO - SONE;               // 1
const uint IMUL = UTWO * UTWO;               // 4
const uint UDIV = UTWO / UTWO;               // 1
const int SDIV = STWO / SNEG_TWO;            // -1
//const int SREM = STWO % SNEG_THREE;          // 1
const int SREM = 1;
const int SMOD = STWO % SNEG_THREE;          // -1
const uint UMOD = IADD % IMUL;               // 2

const uint LSHL = IADD << ISUB;              // 12
const uint RSHL = IADD >> ISUB;              // 3
const int RSHA = (-int(IADD)) >> (-SDIV);         // -3

const bool IEQ = IADD == ISUB;               // false
const bool INEQ = IADD != ISUB;              // true
const bool ULT = IADD < ISUB;                // false
const bool ULE = IADD <= ISUB;               // false
const bool UGT = IADD > ISUB;                // true
const bool UGE = IADD >= ISUB;               // true

const bool SLT = SMOD < SREM;                // true
const bool SLE = SMOD <= SREM;               // true
const bool SGT = SMOD > SREM;                // false
const bool SGE = SMOD >= SREM;               // false

const bool LOR = IEQ || SLT;                 // true
const bool LAND = IEQ && SLT;                // false
const bool LNOT = !LOR;                      // false

const uint AND = IADD & IADD;                // 6
const uint OR = IADD | ISUB;                 // 7
const uint XOR = IADD ^ IADD;                // 0
const uint NOT = ~XOR;                       // UINT_MAX

const bool LEQ = LAND == LNOT;               // true
const bool LNEQ = LAND != LNOT;              // false

const uint SEL = IEQ ? IADD : ISUB;          // 1

#define DUMMY_SSBO(name, bind, size) layout(std430, set = 0, binding = bind) buffer SSBO_##name { float val[size]; float dummy; } name

// Normalize all sizes to 1 element so that the default offsets in glslang matches up with what we should be computing.
// If we do it right, we should get no layout(offset = N) expressions.
DUMMY_SSBO(IAdd, 0, IADD - 5);
DUMMY_SSBO(ISub, 1, ISUB);
DUMMY_SSBO(IMul, 2, IMUL - 3);
DUMMY_SSBO(UDiv, 3, UDIV);
DUMMY_SSBO(SDiv, 4, SDIV + 2);
DUMMY_SSBO(SRem, 5, SREM);
DUMMY_SSBO(SMod, 6, SMOD + 2);
DUMMY_SSBO(UMod, 7, UMOD - 1);
DUMMY_SSBO(LShl, 8, LSHL - 11);
DUMMY_SSBO(RShl, 9, RSHL - 2);
DUMMY_SSBO(RSha, 10, RSHA + 4);
DUMMY_SSBO(IEq, 11, IEQ ? 2 : 1);
DUMMY_SSBO(INeq, 12, INEQ ? 1 : 2);
DUMMY_SSBO(Ult, 13, ULT ? 2 : 1);
DUMMY_SSBO(Ule, 14, ULE ? 2 : 1);
DUMMY_SSBO(Ugt, 15, UGT ? 1 : 2);
DUMMY_SSBO(Uge, 16, UGE ? 1 : 2);
DUMMY_SSBO(Slt, 17, SLT ? 1 : 2);
DUMMY_SSBO(Sle, 18, SLE ? 1 : 2);
DUMMY_SSBO(Sgt, 19, SGT ? 2 : 1);
DUMMY_SSBO(Sge, 20, SGE ? 2 : 1);
DUMMY_SSBO(Lor, 21, LOR ? 1 : 2);
DUMMY_SSBO(Land, 22, LAND ? 2 : 1);
DUMMY_SSBO(Lnot, 23, LNOT ? 2 : 1);
DUMMY_SSBO(And, 24, AND - 5);
DUMMY_SSBO(Or, 24, OR - 6);
DUMMY_SSBO(Xor, 24, XOR + 1);
DUMMY_SSBO(Not, 25, NOT - 0xfffffffeu);
DUMMY_SSBO(Leq, 26, LEQ ? 1 : 2);
DUMMY_SSBO(Lneq, 27, LNEQ ? 2 : 1);
DUMMY_SSBO(Sel, 28, SEL);

void main()
{
	IAdd.val[0] = 0.0;
	ISub.val[0] = 0.0;
	IMul.val[0] = 0.0;
	UDiv.val[0] = 0.0;
	SDiv.val[0] = 0.0;
	SRem.val[0] = 0.0;
	SMod.val[0] = 0.0;
	UMod.val[0] = 0.0;
	LShl.val[0] = 0.0;
	RShl.val[0] = 0.0;
	RSha.val[0] = 0.0;
	IEq.val[0] = 0.0;
	INeq.val[0] = 0.0;
	Ult.val[0] = 0.0;
	Ule.val[0] = 0.0;
	Ugt.val[0] = 0.0;
	Uge.val[0] = 0.0;
	Slt.val[0] = 0.0;
	Sle.val[0] = 0.0;
	Sgt.val[0] = 0.0;
	Sge.val[0] = 0.0;
	Lor.val[0] = 0.0;
	Land.val[0] = 0.0;
	Lnot.val[0] = 0.0;
	And.val[0] = 0.0;
	Or.val[0] = 0.0;
	Xor.val[0] = 0.0;
	Not.val[0] = 0.0;
	Leq.val[0] = 0.0;
	Lneq.val[0] = 0.0;
	Sel.val[0] = 0.0;
}

Reflection output:
generator       : Google Shaderc over Glslang
source lang     : GLSL
source lang ver : 450
source file     :
entry point     : main (stage=CS)
local size      : (1, 1, 1)

  Sepecialization constants: 8

    0:
      spirv id   : 8
      constant id: 2
      name       : SONE
      type       : signed 32 bit integer
      default    : 1
    1:
      spirv id   : 9
      constant id: 3
      name       : STWO
      type       : signed 32 bit integer
      default    : 2
    2:
      spirv id   : 14
      constant id: 5
      name       : UONE
      type       : unsigned 32 bit integer
      default    : 1
    3:
      spirv id   : 16
      constant id: 6
      name       : UTWO
      type       : unsigned 32 bit integer
      default    : 2
    4:
      spirv id   : 49
      constant id: 4
      name       : SNEG_TWO
      type       : signed 32 bit integer
      default    : -2
    5:
      spirv id   : 64
      constant id: 7
      name       : SNEG_THREE
      type       : signed 32 bit integer
      default    : -3
    6:
      spirv id   : 251
      constant id: 0
      name       : TRUE
      type       : boolean
      default    : 1
    7:
      spirv id   : 252
      constant id: 1
      name       : FALSE
      type       : boolean
      default    : 0

  Descriptor bindings: 31

    Binding 0.0
      spirv id : 23
      set      : 0
      binding  : 0
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : IAdd (SSBO_IAdd)
          // size = 0, padded size = 0
          struct SSBO_IAdd {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } IAdd;

    Binding 0.1
      spirv id : 33
      set      : 0
      binding  : 1
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : ISub (SSBO_ISub)
          // size = 0, padded size = 0
          struct SSBO_ISub {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } ISub;

    Binding 0.2
      spirv id : 41
      set      : 0
      binding  : 2
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : IMul (SSBO_IMul)
          // size = 0, padded size = 0
          struct SSBO_IMul {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } IMul;

    Binding 0.3
      spirv id : 47
      set      : 0
      binding  : 3
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : UDiv (SSBO_UDiv)
          // size = 0, padded size = 0
          struct SSBO_UDiv {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } UDiv;

    Binding 0.4
      spirv id : 56
      set      : 0
      binding  : 4
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : SDiv (SSBO_SDiv)
          // size = 0, padded size = 0
          struct SSBO_SDiv {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } SDiv;

    Binding 0.5
      spirv id : 62
      set      : 0
      binding  : 5
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : SRem (SSBO_SRem)
          // size = 0, padded size = 0
          struct SSBO_SRem {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } SRem;

    Binding 0.6
      spirv id : 70
      set      : 0
      binding  : 6
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : SMod (SSBO_SMod)
          // size = 0, padded size = 0
          struct SSBO_SMod {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } SMod;

    Binding 0.7
      spirv id : 77
      set      : 0
      binding  : 7
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : UMod (SSBO_UMod)
          // size = 0, padded size = 0
          struct SSBO_UMod {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } UMod;

    Binding 0.8
      spirv id : 85
      set      : 0
      binding  : 8
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : LShl (SSBO_LShl)
          // size = 0, padded size = 0
          struct SSBO_LShl {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } LShl;

    Binding 0.9
      spirv id : 93
      set      : 0
      binding  : 9
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : RShl (SSBO_RShl)
          // size = 0, padded size = 0
          struct SSBO_RShl {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } RShl;

    Binding 0.10
      spirv id : 104
      set      : 0
      binding  : 10
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : RSha (SSBO_RSha)
          // size = 0, padded size = 0
          struct SSBO_RSha {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } RSha;

    Binding 0.11
      spirv id : 113
      set      : 0
      binding  : 11
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : IEq (SSBO_IEq)
          // size = 0, padded size = 0
          struct SSBO_IEq {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } IEq;

    Binding 0.12
      spirv id : 120
      set      : 0
      binding  : 12
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : INeq (SSBO_INeq)
          // size = 0, padded size = 0
          struct SSBO_INeq {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } INeq;

    Binding 0.13
      spirv id : 127
      set      : 0
      binding  : 13
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : Ult (SSBO_Ult)
          // size = 0, padded size = 0
          struct SSBO_Ult {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } Ult;

    Binding 0.14
      spirv id : 134
      set      : 0
      binding  : 14
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : Ule (SSBO_Ule)
          // size = 0, padded size = 0
          struct SSBO_Ule {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } Ule;

    Binding 0.15
      spirv id : 141
      set      : 0
      binding  : 15
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : Ugt (SSBO_Ugt)
          // size = 0, padded size = 0
          struct SSBO_Ugt {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } Ugt;

    Binding 0.16
      spirv id : 148
      set      : 0
      binding  : 16
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : Uge (SSBO_Uge)
          // size = 0, padded size = 0
          struct SSBO_Uge {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } Uge;

    Binding 0.17
      spirv id : 155
      set      : 0
      binding  : 17
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : Slt (SSBO_Slt)
          // size = 0, padded size = 0
          struct SSBO_Slt {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } Slt;

    Binding 0.18
      spirv id : 162
      set      : 0
      binding  : 18
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : Sle (SSBO_Sle)
          // size = 0, padded size = 0
          struct SSBO_Sle {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } Sle;

    Binding 0.19
      spirv id : 169
      set      : 0
      binding  : 19
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : Sgt (SSBO_Sgt)
          // size = 0, padded size = 0
          struct SSBO_Sgt {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } Sgt;

    Binding 0.20
      spirv id : 176
      set      : 0
      binding  : 20
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : Sge (SSBO_Sge)
          // size = 0, padded size = 0
          struct SSBO_Sge {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } Sge;

    Binding 0.21
      spirv id : 183
      set      : 0
      binding  : 21
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : Lor (SSBO_Lor)
          // size = 0, padded size = 0
          struct SSBO_Lor {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } Lor;

    Binding 0.22
      spirv id : 190
      set      : 0
      binding  : 22
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : Land (SSBO_Land)
          // size = 0, padded size = 0
          struct SSBO_Land {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } Land;

    Binding 0.23
      spirv id : 197
      set      : 0
      binding  : 23
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : Lnot (SSBO_Lnot)
          // size = 0, padded size = 0
          struct SSBO_Lnot {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } Lnot;

    Binding 0.24
      spirv id : 204
      set      : 0
      binding  : 24
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : And (SSBO_And)
          // size = 0, padded size = 0
          struct SSBO_And {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } And;

    Binding 0.24
      spirv id : 212
      set      : 0
      binding  : 24
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : Or (SSBO_Or)
          // size = 0, padded size = 0
          struct SSBO_Or {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } Or;

    Binding 0.24
      spirv id : 219
      set      : 0
      binding  : 24
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : Xor (SSBO_Xor)
          // size = 0, padded size = 0
          struct SSBO_Xor {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } Xor;

    Binding 0.25
      spirv id : 227
      set      : 0
      binding  : 25
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : Not (SSBO_Not)
          // size = 0, padded size = 0
          struct SSBO_Not {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } Not;

    Binding 0.26
      spirv id : 234
      set      : 0
      binding  : 26
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : Leq (SSBO_Leq)
          // size = 0, padded size = 0
          struct SSBO_Leq {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } Leq;

    Binding 0.27
      spirv id : 241
      set      : 0
      binding  : 27
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : Lneq (SSBO_Lneq)
          // size = 0, padded size = 0
          struct SSBO_Lneq {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } Lneq;

    Binding 0.28
      spirv id : 247
      set      : 0
      binding  : 28
      type     : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER (UAV)
      count    : 1
      accessed : true
      name     : Sel (SSBO_Sel)
          // size = 0, padded size = 0
          struct SSBO_Sel {
              float val[1]; // abs offset = 0, rel offset = 0, size = 4, padded size = 4, array stride = 4
              float dummy;  // abs offset = 4, rel offset = 4, size = 4, padded size = 4 UNUSED
          } Sel;

Next steps would be cleaning up clutter, removing dependency on parser and better evaluation.
Copy needed node info into a internal array, each result id have a evaluation state flag, current value, type pointe, and list of related spec constants.

Implementation is now done, but the API needs clearing up.

Implementation done, adding test cases...

Bazel build does not have all the preprocessor definition options (both this and the assert definition), yaml have no specialization op support. But I suppose yaml doesn't have a way to store constant expression ast either.

Hi, thanks for this massive change. However, I need to check to make sure that it's possible to accept MIT license originally from godot.
On a different note, SPIRV-Reflect has a pretty set coding style. Could you make sure the alignmet of structs and code follow the existing convention?
Thanks,
Hai

@chaoticbob I asked the original author of the original spec-constant part, and confirmed the license https://github.com/godotengine/godot/pull/50325. Just found some inconsistencies in indentations I didn't find when preparing to open this pr, edited that.

@shangjiaxuan Thanks for checking with on the godot licensing. Very much appreciated.

Since this library mainly interfaces with vulkan, and vulkan passes specialization info through VkSpecializationMapEntry and VkSpecializationInfo, it should be useful to have an api that generates this from internal data (all evaluation node and value are from the same allocation already).
/*
*    @brief retrieves all specialization constants that have been modified ready to be passed to vulkan api
*        call with pMapEntries == null to retrieve number of entries, and then call with allocated space to retrieve
*        the actual memory mappings. Function will internally const-cast the VkSpecializationMapEntry array on second
*        call.
*    @param info : the info to be passed into vulkan api
*    @return        SPIRV_REFLECT_RESULT_SUCCESS if succeeded, else return an error code.
*/
SpvReflectResult  spvReflectGetSpecializationInfo(VkSpecializationInfo& info);

Previously BlockVariables size are statically calculated. Maybe should add an api for calculating based on specialization op result.
Also it seems adding the structure definition in header breaks build when including vulkan.h (duplicate definition). Should define opaque type in header.

According to spec ARB_gl_spirv, layout of buffers in should be static. Specialized array size should never exceed offset of next element. Thus, it's not necessary to recalculate offsets, only sizes, and mere size calculation do not need a new api.

This PR needs to be cleaned up. There are changes that are unrelated to SpecConstant support mixed in. It's difficult to see to which of these changes are relevant to the SpecConstant support and which are not.
There are some changes where const was added to parameter variables. While I'm not opposed to these, the lack of const wasn't an oversight. If you want to propose a change for this, it needs to come through on a separate PR. The same goes for the additional macros and other quality of life changes.

Hi! I just wanted to comment that after integrating it into a custom project, I find it very useful. I'm just hoping for approval and a merge so I can build on this as part of the vulkan sdk. :)

In addition to the feedback I left:

The giant macros need to become functions. The macros as they are cannot be debugged.
The code format still needs work, it should follow the existing formatting with alignment and naming convention.
Copy on returns should be avoided, the client code needs to make the allocation.
There are few comments that are not clear on what exactly is happennig.
Comments should indicate a clear behavior even if that behavior is undefined.

Any update on this?  I would like to play with these in some of my shaders in order to dynamically change the work group size.  Thanks!

Is there anything I can help out regarding this? :) I would really like to use spec constants via SPIRV-Reflect. I'm using shangjiaxuan's initial commit instead of the main branch, and its very useful.

@muraj @zbendefy  thanks for poking, I want to help move this forward, but something I am lacking are the use cases.
It would be helpful to have a "what is expected" vs "what it currently does" to better understand what part of spec constant support people are after

Sorry for the delay.  Honestly, for my initial use case, just not barfing when specialization constants for the local group size are used would be fine.  When I first tried it, it failed to parse if any spec constant syntax was involved in the variable.  I had written up in full detail what happened somewhere.
Eventually I would like to retrieve more information about the variable definition for the local group size dimensions so I can consume any spirv given to modify the local group size and JIT at dispatch time to fit the local group size requested, caching more frequently used compilations for reuse later.
At the moment I'm just hard coding the specialization id, but I still need spirv-reflect to be able to parse the spirv in order to retrieve information about the entry point, etc.

It would be helpful to have a "what is expected" vs "what it currently does" to better understand what part of spec constant support people are after

For what it's worth, I'll let you know why we need this in Godot.

The API-agnostic layer of our rendering infrastructure use spec constant reflection for validation; namely, when it's asked to create a pipeline with some overrides for SC defaults, it validates the provided values are of the right type.
Our Direct3D 12 renderer implementation still uses SPIR-V as an input for shaders. That means we have to emulate spec constants. We do that by patching DXIL resulting from transpilation. The matter is that knowing what the default values are allows us to optimize the patching process whenever a pipeline is created, by skipping what would otherwise be redundant operations.
We're exposing shader reflection, including spec constants with their default values to userland. That means user scripts (mostly tools, I guess) can use such data however they see fit.


MB-16357 populate SITDestinationFinalAddress when TOO approves DDDSIT

Jira ticket
Summary
Work done in this pr should ensure that the shipment destination address is populated with the new duty location address when the destination address is unknown. When this pr is merged, it will backfill shipment destination addresses. In this PR, we now make a copy of the streets/city/state/zip/country of the shipment destination address and set that to be the SITDestinationOriginalAddress and SITDestinationFinalAddress when the TOO approves a DDDSIT service item that doesn't have a SITDestinationFinalAddress
Verification Steps for the Author
These are to be checked by the author.

[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] Have the Jira acceptance criteria been met for this change?

Verification Steps for Reviewers
These are to be checked by a reviewer.
Setup to Run the Code

Instructions for starting storybook
Instructions for starting the MilMove application
Instructions for running tests

How to test

Login as the prime simulator and look at REWAYD (or any other move where the shipment destination address is known)
Create a SIT destination service item without a delivery address
Login as a TOO and look at REWAYD
In the network tab of devtools, you should see that the DDDSIT service item doesn't have sitDestinationOriginalAddress or sitDestinationFinalAddress
Approve the shipment
In devtools, you should see that the DDDSIT service item will have sitDestinationOriginalAddress and sitDestinationFinalAddress and the streets/city/state/postal/country values match the values on the shipment destination address
Verify that sitDestinationOriginalAddress and sitDestinationFinalAddress ID (they'll be the same ID at this point) is different from the ID on the shipment destination address

Backend

[ ] Code follows the guidelines for Logging.
[ ] The requirements listed in Querying the Database Safely have been satisfied.

Messages

:book:
:link: MB-16357

  Generated by :no_entry_sign: dangerJS against e6245ead5caf38c86e35d30e31f501ce2e5b84fc


fix: only fetch db function when db exists in sql lab

SUMMARY
When closing multiple tabs, there would sometimes be errors because we were fetching function names with a null db. This checks that the db is present before updating. If the db is not present, the function names will fetch on the left toolbar db change method.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
before:
https://user-images.githubusercontent.com/5186919/134093911-62487bda-3467-4e05-988f-00dc8498c09b.mov
TESTING INSTRUCTIONS
save a query, copy it and open it in a window. Open a bunch of saved queries so that you have about 4 tabs loading all at once on a page load, then close them one by one. There should be no errors, and your database should update.
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

/testenv up

🏷 2021.38


Except and intersect variations (v3)

This branch provides several variations of the Except and Intersect operators.
It provides a solution to issues #63 and #124, and can be built upon to resolve #125.

Has there been any movement on getting this PR published? I keep coming back to wishing I had access to these variants.

@eliekstein Do you have time to review the merge conflicts?

@JamesFaix I Could, do you want me to add as a collaborator to your fork? or should i do my own fork?

I've opened another PR #257 which fixes the conflicts and passes all the tests, once that's merged this one could be closed.


Thumbnail sometimes doesn't appear on the quote, only the small picture

This has been seen to happen with "facts are stubborn" quote, but it has not been reproduced so far.

Not reproduced so far


Make PHK easier to embed into other projects

The work that has been done on PHK is a awesome but it is difficult to use PHK as an external library, this is my efforts to make it easier to embed as a dylib.

https://github.com/CodingNinja/Personal-HomeKit-HAP-/commit/8d7a67931484a3f48319be9195ee98d058fafeda
This commit revert some improved code.
I guess you had not pull before commit? :-)

Sorry about that mate, I'll update the pull request to master.
Sent from my iPhone

On 20 Jan 2015, at 5:43 pm, Lu Zhihe<EMAIL_ADDRESS>wrote:
CodingNinja@8d7a679
This commit revert some improved code.
I guess you had not pull before commit? :-)
—
Reply to this email directly or view it on GitHub.

Hey mate, I fixed it up by rebasing against the previous commits and reverting the incorrect merge I did.
A better version of the compare is available at https://github.com/etwmc/Personal-HomeKit-HAP-/pull/36/files?w=1, this omits the whitespace trimming commit.


Update cache-how-to-geo-replication.md

Fixed spelling errors

@carldc : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


GH-35081: [Python] construct pandas.DataFrame with public API in to_pandas

Rationale for this change
Avoiding using pandas internals to create Block objects ourselves, using a new API for pandas>=3

GitHub Issue: #35081

@github-actions crossbow submit test-conda-python-3.11-pandas-upstream_devel test-conda-python-3.10-pandas-nightly

@github-actions crossbow submit test-conda-python-3.11-pandas-upstream_devel test-conda-python-3.10-pandas-nightly


'dry-run' produces console errors for 'tryTo' instances

What are you trying to achieve?
Export steps for BDD scenarios.
What do you get instead?
Tests run as expected, but 'dry-run' throws error for 'tryTo' instances.

Provide console output if related. Use --verbose mode for more details.

  Submit randomized answers @Smoke @CRUD @DB
    Given I am on the About You page
  ✖ FAILED in 11ms

-- FAILURES:

  1) Submission
       Submit randomized answers @Smoke @CRUD @DB:
     tryTo is not defined

The step calls a function that uses tryTo:
const result = await tryTo(() => I.see('This survey requires that your browser accept cookies from our web site.'));
Details

CodeceptJS version: 3.3.3
NodeJS Version: 16.14.2
Operating System: OSX 12.4
Playwright
Configuration file:

  plugins: {
    screenshotOnFail: {
      enabled: true
    },
    pauseOnFail: {},
    retryFailedStep: {
      enabled: true
    },
    tryTo: {
      enabled: true
    },
    fakerTransform: {
      enabled: true
    },
  },

I do not have a bdd approach and I am having the same error when executing dry-run


For .NET 6 in TryInterpret for parameterless constructor replace ConstructorInfo.Invoke with Activator.CreateInstance

The latter is much faster in .NET 6 than the former. The proof source is PR here and the benchmark below.
Note: It should be separately tested in .NET 7 and may be reverted due to the PR mentioned.
BenchmarkDotNet=v0.12.1, OS=Windows 10.0.19042
Intel Core i5-8350U CPU 1.70GHz (Kaby Lake R), 1 CPU, 8 logical and 4 physical cores
.NET Core SDK=6.0.201
  [Host]     : .NET Core 6.0.3 (CoreCLR 6.0.322.12309, CoreFX 6.0.322.12309), X64 RyuJIT
  DefaultJob : .NET Core 6.0.3 (CoreCLR 6.0.322.12309, CoreFX 6.0.322.12309), X64 RyuJIT

Method
Mean
Error
StdDev
Median
Ratio
RatioSD
Gen 0
Gen 1
Gen 2
Allocated

CtorInvoke
82.97 ns
2.312 ns
6.780 ns
79.85 ns
1.00
0.00
0.0076
-
-
24 B

ActivatorCreate
13.56 ns
0.357 ns
0.512 ns
13.39 ns
0.16
0.02
0.0076
-
-
24 B

Huh I did not add net60 target, so no effect.
TBD. static ldmbdas in .Net 6?

added net6_0 to DryIoc project


fix/gui upload

raises the maz sixe of bus messages to 100MB
this should not be an issue, but i am cautious of allowing a large value here, ideally the upload should be splitting the message into several smaller ones instead
this PR is mostly meant for discussion and to get any existing users running for early testing, 100MB does not seem a sane value to me!

this should not be an issue, but i am cautious of allowing a large value here, ideally the upload should be splitting the message into several smaller ones instead

I agree, the upload should be split as it will reduce the CPU consumption as well (when trying to upload the CPU when crazy).

Maybe default could stay 10MB and when required, it could be overrided via a setting from mycroft.conf.

Maybe default could stay 10MB and when required, it could be overrided via a setting from mycroft.conf.

agree with this, change made
the 10MB limit stays as a default, but mycroft.conf can be changed now


feat(@angular/cli): add --preserve-symlinks to ng test

Fix #7081

Can you please merge this into 1.4.X, too?
It was not included in the 1.4.2 release.
Our project uses FESM modules with ES2015 target version and the 1.5 beta results in
"Cannot convert undefined or null to object" errors.
This seems to be related to the following bug:
https://github.com/angular/angular/issues/15127
See also jinder comment in this issue:
"This is going to become a larger issue as Angular CLI 1.5 beta has just shipped with ES6 target support. In JIT mode, this causes #15325. AOT seems to work fine, however."
Version 1.4.1 with this PR works fine, though.

Hi @filipesilva  and @hansl ,
will this also be merged into the 1.4.x branch?
Would be awesome if we could use this without being forced to upgrade to angular 5 first.
Thanks!

This will not be merged into 1.4.x because it is a new feature. We try to only add new features in new minor versions. You can still use 1.5 without updating to Angular 5 though. It still supports Angular 2/4.


Integration breaks if AirCo is in the Dual Power fan mode

Describe the bug
Integration does not support Dual Power mode and breaks if it's selected via remote or touchscreen
To Reproduce
Set Innova 2.0 airco to heating or cooling mode
Set fan speed to Dual Power mode via remote or touchscreen
Reload integration
Expected behavior
Integration should support Dual Power mode
Log
2024-05-26 13:46:36.084 ERROR (MainThread) [homeassistant.components.climate] Error adding entity climate.living_room_airco for domain climate with platform innova
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 580, in _async_add_entities
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 892, in _async_add_entity
    await entity.add_to_platform_finish()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1359, in add_to_platform_finish
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1009, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1132, in _async_write_ha_state
    state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1069, in __async_calculate_state
    if state_attributes := self.state_attributes:
                           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 324, in __getattribute__
    return super().__getattribute__(__name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 542, in state_attributes
    data[ATTR_FAN_MODE] = self.fan_mode
                          ^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 324, in __getattribute__
    return super().__getattribute__(__name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/innova/climate.py", line 216, in fan_mode
    current_mode = self.coordinator.innova.fan_speed
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/innova_controls/innova.py", line 127, in fan_speed
    return self._innova_device.fan_speed
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/innova_controls/twopointzero.py", line 75, in fan_speed
    return self.fan_speeds[self._status["fs"]]
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
KeyError: 4

I think Dual Power mode should map to FAN_TOP from homeassistant.components.climate.const

Good catch! I rarely use this fan mode.
Thanks for the easy steps to reproduce, got it reproduced on the first try.
I'll look into fixing this soon.

After looking at it, I now remember why I didn't include this fan speed in the code.
It's because it is not modifiable through the API, only via the remote or the LCD like you found out. So in Home Assistant it would need to be a fan speed that cannot be set, only for display purposes.
Not sure how I will fix this yet.
The best option I see so far would be Add this fan speed (FAN_TOP) and if it is set by the remote or lcd, display it in the entity card as the selected fan speed. If the user chooses this fan mode, just set the value as FAN_HIGH instead.
But that might create confusion and look like a bug.


Clear work-item selection after closing detail-box

Fixes #1554
New event detail_close is fired when we close the work item detail box. That helps us in clearing the work item selection.
I could see event name strings of both types e.g> updateWorkItem vs update_work_item_hierarchy.
Let me know if event name should be changed to camelCase or snake_case is fine :)

@pranavgore09 snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1575.int.rdu2c.fabric8.io

@pranavgore09 snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1575.int.rdu2c.fabric8.io

@pranavgore09 snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1575.int.rdu2c.fabric8.io


Increase size limit for inspector protocol messages.

Since this is for debugging only, we don't really need to be so strict.
Fixes #1563.

I am getting the same error albeit with a much larger message size

Message is too large: 1050289 > 1048576

Is there something I can do in my code to reduce the message size? I can't tell from the workerd error where this occurs.

@tforster You are probably writing a Worker that uses a WebSocket, and you are trying to send or receive a message on that WebSocket which is larger than 1MB. You will need to find a way to split your message up into multiple smaller messages. This is different, though, from the problem being addressed by this PR.

Nope, no websockets. But there are outbound HTTP requests.

@tforster This error is specific to WebSockets. It does not apply to other HTTP requests.
Please open a new issue, this isn't related to this PR thread.


Have a choice window when pasting and already existing file

Hi apologies if this is already requested.
When you try to paste a file that is already in the folder, instead of asking the user whether to overwrite the existing file or to keep them both (adding the new file with ***-Copy) the Files UWP does the latter automatically. That makes it quite time consuming to overwrite the existing file with the new: you have to delete the old file, wait for the refresh, find the new file and rename it.
In case a file already exists in the folder, on paste there should be a choice window with the options:

Replace existing file
Skip the file
Keep both
Compare files (optional)

Thank you for your feedback, an option for resolving conflicts when transferring files is planned as part of #114. Make sure to add your feedback to #114 so we can keep it in mind when developing the feature.


Convert vocabulary types and load model concurrently

Converting vocabulary types and JIT-compiling Numba functions can represent a substantial amount of the compile time for very simple regular expressions. In particular, type conversion needs to happen every time the code is run and takes a few seconds at each session. Here we perform these operations while the model weights are downloaded and loaded on GPU, thus removing some of the overhead associated with the index compilation.
Closes #768.

A few API tweaks are necessary to implement this properly. First, the code that transforms a regex into an index should be decomposed in:

A function that takes a regex as an argument and returns a byte-level deterministic FSM;
A function that converts the vocabulary types
A function that takes the converted vocabulary, tokenizer and returns an index

We then initialize model wrappers (e.g. outlines.models.vLLM) with the model instance and the converted vocabulary. Initializing functions (e.g. outlines.model.vllm) accept a model name or a model class.


Fix test_categorize_info with nightly pyarrow

This PR removes the hardcoded memory value. I think what we care about for this .info() related test is that whatever the memory value is, it's included in the .info() output
cc @jorisvandenbossche
Closes https://github.com/dask/dask/issues/10661

Looks good!


Investigate performance of sync-over-async

Investigate the performance of sync-over-async when using reactor-netty.

@mikeharder are you happy to mark this issue as resolved in the Java case, and therefore have this issue closed? Thanks.


Official fork? & What's your plan?

Looking at this repo confuses me. From the commit history it seems it was once hosted officially under threema-ch\msgapi-sdk-python.
It seems you were a contributor, because afterwards the whole repo was moved here and is deleted at threema-ch. As Threema did not did this with the other repos it is quite confusing.
But anyway it is nice to see that you maintain it here - I'll maintain my PHP fork too. There I choose the approach to have a branch with the official files (just as a mirror) while developing ad Pull Requests on the main branch are possible.
What's you plan?
Edit: Related: Threema hat GitHub Repositories eingestellt

I completely understand your confusion. The repo has been moved here because I've been talking to the guys at Threema. They don't want to maintain the Gateway SDK repositories on GitHub anymore which is rather sad but they have their reasons. Because the Python SDK has been written by me in the first place, I've asked them to move it here so I can continue working on it separately to their internal repositories.
This is still the official Threema Gateway Python SDK. In the near future, the gateway website will probably be updated and simply point to this repository. The plan is to catch up with the other SDK versions. Hosted documentation on https://readthedocs.org and asyncio support would be nice, too. Contributions are warmly welcomed.

Okay, it is just a bit confusing that it was directly deleted from threema-ch's account. For my fork I'll just created a PR to add an information.

This is still the official Threema Gateway Python SDK.

Well... most people won't consider it so officially - as it is not maintained by Threema (alias @threema-ch anymore).
So maybe an explanation about this in the Readme would be nice.

Ah okay just saw you already added a note.

Anyway there will be two versions of the Phyton SDK:

the "official" version: the one downloadable from gateway.threema.ch
the "official" fork: your version here

AFAIK both version will be developed further. So what do you intend to do? Will you submit the development you do here to to Threema so they can include it in their internal repos?

No, there will be just one version of the Python SDK maintained here. As I said, all of this has been done in agreement with Threema.

Okay, that finally answers my question. :+1:

Supplement: The Gateway SDK page for Python has been updated.


[PDI-13829] NPE - pressing verify this transformation

replaced null field names with empty strings
added unit test

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f core/build.xml clean-all resolve jacoco && ant -Dtestreports.dir=bin/reports/integration-test -f core/build.xml jacoco-integration checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  core/src/org/pentaho/di/core/row/RowMeta.java
  core/test-src/org/pentaho/di/core/row/RowMetaTest.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.core.row.RowMeta

Branch Change:  + 2.25%
Complexity Change:  + 2.74%
Instruction Change:  + 2.46%
Line Change:  + 3.09%
Method Change:  + 3.33%


Stuck in checking stats on val

Dear authors, how long will it last for "checking stats on val"? I have been waiting for more than 3 hours for this process. But nothing happened. Are there any tricks to make this process quicker? Thank you so much for your help.

@Fredtoby Hello!
As pointed out in the article and README, we use only scenes with moving ego-cars for both training and validation.

We select only moving (non-static) cars for prediction. This is achieved by passing a custom mask to l5kit dataset class. We consider cars which drove less than 5 meters over past second to be static.

Namely, we reported results using 20000 examples for validation. Validation process took about 10 minutes.
It might be convenient to insert tqdm into validation loop for time estimation. In our code it could be placed here:
https://github.com/d-eremeev/SC-GAN/blob/971c169899bd76beee532bcbc8620370a3906f61/utils.py#L127


Show type hierarchy don't work even refresh or clear

https://github.com/microsoft/vscode-java-dependency/assets/97848247/0e173f50-96bc-4cbb-8e3b-a5ed11931f35

Maybe this is other plugin's work?don't sure

That's the feature belongs to redhat.java.
Could you share your project folder? Let me see if I can repro it on my side.

It's a really simple folder and vscode version is 1.85 with the latest java extension pack
suanfa.zip

Is your JRE System Library points to a JRE or JDK?

Do you main this setting ?
"java.jdt.ls.java.home": "/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home"

Ok, that seems a valid JDK. Is there any exception in the server log?

https://github.com/microsoft/vscode-java-dependency/assets/97848247/4582b111-88b4-49d0-8250-8ad085b4ba94
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:28.669
!MESSAGE ClassFile contents request completed
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:28.686
!MESSAGE User abort while collecting the document symbols.
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:48.731
!MESSAGE >> shutdown
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:48.733
!MESSAGE >> exit
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:48.761
!MESSAGE Shutdown received... waking up main thread
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:48.765
!MESSAGE class org.eclipse.jdt.ls.core.internal.JavaLanguageServerPlugin is stopping:
!SESSION 2023-12-13 12:51:51.710 -----------------------------------------------
eclipse.buildId=unknown
java.version=17.0.9
java.vendor=Eclipse Adoptium
BootLoader constants: OS=macosx, ARCH=aarch64, WS=cocoa, NL=zh_CN_#Hans
Framework arguments:  --stdio
Command-line arguments:  -data /Users/xzb/Library/Application Support/Code/User/workspaceStorage/6abd9e3d6881e667ebb4ebb209f32f6e/redhat.java/jdt_ws --stdio
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:53.583
!MESSAGE class org.eclipse.jdt.ls.core.internal.JavaLanguageServerPlugin is started
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:53.720
!MESSAGE Main thread is waiting
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:53.744
!MESSAGE >> initialize
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:53.746
!MESSAGE Initializing Java Language Server <IP_ADDRESS>312070241
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:53.747
!MESSAGE Started org.eclipse.m2e.core 0ms
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:54.346
!MESSAGE ProjectRegistryRefreshJob finished 599ms
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:54.363
!MESSAGE Started org.eclipse.buildship.core 16ms
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:54.393
!MESSAGE Static Commands: []
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:54.393
!MESSAGE Non-Static Commands: [java.project.import, java.project.changeImportedProjects, java.navigate.openTypeHierarchy, java.project.resolveStackTraceLocation, java.edit.handlePasteEvent, java.edit.stringFormatting, java.project.getSettings, java.project.resolveWorkspaceSymbol, java.project.upgradeGradle, java.project.createModuleInfo, java.vm.getAllInstalls, java.edit.organizeImports, java.project.refreshDiagnostics, java.project.removeFromSourcePath, java.project.listSourcePaths, java.project.getAll, java.reloadBundles, java.project.isTestFile, java.project.getClasspaths, java.navigate.resolveTypeHierarchy, java.edit.smartSemicolonDetection, java.project.updateSourceAttachment, java.decompile, java.protobuf.generateSources, java.project.resolveSourceAttachment, java.project.updateJdk, java.project.addToSourcePath, java.completion.onDidSelect]
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:54.393
!MESSAGE Static Commands: []
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:54.393
!MESSAGE Non-Static Commands: [vscode.java.checkProjectSettings, vscode.java.isOnClasspath, vscode.java.fetchUsageData, vscode.java.validateLaunchConfig, vscode.java.resolveInlineVariables, vscode.java.resolveClassFilters, vscode.java.resolveMainMethod, vscode.java.resolveClasspath, vscode.java.resolveBuildFiles, vscode.java.resolveMainClass, vscode.java.updateDebugSettings, vscode.java.resolveSourceUri, vscode.java.fetchPlatformSettings, vscode.java.buildWorkspace, vscode.java.startDebugSession, vscode.java.inferLaunchCommandLength, vscode.java.resolveElementAtSelection, vscode.java.resolveJavaExecutable]
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:54.393
!MESSAGE Static Commands: []
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:54.394
!MESSAGE Non-Static Commands: [vscode.java.test.findJavaProjects, vscode.java.test.findTestPackagesAndTypes, vscode.java.test.findTestTypesAndMethods, vscode.java.test.resolvePath, vscode.java.test.findTestLocation, vscode.java.test.get.testpath, vscode.java.test.findDirectTestChildrenForClass, vscode.java.test.navigateToTestOrTarget, vscode.java.test.junit.argument, vscode.java.test.generateTests]
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:54.394
!MESSAGE Static Commands: []
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:54.394
!MESSAGE Non-Static Commands: [java.maven.initializeSearcher, java.maven.searchArtifact, java.maven.addDependency, java.maven.controlContext]
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:54.394
!MESSAGE Static Commands: []
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:54.394
!MESSAGE Non-Static Commands: [java.project.refreshLib, java.project.checkImportStatus, java.project.list, java.project.generateJar, java.project.getMainClasses, java.getPackageData, java.resolvePath]
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:54.406
!MESSAGE RepositoryRegistryUpdateJob finished 0ms
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:54.408
!MESSAGE >> initialized
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:54.899
!MESSAGE Workspace initialized in 493ms
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:54.912
!MESSAGE >> initialization job finished
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:54.916
!MESSAGE >> registerWatchers'
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:54.917
!MESSAGE >> registerFeature 'workspace/didChangeWatchedFiles'
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:55.656
!MESSAGE Reconciled 2. Took 3 ms
!ENTRY java-debug 1 0 2023-12-13 12:51:55.667
!MESSAGE Starting com.microsoft.java.debug.plugin
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:55.896
!MESSAGE >> Updating classpath for project Zuo_8aea53db
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:55.899
!MESSAGE >> Adding /Users/xzb/IdeaProjects/Zuo/lib/kotlin-stdlib-jdk8.jar to the classpath
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:55.899
!MESSAGE >> Adding /Users/xzb/IdeaProjects/Zuo/lib/kotlin-stdlib-jdk7.jar to the classpath
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:55.899
!MESSAGE >> Adding /Users/xzb/IdeaProjects/Zuo/lib/kotlin-reflect.jar to the classpath
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:55.899
!MESSAGE >> Adding /Users/xzb/IdeaProjects/Zuo/lib/kotlin-stdlib.jar to the classpath
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:55.899
!MESSAGE >> Adding /Users/xzb/IdeaProjects/Zuo/lib/kotlin-test.jar to the classpath
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:56.259
!MESSAGE Reconciled 1. Took 0 ms
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:56.906
!MESSAGE >> build jobs finished
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:56.913
!MESSAGE Reconciled 1. Took 36 ms
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:57.524
!MESSAGE begin problem for /ConvertToLetter.java
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:57.525
!MESSAGE 4 problems reported for /ConvertToLetter.java
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:57.531
!MESSAGE begin problem for /Coins.java
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:57.531
!MESSAGE 0 problems reported for /Coins.java
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:51:57.531
!MESSAGE Validated 2. Took 15 ms
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:52:05.307
!MESSAGE ClassFile contents request completed
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:52:23.477
!MESSAGE ClassFile contents request completed
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:52:24.258
!MESSAGE ClassFile contents request completed
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:52:30.161
!MESSAGE ClassFile contents request completed
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:52:31.168
!MESSAGE >> java/validateDocument
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:52:31.582
!MESSAGE begin problem for /Coins.java
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:52:31.583
!MESSAGE 0 problems reported for /Coins.java
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:52:31.583
!MESSAGE Validated 1. Took 12 ms
!ENTRY org.eclipse.jdt.ls.core 1 0 2023-12-13 12:52:40.657
!MESSAGE ClassFile contents request completed

I found that if you keep the reference view at the left side bar, it always works. You can try drag it to the left side bar and reload your VS Code.

If you drag it into the explorer view, it starts to fail.
Does the above statement apply on your side?

Maybe this is a client side bug because later query such as call hierarchy is broken just after the type hierarchy is broken

Need some further investigation. Because I tried the same approach for TS language, everything works fine no matter where the reference view is placed.

I found that if you keep the reference view at the left side bar, it always works. You can try drag it to the left side bar and reload your VS Code.

If you drag it into the explorer view, it starts to fail.
Does the above statement apply on your side?

This is the same too, I think my custom-css extension make this view break😭

Filed an issue at https://github.com/redhat-developer/vscode-java/issues/3429.