PowerToys Keyboard Manager silent crash when using locally & in RDP session

ℹ Computer information

PowerToys version: 0.21.1
PowerToy Utility: Keyboard Manager
Running PowerToys as Admin: Yes
Windows build number: [run "winver"] 19041.508

📝 Provide detailed reproduction steps (if any)

Start PowerToys locally.
Enable Keyboard Manager with several remaps.
RDP into remote computer.
Start PowerToys on remote computer.
Enable Keyboard Manager on remote computer with same remaps as local computer.
Attempt to use one of the remapped keys in the RDP session.
Attempt to use one of the remapped keys on the local computer.

(also commented on another issue here: https://github.com/microsoft/PowerToys/issues/4756#issuecomment-696803699)
✔ Expected result
What is the expected result of the above steps?
Remapped keys function normally in both RDP session and on local computer.
❌ Actual result
What is the actual result of the above steps?
Remapped keys function normally in RDP session, and local PowerToys silently crashes as soon as the remapped key is used in RDP session. Disabling Keyboard Manager on local PC prior to using remapped keys in RDP session prevents the crash.
Windows Event Viewer log of crash:
Faulting application name: PowerToys.exe, version: <IP_ADDRESS>, time stamp: 0x5f4fd7b2
Faulting module name: KeyboardManager.dll, version: <IP_ADDRESS>, time stamp: 0x5f4fd772
Exception code: 0xc0000409
Fault offset: 0x000000000007f9a1
Faulting process id: 0x34dc
Faulting application start time: 0x01d691194f2c063e
Faulting application path: C:\Program Files\PowerToys\PowerToys.exe
Faulting module path: C:\Program Files\PowerToys\modules\KeyboardManager\KeyboardManager.dll
Report Id: 110e0285-7294-4313-af0b-74ae69edee04
Faulting package full name:
Faulting package-relative application ID:

📷 Screenshots
Are there any useful screenshots? WinKey+Shift+S and then just paste them directly into the form
These are the exact same remaps on RDP and local computer.

I can repro this. Seems to not be the case for any remapping though, when I just did A->B it didn't crash, but when I added the remappings in your screenshot I was able to reproduce the crash.

To reproduce the crash you actually don't even need PowerToys installed on the remote machine. If you invoke the Ctrl(right)->Caps Lock remapping on the remote machine PowerToys will crash on the local machine.

Added in 0.25 release https://github.com/microsoft/PowerToys/releases/tag/v0.25.0


Ensure glamor plugins load during server rendering

In server rendering our glamor plugin (which transforms pixel values to rem units) was not being loaded. This means number values were never getting transformed to rems. This was most apparent with line-height settings which don't get converted to pixels via glamor and they stay the unitless number (i.e. line-height: 1.2 is a valid property). So our plugin takes care of this with a unit precision of 5 meaning any number greater than 5 or less than -5 should be converted to a rem unit.
So we have jss written as:
width: 60,
height: 60,
lineHeight: 60,

when the plugin is running this gets converted to css:
width: 3.75rem;
height: 3.75rem;
line-height: 3.75rem;

without it running we ended up with:
width: 60px;
height: 60px;
line-height: 60;

60 is a pretty big line-height number, probably converts to about 960 pixels, hence the missing text.
When glamor rehydrates on the client, it never regenerates the styles that were generated on the server. These values will always be jacked.
We load our plugin in main.js but not really sure why this doesn't get loaded when rendering on the server? Thoughts on this? Also not sure if what I added here in prerender.js is good or not, but it does solve the issue and runs the plugin on the server.
This is definitely broken on production at the moment for logged out users. We should probably try and push a fix to this when we can.
Fixes: #144560187

Another concern is we all had a pretty tough time seeing this issue on production which makes me wonder if server rendering is failing a whole bunch.

Good find @mkitt! The main.js thing makes sense - iso has its own initialization path the really just happens via the routes. We could change main.js to pass things through, but that might be more trouble than it's worth - maybe we just need to have some other kind of common initializer that's guaranteed to be loaded in both places? Looking in main.js I don't know that we had a lot of need for it before Glamor though I could be totally off-base.
Here's the render success rate graph for the last 4 weeks - it seems to be in a reasonably good place, though it's totally possible that some number of renders are failing in ways this doesn't catch/reflect:

🤘


Update fs2-core, fs2-core_2.13 to 3.10.1

About this PR
📦 Updates

co.fs2:fs2-core
co.fs2:fs2-core_2.13

from 3.9.4 to 3.10.1
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

🔍 Files still referring to the old version number
The following files still refer to the old version number (3.9.4).
You might want to review and update them manually.
project/deps.sc

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "co.fs2" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "co.fs2" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, version-scheme:early-semver, old-version-remains, commit-count:1

Superseded by #1336.


Add support for staggered animations

Related to #15
Add support for staggered animations with incremental delays for list or grid items.

src/modifiers.js

Add a new utility motion-stagger to handle staggered delays for multiple elements.
Update the motion-delay utility to support staggered delays.
Add a new theme configuration for motionStagger with predefined values.

README.md

Add documentation for the new motion-stagger utility.
Provide usage example for staggered animations.

Thanks for the contribution! I tried using the example you added to the README, but it doesn't seem to work. Also, with the code I see, it wouldn't work either. I'm not sure if there's something missing in the PR or if I'm doing something wrong. Let me know what you think


Move TravisCiBuild synchronize block up a level into DockerHubActor

This is to deal with the periodic duplicate Travis builds triggered by Delta. The previous code doesn't work correctly for multiple threads. We need to move the synchronize block up a level to DockerHubActor which has a single instance per buildID.

@ericluria mind reviewing? Thinking we should bring over the db lock approach we use in shopify here to serialize the call to travis


Documentation is not exactly abundant

I love the simplicity with the RDWebClientPackage module. But I don't get far before I have more questions than answers.
If there is documentation for the RDWebClientPackage, then it is well hidden.
PowerShell   Install-RDWebClientPackage
Installs stuff in C:\Program Files\RemoteDesktopWeb\Internal which I have to wrangle to see because even the domain Administrator account is locked out of the directory. I had to run takeown in order to find out what was in there.
PowerShell   Import-RDWebClientBrokerCert
For some reason the certificate does not appear out of the blue. And there seems to be no reference to how to create it.
What are the considerations I have to make to select the right certificate?   Does this work with .pfx files? Is the certificate a public key or a private key?
Get-RDCertificate lists the certificates used by the various roles. However, the certificate used by the RD Broker is not listed.
Under normal circumstances, I would want to use a Let's Encrypt SSL certificate, but I'm in at least two minds about this.

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

ID: 71daf1a3-fdf6-de26-836e-badff4b8b869
Version Independent ID: 4631dad7-30cc-f162-7e4f-4d461981c45a
Content: Set up the Remote Desktop web client for your users
Content Source: WindowsServerDocs/remote/remote-desktop-services/clients/remote-desktop-web-client-admin.md
Product: windows-server
Technology: remote-desktop-services
GitHub Login: @Heidilohr
Microsoft Alias: helohr

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


Revert merge pull request #20429 (removing chai)

Chai removing the namespace from their types was a bug, which has been fixed - the correct fix from us would have been pinning our version until a fix was out, but instead we went way overboard and removed the dependency, and I'll be honest, while the assertions are no different when all tests are passing, that's not what there're there for. Failure messages like this one:

Are straight bad compared to what chai gives (a useful comparison of both inputs to equals). Object diffs for deep equals are also much worse (or rather, non-extant). We didn't use an assertion library for no reason, we used it to be more productive when debugging. I don't want to need to open a debugger just to see every small discrepancy! And while I could spend hours of effort making our custom assertion library become up-to-par with what I'd expect for a decent debugging experience (and I know @rbuckton already has his own assertion framework, but he's not ready AFAIK), it's much easy to not have a NIH mindset and continue using the tested and featureful assertion library we've been using for years. Especially since there's not a single issue with it.

assert.equal should already be printing the arguments on failure. Could you test against the latest master branch?

Actually, I see that the current version uses a custom message or prints the arguments, while we could be printing both. I'll make a PR.

@andy-ms My point still stands - there's no issue with chai, and it's way better at this. We shouldn't be investing time in this.

@andy-ms What you have in master is still really bad compared to chai - chai actually does a git diff-style diff on strings when they don't match, which we sometimes rely heavily on for actually identifying where differences are (ie, in any large fourslash failure).

@andy-ms If you have a hankering to design a perfect assertion framework from the ground up, TS-first, I advise collaborating with @rbuckton. He's actually got way more effort than this invested already.

We don't need a framework. We need 8 functions. And I'm not so sure about isFalse since assert(!x) is easier to read. I spend a lot of time writing fourslash tests so if I see any problems I'll fix them.

@andy-ms We don't even need 8 functions. But the point is, the framework has a much better developer experience, and is why we use it. And playing catchup with these "8 functions" to get as usable is a waste of time when there's no issues with the framework we were using.

And I'm not so sure about isFalse since assert(!x) is easier to read.

And is meaningfully different! !"" is true! !0 is true! As I said! These are rigorous test functions! They should not be so loose - you'd call an isFalsy or a simple assert if you wanted to be loose, not isFalse!

I didn't create that pull request because I want to re-engineer an entire framework -- it was because I thought it was easier to provide a few simple functions than to pull in a framework with much more functionality than needed. (For example, the expect(x).to.be(y) test style was only used in one file, for no apparent reason.) Please don't assume that I'm actively trying to make your life worse.
If you're having problems with the assertion functions, please make issues (plural) for them and I'll fix them. I don't know yet what you mean by it having a better developer experience, but I assume that if a function can have the same outputs for the same inputs that chai has, the developer experience is just as good. I'm happy to waste that time for you if it means having simpler test code.
As always, let's try to follow the spirit of the code of conduct.

I didn't create that pull request because I want to re-engineer an entire framework -- it was because I thought it was easier to provide a few simple functions than to pull in a framework with much more functionality than needed.

But it's not. Pulling in a framework forces us to do one thing: monitor our dependency version. "Providing a few simple functions" requires testing and verifying our own assertion functions and ensuring that they can provide all the development aids we'd like.

(For example, the expect(x).to.be(y) test style was only used in one file, for no apparent reason.)

It was available as an option, and two years ago one of my first contributions included that test file nobody complained that it differed from the prevailing assertion style and it was merged. IMO, I actually like those more, but I defer to the style of the file I'm editing.

If you're having problems with the assertion functions, please make issues (plural) for them and I'll fix them. I don't know yet what you mean by it having a better developer experience, but I assume that if a function can have the same outputs for the same inputs that chai has, the developer experience is just as good.

Which is just reimplementing the framework we were using. You've just said "if you miss any features, I'll reimplement them". One of my complaints is that I no longer get string-diffs for long strings. (like lines with pluses and minuses). Same for object diffs. You shouldn't go implement a diff algorithm to support that - this is our test subsystem, and that algorithm is going to be pretty large. We should just be leveraging existing code. And the reason I keep repeating that is because removing the assertion framework and replacing it with our own stinks of NIH syndrome. I'm not unfamiliar with replacing parts of it which underperform, but I strongly believe that ripping out all of it was premature, because there are a host of small niceties that nobody fully thought through that we're just throwing away. Removing chai in full didn't make the tests finish 40% faster or anything; there's no tangible benefit - we're taking on the maintenance burden of these assertions for no great reason.

I'm pretty confident that I can satisfy your use-cases without installing or implementing any frameworks. If you can elucidate them I'm happy to make a pull request. I'm not against importing things, so if that involves pulling in a diffing package, that's fine.

@andy-ms I looked into it a bit, and it looks like mocha implements diff support for assertion libraries, provided their errors are the appropriate structure (mocha also expects actual and expected properties on the error, which this implementation provides via the _props parameter). This means that minimally we should probably be using the standard structure for an assertion exception instead of a simple throw new Error to leverage that.
But I'm still not sure why we've added ~100 lines (and still growing) of self-supported, mostly undocumented, untested assertion code when we are aware of and have used libraries that already do this (that have dedicated tests and available documentation). Sure they do more, but the more isn't really hurting us. And they have the advantage of having been used for years and been rigorously tested for edge cases because of it. You also have to remember that the more just-for-us our test harness becomes, the harder it becomes for any community contributors to interact with. An advantage to using both mocha and chai was that both see wide use in the greater JS community, so many devs are expected to already have some experience with them, and be familiar with their APIs.

We've been using chai since 1.1 and probably earlier without issue. While it was important to get the CI off the floor (which at the time I believe was trickier than just a lockfile due to some caches), I don't think a one-time break from @types means we should abandon any given widely-used library and start rewriting a portion of it ourselves.

If you're having problems with the assertion functions, please make issues (plural) for them and I'll fix them.
I'm happy to waste that time for you if it means having simpler test code.

Your activity does not exist in a bubble when you work in a team. When you make these PRs, you're not just incurring the cost of your own time, you're incurring cost on the entire team to review these PRs, review the associated activity on the issue tracker, deal with possible merge conflicts, figure out that they have to make file issues in the first place, and other costs. The TypeScript repo isn't the place to rearrange the kitchen every few weeks to make it look nicer - other people are counting on the knives being in the third drawer and any change has external costs that should be justified by a manifest upside.
In return what are we getting? The wider surface area of Chai has historically not been a problem, nor has its install size or performance. I don't see what's "simpler" about this either. If I ever have questions about what the assert functions do (deep vs shallow, object identity, NaN), I can read the Chai docs and get answers; instead now I'm reading the source code and hoping those have the same answers. While we were only using a handful of the available asserts in Chai, I think in practice we could be using a lot more and getting better test failure messages.
Worse, we're exposed to a new kind of risk. What happens if one of these assert functions has a bug in it and we ship some bad bug as a result? I've been in the position of having to people in Microsoft that, due to a bug, a framework said their tests were passing when they possibly weren't - it is not a comfortable place to be. If Doug asks "Why did we ship this regression? Because we decided to re-implement the most popular assertion JS library?" there should be a really good answer.
I just don't see the upside of not taking this PR given that we know we still have a nonzero gap between what's present and what's hard-trod available functionality in Chai.

@RyanCavanaugh

(which at the time I believe was trickier than just a lockfile due to some caches)

Oh! For future reference, (since with dependency caching this could always happen again with any dependency) you can manually purge caches in travis, once you know a later version is out with a fix (or after you've pinned our version to an older one):

It's a somewhat out-of-the-way-place, but it's pretty useful. I do wish I knew how to do it for dotnetci, but I also don't think I've ever witnessed it perform cacheing/any cache issues.

I didn't mean to imply that I didn't consider the error messages to be a real problem -- I do.
I'll merge this and make a followup PR to implement the deepEqual fix from #20429.


Destroy popper-conent when parent get's destroyed

Hey,
I implemented your ngx-popper and created a wrapper component around it for the standard handling of the popper. For performance reasons, I implemented a popperDelay of 250. The problem is that the popper gets also used for add or delete icons. Clicking on it, the parent component gets destroyed but because of the delay the popper trys to render after the 250 ms even when the parent is not there anymore and I get the following error:
ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'nodeName' of undefined TypeError: Cannot read property 'nodeName' of undefined

@ForstKat The error should have no effect on the usage.
But ill make sure to fix it ASAP.
Thanks from brining this up.

Hey @MrFrankel, yeah it is still working but would be good to have no errors there. Did you already investigate it?

@ForstKat Should be fixed in 5.1.7, please verify.

working like a charm. Just did a small test but no more console errors. Thank you sooo much


MaxItems for ZoneLockdown to 250

Based on the Cloudflare spec, this is the max and it cannot be exceeded by support requests (to my knowledge).
This would nicely make terraform plan fail.

closing as we can't enforce this in the schema due to account entitlement differences


Constrain dependencies to an assumed compatible range (iso5)

related to inmanta/irt#1091
Strike through any lines that are not applicable (~~line~~) then check the box

[x] Attached issue to pull request

[x] Changelog entry

[x] ~Type annotations are present~

[x] Code is clear and sufficiently documented

[x] ~No (preventable) type errors~

[x] Sufficient test cases (reproduces the bug/tests the requested feature)

[x] Correct, in line with design

[x] ~End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )~

[ ] Sufficient test cases (reproduces the bug/tests the requested feature)

[ ] Code is clear and sufficiently documented

[ ] Correct, in line with design

Processing this pull request


Implement Data Caching in LocalStorage

This is a feature with enhancements to preserve data upon accidental page reloads.
References

use-local-storage

Not interested for further development, anybody interested to carry this further, please ping


Check if running builds have any failed dependencies before adding them as a dep

I think this might fix the maxConcurrentBuilds issue as well

Sweet, nice clean up too.


Custom CSS

Is there a way to override RapiDoc default css?
Just tried declare

we are always open to PRs,
in this regard if you are referring to @import <somestyle.css> then we wanna avoid it, it is considered  anti-pattern for web-components, it has performance issues and it will have a flash of un-styled component.
our roadmap on styles is to move towards ::parts() https://developer.mozilla.org/en-US/docs/Web/CSS/::part
when we started this project, ::parts() was not supported in majority of the browser so we used css-vars.
the other thing that we care about is to keep things simple at

code level (simpler code allows us to get in more PRs)
element usage (many of our users are tech-writers having basic knowledge of html/js, we shouldnt be making things complex for them to adopt)
not breaking backward compatibility but exceptions are allowed

if you can help us achieve this and keep the existing theming support  , will be a great help for the project.

PS: reopening to discuss it further, we dont get notifications on closed issues

So in this case are you open to new themes PR?
Do you see any issue on exposing new vars? Another PR.

I am open to PRs.
I dont see much of an issue to add new css-vars,
as long as it is applied in a way that dont change the existing styles


Add 'Annotation' class as a part of the SPDX 2.1 specification.

Add 'annotator','annotation_date', and 'comment'
to the 'annotation' class.
Signed-off-by: Yash Nisar<EMAIL_ADDRESS>

This needs to be updated to resolve merge conflicts.

Actually these are so inor that you can address these comments seprately.
I am merging this.


[Documentation] Add PHP to commands that error out without it

While setting up the repository I ran into an issue where the docker container told me ': No such file or directory when trying to run the doctrine commands. I found the resolution in my case to be to add php to the start of each of the commands which caused it to work after that.
This PR changes the README to have php at the start of each of the doctrine commands and also cleans up some other formatting/grammer.

Yeah, I don't use Window.
Install instructions will change when I add DB migrations. The rest is a documentation for the Docker dev env, where it works.
Fixed the typos in another commit.

This issue actually occurs when you run the commands in the docker env. Here's an example of me trying to run these commands through the console that docker exposes for the container:

What about
./bin/doctrine
?

That doesn't seem to work either. Does putting php before it cause issues on your machine?

No, but I'd like to understand the issue.
Are you using the docker-compose.yml file provided by the project? It should use this PHP container https://hub.docker.com/_/php/tags?page=1&name=8.2-fpm-alpine.

Ah, I think I know what the problem is, check the line endings of that file, it should be LF, but git probably changed that to CRLF during the checkout.

Yep I'm using the docker compose file provided by the project. It does look like it's using CRLF line endings when I run it:

2914a36


fixup-yarn-lock / prefetch-yarn-deps can't parse some lockfiles

Describe the bug
I was trying to update my mastodon (glitch-soc) server, but the update script was failing. I tracked it down to fixup-yarn-lock failing to parse the yarn.lock file in the repo.
Steps To Reproduce
Steps to reproduce the behavior:

Download not-working.yarn.lock.txt, or grab it from the repo. I got it from https://github.com/glitch-soc/mastodon/commit/5fa28218532c5cb886c7f0c7d3bf75f9ac4d9637
Run fixup-yarn-lock not-working.yarn.lock.txt. My flake happens to be pointing at https://github.com/NixOS/nixpkgs/commit/5ad9903c16126a7d949101687af0aa589b1d7d3d, so the version of fixup-yarn-lock I got was from that commit.

The error I get is:
SyntaxError: Unknown token: { line: 4, col: 12, type: 'NUMBER', value: 1 } 4:12 in lockfile
    at Parser.unexpected (/nix/store/nj12l3mc3jl02lf0fb9zfq0ckgdgh2xn-prefetch-yarn-deps/libexec/yarnpkg-lockfile.js:5064:11)
    at Parser.parse (/nix/store/nj12l3mc3jl02lf0fb9zfq0ckgdgh2xn-prefetch-yarn-deps/libexec/yarnpkg-lockfile.js:5193:14)
    at Parser.parse (/nix/store/nj12l3mc3jl02lf0fb9zfq0ckgdgh2xn-prefetch-yarn-deps/libexec/yarnpkg-lockfile.js:5147:28)
    at Parser.parse (/nix/store/nj12l3mc3jl02lf0fb9zfq0ckgdgh2xn-prefetch-yarn-deps/libexec/yarnpkg-lockfile.js:5147:28)
    at parse (/nix/store/nj12l3mc3jl02lf0fb9zfq0ckgdgh2xn-prefetch-yarn-deps/libexec/yarnpkg-lockfile.js:5262:17)
    at module.exports.exports.default (/nix/store/nj12l3mc3jl02lf0fb9zfq0ckgdgh2xn-prefetch-yarn-deps/libexec/yarnpkg-lockfile.js:4835:96)
    at fixupYarnLock (/nix/store/nj12l3mc3jl02lf0fb9zfq0ckgdgh2xn-prefetch-yarn-deps/libexec/fixup.js:10:28)
    at main (/nix/store/nj12l3mc3jl02lf0fb9zfq0ckgdgh2xn-prefetch-yarn-deps/libexec/fixup.js:68:26)

Workaround
By chance, I stumbled on https://github.com/VHT/yarn-lock-converter, which is in nixpkgs as yarn-lock-converter.
It takes a bit over a minute and half to finish but the resulting lockfile doesn't fail to parse. I attached my result here:
working.yarn.lock.txt
Additional context
From what I can tell, Mastodon recently moved to yarn v4, I couldn't find anything on google about breaking changes in yarn's lockfile format between versions but I'm not active in that ecosystem so I could've missed something.
I think this is relevant to #240174.
Notify maintainers
The maintainer of https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/node/fetch-yarn-deps/fixup.js appears to be @lilyinstarlight .

Add a :+1: reaction to issues you find important.

tagging mastodon maintainers (@happy-river @erictapen @izorkin @ghuntley) as a heads up, since without a workaround, applying the fix for this critical security issue announced today is blocked.

Did https://github.com/NixOS/nixpkgs/pull/285558 not actually address the issue for mastodon?

Ah, I think I was looking at nixpkgs-unstable and not master, that should fix the security issue.

There's also #277697 already specifically for Mastodon and #254369 for the new lockfile format in general.

So, not security relevant anymore, just a blocker for Mastodon 4.3, right?
Please also note that glitch-soc isn't a part of Nixpkgs yet, so we don't really maintain it.
Can we close this in favor of https://github.com/NixOS/nixpkgs/issues/277697 or am I overseeing something?

This is a dupe of a few issues (#277697 and #254369 to name a few), yes.


Improve highlighting in basic IEx snippets

Code with IEx snippets is usually not a valid Elixir syntax (as soon as we introduce blocks), however tree-sitter parses most of code just fine. Consequently, with a few rules we can significantly improve highlighting.
IEx snippets are mostly used in Markdown like this:
iex(1)> if true do
...(1)>   1
...(1)> end

Before

After

As seen on the last snippet, more complex (especially nested) code still has glitches, but that's expected given the syntax is invalid.
Currently the syntaxes above are invalid because end is parsed as identifier and the actual block end is missing. Once https://github.com/tree-sitter/tree-sitter/pull/246 is in place, we would be able to make sure reserved keywords are never parsed as identifiers, which would most likely make the blocks parse fine (the parsing error would be in a different node), and consequently the highlighting would also work for nested blocks.

@patrickt it would be neat if there was a token type that gets CSS user-select: none;, so that the code can be copied without the prefixes, like here. Ruby has similar prefixes, so maybe it could be used there too. That said, this may be out of the scope given it is based on invalid syntax in the first place, but just throwing an idea :)
cc @maxbrunsfeld in case you have any thoughts regarding this use case

I wonder if it makes sense to do this with injections instead? I.e. having a separate tree-sitter-iex grammar that does a combined-injection of all the code on the right-hand-side of the > as elixir?
I imagine using injections would make it a little less glitchy when there are big nested blocks as you say, but it already seems to work pretty well so idk if it's worth the overhead of maintaining separate grammars

As far as I understand the injection would need a single specific node, while the iex>|...> prefix nodes interspersed with the elixir code. So we would have a number of nodes with Elixir fragments, but those parts would only make sense parsed together. Let me know if I'm missing some other way of doing this :)

I think you can use combined injections to parse all nodes together

injection.combined - indicates that all of the matching nodes in the tree should have their content parsed as one nested document.

(from the docs here)
This was something I was attempting to use with the heex grammar (see https://github.com/helix-editor/helix/pull/881, although the editor does not yet support combined injections), so if you had a snippet like

  <%= if true do %>

Hello, tree-sitter!

  <% end %>

you could parse the nodes on lines 2 and 4 together. I think this also works with erb templates (for example the do and end pair here: https://github.com/joruri/zplugin4-content-docin/blob/18154c650033688d423391dc50a68d9f8c621f77/app/views/zplugin/content/docin/admin/front/index.html.erb#L13-L20)

Ohh awesome, that's totally how embeddings work. Sounds like the right solution then! @josevalim so I was wrong, we can actually do it :D

One thing to note is that we will need to annotate markdown snippets with iex and not ex/elixir. This is a good thing, except that existing snippets won't automatically get the updated highlighting.

I think that’s fine. I believe makeup for Elixir handles both elixir and iex right?

@josevalim correct!

I tried out the combined-injections approach and it works pretty well!

And the grammar comes out to be super small, only 28 lines for now: https://github.com/the-mikedavis/tree-sitter-iex/blob/6fef34bc1d530de496bb527876bcc8d5ed997aab/grammar.jsin
The highlights above are in the helix editor but the highlights and injections queries in the repo work with tree-sitter highlight too (and so I would assume with GitHub)

@the-mikedavis thanks for pushing this forward! Closing in favour of the new grammar :D

@jonatanklosko should tree-sitter-iex be moved under elixir-lang? I think it would make sense to have tree-sitter-{elixir,iex,eex} all under elixir-lang and tree-sitter-{heex,surface} under phoenixframework, but maybe there should be an elixir-trees organization instead since there are so many? sorry I think I'm rehashing some of the discussion in #2

@the-mikedavis moving sounds good to me! Either grouping works, I'll defer to @josevalim :)

Maybe it should be part of this repository instead?

I'd keep the repositories separate. This aligns with what tree-sitter does and I think editor integrations point to GitHub repos and they may not necessarily support sub-directories (I may be wrong here).

I've seen some other tree-sitters that have multiple grammars in one repo (like the ocaml grammar, see ocaml/ and interface/), so that's an option, but I think it's usually only done when the grammar.js files depend on one another and/or the grammars want to share highlight/injection queries
Plus as @jonatanklosko says, it's less straightforward to integrate with editors (although I think possible, like ocaml in helix)

Alright, let's move it in then. Can you please add me as admin to the project? Then I think can move it. :) Or try to transfer it to me or to the org. Thanks!

hmm I'm not actually sure how to elevate you to admin? I know where the buttons are for organization stuff but it seems to be different for personal repositories :thinking:

I think I can transfer ownership to you and then you can transfer it to elixir-lang? Shall we try that?

@the-mikedavis let's try that, yes! and thank you!

ok it's sent! thanks :rocket:

@the-mikedavis merged and I have invited you to the tree-sitter team! :heart: :100: However, if you prefer to not be involved, let me know or feel free to remove yourself. Thank you!

thanks @josevalim, I'm honored, and I'd love to be involved!


Cannot start Genie REPL

Hello, I am new to Genie and I am trying to replicate the tutorials.
I have an issue when creating apps: Genie REPL does not start and repl.bat and server.bat seem to be broken.
versioninfo()
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: https://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.7.0 (2018-08-08 06:46 UTC)
 _/ |\__'_|_|_|\__'_|  |  Official http://julialang.org/ release
|__/                   |  x86_64-w64-mingw32

julia> versioninfo()
Julia Version 0.7.0
Commit a4cb80f3ed (2018-08-08 06:46 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.0 (ORCJIT, broadwell)

When I run
julia> Genie.REPL.new_app("your_cool_new_app")
the app is created and working at http://localhost:8000/.

However, Genie REPL is not loaded and I cannot start it via repl.bat, which appears broken (same for server.bat).

Thank you for any help! Maybe this is the same issue as #115.
Best
Francesco

@flibe Ah sorry, it's due to some recent changes. I pushed a fix.
Can you update to latest Genie (0.8.7) and try again (create the app from scratch).
Should be fine now (the problem was the the .bat files were referencing bootstrap.jl instead of ../bootstrap.jl (one folder up):

Thank you, both repl.bat and server.bat work now.
One residual doubt I have is that when I run repl.bat it seems I still get the Julia REPL.
I would need to access Genie REPL instead, to be able to run command
genie> Genie.REPL.new_controller("Books")
Thank you
Best
Francesco
repl.bat

From Julia REPL

@flibe Once you run repl.bat both the app and the Genie code is loaded. You don't need to run Genie.REPL.load_app()
In more recent changes I have removed the genie> cursor to speed up Genie (it required an extra dependency).
I will have to update the README to reflect that. But the point is, the app is fully loaded after repl.bat.

Thank you very much, I would like to ask 2 additional questions:
1 - Following the docs, I have now generated the app but I fail to generate a Controller:

2 - I have built a simple REST server in Julia, using Genie. I would like to reduce latency as much as possible: is there a way to put Genie in a silent mode, in which nothing is printed to screen by Genie when the service is called?
Thank you
Best
Francesco


Revert "Support CliContext for all install commands"

Reverts istio/istio#46690
This PR causes a regression in not accepting a context argument, for example: istioctl uninstall --revision=default --context=kind-doc-cluster2.
Noting also that there were no release notes about the lose of functionality.

@ericvn: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
98f8c5f75fddb2e0895f3fbd6e3e32ccc3037313
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test release-notes

@ericvn: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-ambient_istio
98f8c5f75fddb2e0895f3fbd6e3e32ccc3037313
link
true
/test integ-ambient

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-ambient

Since it should not lose any functionality there's no need to add the releasenote. This is a regression. Thanks for investigating this.

I'm fine fixing instead of the revert. However, the istio.io tests won't pass until we get that fix (or I revert to a commit even early before another breakage that was fixed post this change.

Closing for now as https://github.com/istio/istio/pull/46870 will hopefully fix this issue.


Unit test util functions

Investigate how tests can be done with scons. Write tests for all util functions. They are easily tested. go for 100
ETA: 1h

I spent 8 hours to try this to work. No progress. Why is this so difficult with scons?

There are only two util functions left. Unit test with gdscripts instead so we can test even the class methods.

Tests are implemented


Feature/distributed

This PR will not be merged, it's only for review purposes.

Commit:

Fixing pandas crash, when installed by pip. Remove keyring locking (gui) when installing by pip

Commit:

Update client on configure.sh to verify latency in case of multiple servers in the network.

Commit:

------server-mesh.py-------
--> Added Subnet as initial parameter, default <IP_ADDRESS>.
--> AuthServer flag added as a parameter in the Json ubuntu.
--> Currently, the 3rd node authenticated is added as server. This should be done in a smarter way.
--> Add_default_route was modified for the addition of the new subnet.
--> New store_authServer added. It creates a dataframe (AUTH_ROUTES) with the 'routing' info. It can be accessed as http://<ip_mesh>/authServ/
------README.md-------
--> Added a new diagram (distributed-auth.png) with an explanation about the distribution.
------client-mesh.py-------
--> Created a function (authServer) that will deal with the subnet IP (currently being random). It will start the 'configure.sh -s <subnet_IP>' and it will send this subnet IP to the server-mesh.py.
--> Code for config OpenWRT was removed
--> Verification of OS is only done for Ubuntu, otherwise, error message and exit.
------configure.sh------
--> Added a parameter in the server side to add subnet ip. In case the parameter does not appear use default addressing.

no needed anymore


I got keys for Poke5S, and I want to get keys for Poke5Lite.

I'd like to submit unlisted keys for Poke5S. I'm happy to use this for anyone who need it.
I verified this myself.
"MODEL" = "Poke5S",
"STRING_SETTINGS" = "WpVdC3ZNsoNW+iwneydETT4SCuZnwgeoe1S+x1nxRK6C",
"STRING_UPGRADE" = "KOJcC3IxsPL6RL6daev1KqLC7ltFiUkjggmJiZ82nCFI"
# fingerprint: Onyx/Poke5S/Poke5S:[11/2024-03-08](tel:11/2024-03-08)_06-39_3.5.1_85dbbdf26/7953:user/dev-keys

by BooxKeyConvert.py
Poke5S,Poke5S,AE0FB835F4A50D35C95FEC7700EEDF1D,321FFD1D14E8A2A7A422C683D152AF3B

Thank you! Added to BooxKeys.csv


[Message Formatting] Backtick not working on Skype, Slack and Telegram

Hello.
Using Bot Builder 3.5.3.
Trying to implement help for bot, need to highlight commands. But, seems like single (inline) and triple back-tick (code block) not working in Skype, Slack and Telegram, renders as a plain text, without back-ticks, not formatted.
await context.PostAsync(@"Some `tag` here");
Any Ideas?

Tried to do the same thing using block quote (>),
Skype (incorrect):

Slack renders correctly:

@kkarahainko are you using C# or Node SDK for Bot Framework?

@kkarahainko reopen if you're still experiencing this issue


Mascot

Switch to markdown and use the new mascot

Check http://docutils.sourceforge.net/docs/ref/rst/directives.html#image - see if we can keep this as rST only, otherwise we're maintaining two readme files.


Database management cleanup

General database tidyup:

remove a lot of configuration of database.url from test code
rewrite {create,drop}_schema.sh in terms of flyway commands
reinstate the run-application.sh command, dropped in #75

See individual commit messages for more details.

👍


[CSL-2209] Initial draft of mutually auth between server-client

Closing as it seems it won't be continued. Reopen if you find this useful.


Arc appliance fails on deploy

The error message while running the script:
2022-11-16T17:00:50Z    INFO    core: Waiting for pod 'Cloud Operator' to be ready...
{"file":"/mnt/vss/_work/1/s/pkg/appliance/client.go:100","func":"Deploy","level":"error","msg":"Error details, Provider: vsphere, Command: Deploy, Msg: Error while deploying via kva, ErrorCode: DeployKvaError, Error: Back-off pulling image "ecpacr.azurecr.io/cloud-operator:arc-appliance-pub-221007-pp": FailFastPodCondition","time":"2022-11-16T17:12:23Z"}

LEGAL NOTICE
Azure Arc Resource Bridge is licensed to you as part of your Azure subscription and subject to the "Use of Software with the
Online Service" section of the Microsoft Product Terms. Your Azure subscription will be billed for fees and applicable taxes
associated with use of Azure resources and services deployed and/or utilized by the Azure Arc Resource Bridge until your use
is discontinued.

Creating the appliance...
Deployment failed. Still want to proceed?
Y/N ?

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

ID: 5552f7e0-11e2-d29d-79ba-f80fdc861de9
Version Independent ID: 403cf634-0799-86bd-d26c-c3a723b1126d
Content: Deploy Arc for Azure VMware Solution (Preview) - Azure VMware Solution
Content Source: articles/azure-vmware/deploy-arc-for-azure-vmware-solution.md
Service: azure-vmware
GitHub Login: @jjaygbay1
Microsoft Alias: jacobjaygbay

@amycolyer
Thanks for your feedback! We will investigate and update as appropriate.

@amycolyer
Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can take a look at it accordingly.
@jjaygbay1
Can you please check and add your comments on this doc update request as applicable.

To me it appears the kubernetes pod cannot download the image from that container registry.  Not 100% sure.  Thanks

kva.log
6 -
vmware-resource.zip
log_2022-11-16-16.52.41.zip
3. - 2.013
4. The arc appliance isn't running so there aren't any logs
5 . AZ CLI version is 2.42.0
azure-cli": "2.42.0",
"azure-cli-core": "2.42.0",
"azure-cli-telemetry": "1.0.8",
"extensions": {
"ai-examples": "0.2.5",
"ml": "2.10.0",
"ssh": "1.1.3"

At stage 2, down to Please select folder (on my datastore).
It won't display any folders inside the datastore. I have tried creating a new folder and all permissions are set correctly on the ESXi/Vsphere side. I have tried with 3 different accounts and dropping .local on the account as well
Please specify the end range IP:
Please enter VLAN ID (leave blank if not needed):
Please select resourcepool:
<IP_ADDRESS>/Resources (Complete path - /Lab01 DC/host/<IP_ADDRESS>/Resources)
Enter number: 1
You Selected: <IP_ADDRESS>/Resources (Complete path - /Lab01 DC/host/<IP_ADDRESS>/Resources)
Please select datastore:
datastore1
Enter number: 1
You Selected: datastore1
Please select folder:
(NO FOLDERS EVER DISPLAYED)
Enter number:


Offtopic - Avalonia articles

Hi Nick,
sorry for the offtopic (not-really-an-issue (but yes, it might be an issue for somebody :-))).
With the closing of codeproject website - would you please consider reposting all your articles on Avalonia somewhere else ? Maybe placing them to some dedicated github repo ?
I have saved the bookmarks but they are now all obsolete and the access is gone :-/
Thank you
Ondřej

Hey Onrej,
the codeproject so far is on - working in readonly mode AFAIK.
My problem is to find a place to publish new articles :)
Regards
Nick


pc.setLocalDescription after createOffer not add candidates on Safari Technology preview 38

Browsers and versions affected
Safari Technology Preview
Description
Hi! I created an application using kurento, that uses this library to connect browsers clients with kurento java server. I'm not shure if you can help me because kurento is independent of this library, but I would appreciate it very much.
Trying to connect a participant with a room, when generate an offer (with pc.createOffer()) this previous offer hasn't candidates in sdp. Then when I execute pc.setLocalDescription() off this first offer, should return an offer with the candidates in sdp. Instead of this, the sdp don't have candidates.
Finally, when execute pc.setRemoteDescription() of this second offer, an error is catched. The error is:

Steps to reproduce
setLocalDescription with Safari Technology preview and show if the response generates an offer with candidates in sdp.
Expected results
Generated offer with candidates lines in SDP
chrome_sdp.txt
Actual results
Offer without candidates in SDP.
safari_sdp.txt

Also, per this thread https://bugs.webkit.org/show_bug.cgi?id=176157#c1 Safari will not support createOffer with offerToReceiveAudio: 1

the safari offer seems to include the necessary mlines though. Do you get onicecandidate with a null candidate? Do you have getUserMedia permissions?
cc @youennf

Yes, I have getUserMediaPermissions.
I get this candidates:
Request [ICE_CANDIDATE] endpoint=Sala candidate=candidate:1106113138 1 udp<PHONE_NUMBER> <IP_ADDRESS> 54753 typ host generation 0 ufrag hTzH network-cost 50 sdpMLineIdx=0 sdpMid=audio (bifb21vefnm1sgavadpj0b0ftr)

Request [ICE_CANDIDATE] endpoint=Sala candidate=candidate:1106113138 1 udp<PHONE_NUMBER> <IP_ADDRESS> 54886 typ host generation 0 ufrag hTzH network-cost 50 sdpMLineIdx=1 sdpMid=video (bifb21vefnm1sgavadpj0b0ftr)

Does https://github.com/webrtc/adapter/commit/ee197f1b07ae502f48026d832dd0cd952846a78b solve your issue (available in the latest 5.0.5)?

Looks like there's still never onicecandidate with a null candidate


improve validation output (for null description of dashboard)

Summary

maintain previous functionality, but add in new functionality to add
instancePath & schemaPath to messages by default. This context will hopefully
point users to specific problematic fields and checks.
removed redundant condition in schema json.

Examples
Previous output:
Error: packs/mlops/algorithmia/dashboards/algorithmia.json
	 must be string
	 must NOT be valid

Now:
Error: packs/mlops/algorithmia/dashboards/algorithmia.json
	 '/description' must be string

Links
Resolves: #324

Great to give users more info about where the problems occur!
One question: description = null is how the dashboards are exported from the product. I think we should avoid putting toil on a contributor where they are exporting a dashboard and then have to manually go replace the null values by "". How could we improve that?

@spolfliet great question. ill try my best to answer for what i know, and point out what i dont know.
to start, i think this is completely doable in a number of ways, but we may consider it awkward.
i think the thing we would have to address -- assuming this has to be a non-null string at some point -- is where the conversion happens, and can we pass null along the way.
i think it would be easy to have null be a valid type, value for the repository, but then we would either need to convert it to string for the consumer that reads the repository, or make sure null is an acceptable value for them (which may require a code change). i dont think we want to convert it at the repo level, since the automation would be complicated (more complicated anyways than if it was within the api / consumer) and it conceptually conflicts with the validation we are doing -- you can submit an invalid dashboard, but we will make it valid.


Remove appsettings.development.json

Motivation and Context
This file is not needed so I removed from the commit.
Description
This file is not needed so I removed from the commit.
Contribution Checklist

[x ] The code builds clean without any errors or warnings
[ x] The PR follows the Contribution Guidelines and the pre-submission formatting script raises no violations
[ ] All unit tests pass, and I have added new tests where possible
[x ] I didn't break anyone :smile:

Closing as a dupe of https://github.com/microsoft/chat-copilot/pull/310
Please add the change that removes the webapi/appsettings.Development.json to the other branch by running the following commands:

git checkout update-comment-in-start.sh
Remove webapi/appsettings.Development.json
git commit -am "Removing appsettings.development.json"
git push


Revert "Change grpc_udp_server interface"

Incompatible with Google's internal codebase.

****************************************************************

libgrpc.so

     VM SIZE                                                                                FILE SIZE
 ++++++++++++++ GROWING                                                                              ++++++++++++++

 -------------- SHRINKING                                                                            --------------
  -0.0%     -48 [None]                                                                                -496  -0.0%
  -1.0%     -48 src/core/lib/iomgr/udp_server.cc                                                         -48  -1.0%
      [DEL]    -856 grpc_udp_server_add_port                                                                -856  [DEL]
      [DEL]    -415 add_socket_to_server(grpc_udp_server*, int, grpc_resolved_address const*, void (*)(g    -415  [DEL]
     -13.4%     -48 grpc_udp_server_start                                                                    -48 -13.4%

  -0.0%     -96 TOTAL                                                                                -544  -0.0%

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

More specifically, the change to the read callback is weird and would require deeper changes, if at all possible. Could you argument on that change which seems outside the scope of the original PR ?

@nicolasnoble: who is "you" in your request?

Ah, sorry, I was theoretically speaking to the author of the original PR, @danzh2010 - for some reason I thought you CC them in here for awareness.

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

Spoke with nathanielmanistaatgoogle off line, the original PR doesn't need import. And please do NOT merge this rollback. It would break next import.

Closing; a change of circumstances has obviated this.


Package breaks highlighting on PHP/Blade files when installed alongside laravel-blade package.

When both are installed, and a php/blade file is opened, this error occurs:
Error loading syntax file "Packages/Laravel Blade Highlighter/blade.sublime-syntax": Apparent recursion within a with_prototype action: 25000 context sanity limit hit

Using build 3126 of Sublime. Removing either package fixes the issue.

Not sure on which package the fault lies, so have opened the equivalent issue on the laravel-blade repo: https://github.com/Medalink/laravel-blade/issues/143.

Reposting my comments on the Laravel Blade issue here.

Hi, I'm the author of CSS3. I was able to reproduce the issue when both the default CSS package and CSS3 were enabled. I recommend disabling the default CSS package in my install notes, but I understand that many people can't do that because they use a package that depends on the default CSS package (like Laravel Blade).

The clumsy workaround is to enable/disable CSS and CSS3. When you're working on blade files, you can Package Control: Disable Package CSS3 and enable CSS. If you're working primarily with pure CSS files, I recommend disabling CSS and enabling CSS3.

Sorry, I know that's an awkward solution. If I think of something better, I'll post it here.

Has any progress on this bug been made?

I believe I've fixed this bug in #108. Please see the PR notes for details. I'm going to close this issue for now. Please reopen if you encounter the sanity limit error again. My fix just squeaks under the 25,000 context limit. It's possible some syntaxes might still exceed the limit, in which case I've got some more cutting to do.


Update ci to add Go 1.19

As Go 1.19 has released, we need to change back to support the latest two major version for our SDK. This task will change the ci config to add 1.19 env for build and test.

Done


Unable to migrate out of pyenv-pipeline-plugin 1.0.4 to 2.0.0

Raising this issue as a result of not being able to migrate out. Here's the workflow I'm stuck in:
I have >100 pipelines on my Jenkins instance, many of them using this plugin. The current syntax is
withPythonEnv('Python2.7') {
  pysh 'python something.py'
}

Upgrading the plugin immediately breaks all these pipelines.
Alternatively, if I change the pipelines first to
withPythonEnv('Python2.7') {
  sh 'python something.py'
}

then pipelines are immediately broken
Suggesting to have an intermediate release where both syntaxes are supported to ease the migration pain.

I can certainly add in temporary support for the older steps. That said, it
would be helpful if you could show me what is breaking with the new sh
statements
On Tue, Sep 4, 2018, 7:15 PM Emmanuel Goh<EMAIL_ADDRESS>wrote:

Raising this issue as a result of not being able to migrate out. Here's
the workflow I'm stuck in:
I have >100 pipelines on my Jenkins instance, many of them using this
plugin. The current syntax is
withPythonEnv('Python2.7') {
pysh 'python something.py'
}
Upgrading the plugin immediately breaks all these pipelines.
Alternatively, if I change the pipelines first to
withPythonEnv('Python2.7') {
sh 'python something.py'
}
then pipelines are immediately broken
Suggesting to have an intermediate release where both syntaxes are
supported to ease the migration pain.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jenkinsci/pyenv-pipeline-plugin/issues/21, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKQ39LLUNuZehGls2gRMoR8crqJiS6L2ks5uXyW3gaJpZM4WaBIG
.

Here are the relevant log, and the relevant section of the pipeline. Seems to dislike the sh step inside the block for some reason.
withPythonEnv('python2.7') {
            sh 'pip install --user -r requirements.txt'
            sh 'pytest --cov'
            sh 'codecov --token=token
}

$ python2.7 -m virtualenv --python=python2.7 /home/jenkins/workspace/s-utilities_feature_jenkins-4VIPT3TFSI2FDL7JYJGVU3H4A5K3SNOQHIZDX3XMFEDKP7RUO4BQ/.pyenv-python2.7
[Pipeline] {
[Pipeline] sh
[serverless] Running shell script
nohup: failed to run command 'sh': No such file or directory
process apparently never started in /home/jenkins/workspace/s-utilities_feature_jenkins-4VIPT3TFSI2FDL7JYJGVU3H4A5K3SNOQHIZDX3XMFEDKP7RUO4BQ/serverless@tmp/durable-66cc8114

I would wager this is related to the way that I'm handling the changes to the PATH variable, and constitutes a bug in 2.0.0. I can also add backwards compatible pysh and pybat statements, but I think that there is something deeper going on here

I've released a beta version with a fix that I believe will solve your issues. Would you mind testing it out in your environment? It's release pyenv-pipeline-2.0.1-beta. In order to access it through the Jenkins Plugin manager, you'll need to enable Experimental Plugins in a Jenkins instance.
You can read more details here: https://jenkins.io/doc/developer/publishing/releasing-experimental-updates/
Let me know if this fixes your problem.

I should note that this change is directed at the 'sh': No such file or directory portion of the issue. I have not yet added back in the pysh and pybat steps, since my plan for their support is going to be empty extensions of the Durable Task equivalents. If sh is failing for you, my intended reinclusion of pysh would fail also

I've added the pysh and pybat steps back in. Due to inactivity, I will am closing this

Thanks @cstarner !


Remove 'pages' button and make tabstrip static/always visible

As per discussion with @jsantell, we should behave like most browsers here.

#337 made the tab strip static already so we just need to remove the pages button here.


Hot reloading doesn't work

Whenever I build the Swift project, I must restart the Godot project for changes, such as new classes and new @Callable methods, to take effect.

Related to https://github.com/migueldeicaza/SwiftGodot/issues/433
I've been kind of looking into it but haven't really had the time/focus yet.

This is a duplicate of the other issue.


AsyncDaemon ProjectionTrack does not stop processing pages immediately when in a stopped state (IsRunning=false)

From a gitter discussion between @oskardudycz, @jeremydmiller, and myself. It can be seen that a ProjectionTrack (and associated fetcher) do not stop attempting to process any pages of events that are already preloaded in a tracks cache.
A repro can be found here.
The exception is forcefully thrown when processing page 2 (page size 10), which is event 16. I'd expect that based on the ExceptionHandling configuration (Stop or StopAll) that processing should stop after the exception thrown on event 16 (page 2), and not continue through to page 3, 4, ... (whatever is in that cache at the time the exception is thrown), and rather that no more pages are attempted to be processed.
A proposed fix for the ProjectionTrack code may start with adding verification for !this.IsRunning to this line.

@tristal This is all completely rewritten in V4, and there it uses a CancellationToken to coordinate the shutdown. Then too, it's more of a "pull" model than the "push" model it was < V4.

Yeah, we're just never going to get around to this one. Not that it wasn't a real problem or not a good suggestion.


[WIP] HIVE-24445: Non blocking DROP table implementation

Change-Id: I594a724ccc6c836e6a735e9ef71851150b0f0c9b

What changes were proposed in this pull request?

added nem column to TBLS backend db table
updated the related JDO entities
added hive.txn.lockless.reads.enabled feature flag
added writeId to DropTableOperation/Desc

Why are the changes needed?

This is the first part of a bigger feature "lockless reads" the main goal is to avoid requesting locks for read operations, thus improving acid table performance
Does this PR introduce any user-facing change?

No
How was this patch tested?

TBD

@deniskuzZ

@deniskuzZ


Closing native keyboard on ipad causes content 'clipping' until next screen event

Hi, has anyone played with Touchstone on iPad much yet? Ive noticed an ugly artefact when using native keyboards such that after they slide away, content becomes clipped (about half a screens worth) and doesn't redraw until you touch the screen/change orientation etc.
I'll investigate the issue some more but wanted to mention it now incase it's a known issue.
To reproduce; load the touchstone sample app onto an iPad (mine was a 4th Gen - late 2012), go to the 'Form Fields' section and click an input, click on the screen to make the keyboard go away, clipping bug should be visible.

So it's looking like this is a Cordova or possibly a mobile safari bug. It seems to be the same issue raised here;
http://stackoverflow.com/questions/18970865/ios-7-input-elements-moving-fixed-positioned-elements
It seems like the positioning of position:fixed elements is buggy when the keyboard is closed and isn't corrected until you touch the page. Oddly, everything works fine if you hide the keyboard by pressing the 'close keyboard' button rather than touching the page...
For now Im using this (ugly) workaround;
$(document).on('blur', 'input, textarea', function () {
    setTimeout(function () {
        window.scrollTo(document.body.scrollLeft, document.body.scrollTop);
    }, 0);
});

@gregtillbrook what version of Touchstone are you using?
We fixed a bunch of bugs with the keyboard behaviour for a recent project - they're all in 0.2.0

Ah ha - yes indeed. Id been working from the sample project and hadn't realised it was lagging behind. Not seeing this bug now Im in 0.2.0.
Cheers!

Incidentally (for anyone else that grabs the sample project and fetches the latest touchstone ver) I did also hit an ios7 bug where the device-height is wrong in landscape mode. The fix was to remove height=device-height from my meta viewport tag


High quality dependencies

Check dependencies if they are up to date and if they are safe to use (issues on GH, community, support etc.)

Should MBA dependencies be analyzed as well?


fix: #8952 callback function params.color incorrect

maybe a idea, check again please

Because our project does not support babel yet.

Hi @hling51325 ,
This seems to be your second PR merged. Thanks for your contribution!
I'd like to invite you to our Wechat group with other new contributors. Add oviliazhang and please note you are hling51325. 😆


Can't use composite literal in for clause

What version of Go are you using (go version)?
Whatever is on the Go Playground.
Does this issue reproduce with the latest release?

What operating system and processor architecture are you using (go env)?
N/A
What did you do?
Playground link: https://play.golang.org/p/yYCbpnPJdlL
I get a strange syntax error when attempting to use a composite literal inside a for loop, even though as far as I can tell from the specification, this is valid syntax.
package main

import (
	"fmt"
)

type Test struct{}

func main() {
	for i := Test{};; {
		fmt.Println("Hello, playground", i)
		break
	}
}

What did you expect to see?
No syntax errors
What did you see instead?
./prog.go:10:8: syntax error: cannot use i := Test as value

This is a known limitation of the parser.
See https://golang.org/ref/spec#Composite_literals ,

A parsing ambiguity arises when a composite literal using the TypeName form of the LiteralType appears as an operand between the keyword and the opening brace of the block of an "if", "for", or "switch" statement, and the composite literal is not enclosed in parentheses, square brackets, or curly braces. In this rare case, the opening brace of the literal is erroneously parsed as the one introducing the block of statements. To resolve the ambiguity, the composite literal must appear within parentheses.

This is a known limitation of the parser.
See https://golang.org/ref/spec#Composite_literals ,

A parsing ambiguity arises when a composite literal using the TypeName form of the LiteralType appears as an operand between the keyword and the opening brace of the block of an "if", "for", or "switch" statement, and the composite literal is not enclosed in parentheses, square brackets, or curly braces. In this rare case, the opening brace of the literal is erroneously parsed as the one introducing the block of statements. To resolve the ambiguity, the composite literal must appear within parentheses.

Thanks!

Thanks!


fix(@angular/cli): don't install using global command but rather install in a different folder

Fixes: #16010

Huge kudos to @cexbrayat that helped me verify that this fix works, as I was unable to replicate it locally.

Yeah I tried that myself


How to get a component by an id?

This is not possible, components IDs are just used internally to target renderings.

But that's very useful when I click one button then I need refresh another component. Otherwise I don't know how to implement it.

can you provide a sample of your use case?

see https://github.com/godaily/client/blob/master/refresh.go#L40

And this repo cannot run normally since there a xml syntax check error on murlokswarm

Would it be a solution for you to use the flux package?
https://github.com/murlokswarm/flux
You could make the NewsList component register to a store and send an action in the RefreshButton.OnClick func.
Otherwise,
Can you describe how would be the ideal way for you to handle this problem?

Also, just to let you know that I really appreciate your feedbacks :).

The flux could be work background
(c *MyComponent) OnClick() {
     // get window
    componentAnother, err := win.GetComponentByID(c.AnotherComponentID)
    // do something with componentAnother
    win.Render(componentAnother)
}

I think the way to code is ideally because it's more similar with the previous many GUI frameworks.

And maybe you could implemented.
If some struct implemented the below method. It will be invoked when the component created. Then you don't need get the window every method. And this method has better performance but a bit more memory (a pointer every struct).
(c *MyComponent) SetWindow(w window) {
c.window = w
}

I think this would do the job:
func ComponentByID(id uid.ID) Componer
func ComponentID(c Componer) uid.ID

No need to be aware of the context to have a Component ID.
Also for your problem with the xml,
try this:

    {{html .Title}} - {{time .Updated "2006-01-02"}}

That should works ;)

Let me know if this thing would work for you

{{html .Title}} really work. Thanks!
func ComponentByID(id uid.ID) Componer {}
func ComponentID(c Componer) uid.ID {}

seems great. can't wait to use the functions.

You can use it now
https://github.com/murlokswarm/app/pull/24

Yes. Great work.


updated package information for Fedora

Added information on packages available for current Fedora releases (copr repo of dani (dani/qgis-ltr and dani/qgis)).

Cool, thanks!!

Too bad I included a typo... qgis in Fedora 32 copr repo is 3.14, not 3.12. Will fix it. Sorry!


Styling guidelines

I'm digging this project and am testing it out for video playing.
I want to style the controls and have done so by playing with the rendered controls. Is there a preferred way to style at the moment?

hi @osk, you can make a simple customization by changing the colors of the current media control or creating a new media control from scratch, inheriting from the built-in and adding it externally (you can use the plugins generator).
We actually did a media control plugin to use at Globo.com, here's a screenshot of the player:

Unfortunately it's closed but I'm sure we can help if you want to create your own.
The thumb preview guy on top of the seekbar is another plugin that inherits from seek_time and use nginx-video-thumbextractor-module on server side.

I noticed the possibility of changing colors, but I want to rearrange the elements your screenshot isn't far off what I'm aiming for :-)
By messing with the CSS and overriding the default styles I'm able to get very close to what I want, but isn't that preferred? Is creating a special plugin the way to go? Seems a bit much for skinning

You need to create an external plugin if you want to have more control over this, like changing template structure, etc. Overriding the CSS would be a more practical way.

I'm closing this for now. Feel free to reach us if you have plans to create your own media control plugin.


Replaced the original regexp-assemble.pl script with the v2 version.

Added comments to explain what the additional Perl code does.
Also added comments to regexp-cmdline.py, explaining it's use case
to the uninitiated.

There seem to be also some functional changes in regexp-cmdline.py, would this have effect on the generation and do we need to regenerate our regexps, or are the old ones still considered equivalent?

That's just an unused import I removed (you replaced string.replace with str.replace 5 years ago).

Oh sorry, I was reading your message wrong.

Just to make sure I got you right: You integrated the added functionality from the v2 regex assembly into the standard regex assembly. And with this we no longer need a v2 and everything can be done with the standard assembly. Yet there will be a 2nd PR where the calls to v2 are replaced with the calls to standard regex assembly?

Thanks, I had forgotten to check that. I found only one mention of the v2 script; fixed now.

Thank you.
What I do not get: We had a separate regex-assembly for a special case. Now you took that functionality, added it to the original regex-assembly - and the script still produces the original output?

TBH, I haven't tried to reproduce every regex ;).
The only thing that v2 did was to fix a bug in the library regarding possessive quantifiers. A group ending with a possessive quantifier (e.g. a|b++) would result in the quantifier being interpreted as a literal (a|b+\+). The workaround in v2 fixes this at the cost of possibly some performance and flexibility, which doesn't concern us.
In summary: the fix in v2 is a must anyway.
There's an excellent explanation of possessive quantifiers at https://www.regular-expressions.info/possessive.html.

Thank you.
So that means a reviewer should regenerate the existing regular expressions and see if the new ones fit.
If this works, then I suggest we merge this and continue work on this script afterwards. I'd like to have those prefixes / suffixes to the regexes being produced by the script as well. Having to take the output and wrap it into more regex code is a source of errors.

Meeting decision July: https://github.com/coreruleset/coreruleset/issues/2141#issuecomment-874288876
@franbuehler will review this PR (after her vacation)

Review by @franbuehler still pending. Skipping this PR for the agenda of tonight's meeting.

Closing this PR because the changes are also part of #2149.

Thanks. Thought so, but was not sure.


Add pandas statistics plotting slides

This fixes #33 and add pdf slides to pandas, statistics and plotting.
This also cleans extra, unused notebooks.

I would likely merge this during lunch.


Credential Manager integration just like Git Bash and Git Credential Manager

Description of the new feature/enhancement
The ideia is to copy the resources and concepts the is used on
https://github.com/microsoft/Git-Credential-Manager-for-Windows
and apply it on windows terminal...
If any credential is requested, it gets in action.
Looks into a base if it is already there...
That it supports "user+password" authentication, or public/private keys authentication also.
Store/replace new credentials if needed...
(P.S.: Git-CredentialManager AskPass wold be nice.
I'm not a programmer... But I think this may fit.
Git bash uses it.
If I'm not wrong, in some way, Visual Studio Code also already uses it...
I also know that Windows Terminal has no intention to deal with Password Managers like LastPass or similar...
But I think it could be different than that. Mostly on the concerns of risks of using someone else code.

Proposed technical implementation details (optional)
I don't have any details...
But if I say "Please" many time would help?

Connect to already created profiles that connect to ssh or telnet without prompting-me passwords...
Geting it from a credential databases Windows Credential Manager(equivalent to MasOX KeyChain), or Git-CredentialManager.

Please, Don't let it just to Version 2.0 as proposed in Roadmap...
https://github.com/microsoft/terminal/blob/master/doc/terminal-v2-roadmap.md

The Azure Cloud Shell feature in Windows Terminal already has Credential Manager integration.
Suppose a user has Windows Terminal displaying an application such as PowerShell 7, which then asks for credentials. Nowadays, it looks like this:
PS C:\> $credential = Get-Credential

PowerShell credential request
Enter your credentials.
User: myself
Password for user myself: ********

If I understand correctly, you'd like Windows Terminal to detect this credential request and let the user select a previously saved user name and password. Presumably, this should also work if there is an SSH connection between Windows Terminal and the application; otherwise, the application could access the local Credential Manager and pop up a dialog box on its own, so there would be no benefit in having Windows Terminal do that.
There are a few difficulties:

I don't think there is currently a standard way for an application to tell the terminal that it wants credentials. Thus, Windows Terminal would have to guess based on what text the application is outputting and whether there is a delay afterwards. Such text can depend on the user's language settings. It might be possible to define a more formal signaling mechanism, e.g. using the ECMA-48 PRIVACY MESSAGE control function, but that would then have to be implemented in each application.
Windows Terminal cannot be sure which program is asking for credentials, especially from behind an SSH connection. So, the feature might make it too easy for users to reveal their passwords to unintended applications.
Even if the user's intended application prompts for credentials and Windows Terminal correctly detects that, the credentials might be read by some other application, e.g. if the original one is killed. This could lead to credentials being saved in shell history files or such.

@KalleOlaviNiemitalo is totally correct here. I really appreciate your excitement, and your suggestion, but this isn't something Terminal is going to do. It's too dangerous to put your terminal emulator in control of your passwords especially when there is no way to validate the destination or recipient of your credentials over a text-mode-only connection.
I'm going to close this one for now, but please feel free to continue the discussion.

OpenSSH is able to forward requests to an authentication agent, but SSH Agent Protocol supports only keys, not plaintext passwords.
It might be technically (even if not financially) possible to define a similar protocol for user names and passwords, then change Windows Terminal, SSH clients, SSH servers, and applications to use it. This would presumably involve another environment variable pointing to an AF_UNIX socket. The SSH server would be able to augment the password request with the process ID and user and group IDs of the application, from SCM_CREDENTIALS. The SSH client would be able to augment the password request with the name of the remote server and how the server was authenticated. Windows Terminal would be able to verify that the request came via the SSH client process, and to display the information added by the SSH client and server. However, this information would still not make it easy for the user to determine whether the request is trustworthy.
OpenSSH is also able to delegate GSSAPI credentials but I don't really understand how that works or whether it can be used for this purpose.


The overlay-play will be wrong, when controls multi-players in one page

Because of the scope of overlay-play is not isolate.
To fix it:
Add "scope: {}" in the directive define of 'vgOverlayPlay'.

Please open issues related with coding to the main repo: https://github.com/2fdevs/videogular

I  create a pull request to this issue

Yes, but this repository is only for distribution, I've closed your PR in this repo, please, send your PR to the development repository available here: https://github.com/2fdevs/videogular


Unable to load params from AWS Param Store

Hi Team,
My application is not able to talk to AWS Param Store in .NET 6. It is always talking to appsettings.json. Can you  take a look please. I tried debugging locally, still same behavior. Not able to find the SystemManagerConfiguration under list of configuration .

var builder = WebApplication.CreateBuilder();
var connectionString = builder.Configuration.GetConnectionString("OrderTrackerDatabase");

Expected Behavior : Configuration must be loaded from AWS Param Store
Current Behavior : Configuration is loaded from appsettings.json
Your Environment

Output of dotnet --info:
`.NET SDK (reflecting any global.json):
Version:   6.0.100
Commit:    9e8b04bbff
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.19044
OS Platform: Windows
RID:         win10-x64
Base Path:   C:\Program Files\dotnet\sdk\6.0.100\
Host (useful for support):
Version: 6.0.0
Commit:  4822e3c3aa
.NET SDKs installed:
2.2.103 [C:\Program Files\dotnet\sdk]
2.2.402 [C:\Program Files\dotnet\sdk]
3.1.416 [C:\Program Files\dotnet\sdk]
5.0.303 [C:\Program Files\dotnet\sdk]
5.0.400 [C:\Program Files\dotnet\sdk]
5.0.405 [C:\Program Files\dotnet\sdk]
6.0.100 [C:\Program Files\dotnet\sdk]
.NET runtimes installed:
Microsoft.AspNetCore.All 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.18 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.22 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.10 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.14 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.18 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.22 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.10 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.14 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.1.18 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 3.1.22 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 5.0.9 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 5.0.10 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 5.0.14 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]`
Thanks,
Viresh

Hi @ashishdhingra ,
Sorry.. You can ignore builder.Build() - nothing relevant to this., forgot to remove that part while taking snapshot.
I do have the access to that resource, in case of authentication issue - I guess CreateHostBuilder function will throw error (image) but that doesn't happen to me. Is there anything that you want me to try out while debugging? I'm using net6.0 - does it have an impact?

Hi @ashishdhingra ,
Sorry.. You can ignore builder.Build() - nothing relevant to this., forgot to remove that part while taking snapshot.
I do have the access to that resource, in case of authentication issue - I guess CreateHostBuilder function will throw error (image) but that doesn't happen to me if I give correct access keys. Is there anything that you want me to try out while debugging? I'm using net6.0 - does it have an impact?

@viresh323 Please assess on how your credentials are configured locally. Kindly refer Credential and profile resolution for guidance. In your case, it is failing at the end Amazon EC2 instance metadata after failing to find credentials at all locations (which would obviously fail in non-EC2 instance).

@ashishdhingra , I believe my credentials are correct and has appropriate permission. This is how I verified.
.credentials :

I used this profile to troubleshoot locally..
With same role and account - I'm able to view/add/update the params in the AWS Console Paramater Store. Also -  verified the IAM Permission policies - it has Describe/GetParameter action for resource parameter/*
The screenshot (Amazon EC2 instance metadata) that I sent was just a demonstration of error when there is something wrong with the credentials. That isn't actual issue cause, I mocked it up.
Actual issue is not able to see "SystemManager" configuration in the list of Configuration.

SystemManager configuration is present while creating host

But not present at the point of getting configuration..

@ashishdhingra I figured it out, looks like WebApplication.CreateBuilder() is creating new instance every time and doesn't carry over the SystemManager configuration.
Instead, I used IConfiguration instance to fetch the configuration
Thanks for taking a look. @ashishdhingra


Recursively creating themed component doesn't work

What
There's a bug with createThemedComponent (and thus styled), where passing a component made by dripsy to it doesn't work.
import { styled, View } from 'dripsy'
import * as Native from 'react-native'

const Container = styled(View) // 🚨error
const Wrapper = styled(Native.View) // 👍 works

Same goes for createThemedComponent:
import { createThemedComponent, View } from 'dripsy'
import * as Native from 'react-native'

const Container = createThemedComponent(View) // 🚨error
const Wrapper = createThemedComponent(Native.View) // 👍 works

Why
First, this bug needs to be fixed for the custom pragma from #31 to get merged.
Second, I've really enjoyed using the styled function from the fresnel-2 branch in my real-world app. styled is a wrapper around createThemedComponent with a cooler name and syntax.
While using the sx prop is the central API, I would like to treat styled syntax as a first-class citizen, too.
import { styled } from 'dripsy'

const Container = styled(View)({
  maxWidth: 10
})

I've enjoyed the API of naming UI elements outside of the component scope. It prevents cluttering the return statement with styles.
With styled-components, this was pretty annoying, because I had to pass a function to my styles, redeclare prop types, and it was just a mess. But with dripsy, it's easy; I can still pass an sx prop to the component returned by styled if it needs render-specific variables in its styles, like so:
const Container = styled(View)({
  maxWidth: 10
})

const Box = ({ height }) => <Container sx={{ height }} />

How
I'm not fully sure why this bug is exists, but I could see issues with recursively wrapping components in HOCs.
I think an easy solution would be to add something like a static isDripsyComponent field to any component returned by createThemedComponent. Then, in createThemedComponent, we check if it already is a dripsy component. If it is, we just return the component itself and forward the props down – nothing special.

There are also issues with merging the default style and a new sx prop sometimes.

I've tried to make some work-arounds but still haven't been able to debug this.

I'll try to take a look at this as well.

Adding this: React.FC<P & Props<P>> as an explicit return type on the HOC seems to remove the TS error from the client and shifts it to the React.memo(WrappedComponent).
Not sure how important this is yet but I thought it was an interesting observation.

export function createThemedComponent<P>(
	Component: ComponentType<P>,
	options: ThemedOptions = {}
): React.FC<P & Props<P>> {

...

// @ts-ignore
return React.memo(WrappedComponent)

This might be a decent workaround if the types are the only issue.

I'll test that out.
It actually is more than a TS error, for some reason the actual renders don't work properly.

Okay I think it actually is just a TS error for createThemedComponent, and that it's actually breaking for styled. I need to keep testing to be sure. If it is, @cmaycumber's work-around should do it:

export function createThemedComponent<P>(
	Component: ComponentType<P>,
	options: ThemedOptions = {}
): React.FC<P & Props<P>> {

...

// @ts-ignore
return React.memo(WrappedComponent)

In any case, I should probably re-write styled, either to 1) match createThemedComponent from scratch, or 2) to simply return createThemedComponent. Option 1 would allow us to pass a pure function to determine styles, option 2 would only allow a plain sx object.
The simplest rewrite would look like this:
export function styled<P>(
  Component: ComponentType<P>,
  {
    themeKey,
    defaultVariant,
  }: { themeKey?: string; defaultVariant?: string } = {}
) {
  return (sx: Required<SxProps>['sx']) => {
    return createThemedComponent(Component, {
      defaultStyle: sx,
      themeKey,
      defaultVariant,
    })
  }
}

Which would allow this usage:
import { View, styled } from 'dripsy'

// plain objects only
const Box = styled(View)({
  pb: 2
})

<Box sx={{ pb: 3 }} />

...but it would not allow this usage:
import { View, styled } from 'dripsy'

// pure function to determine styles
const Box = styled<{ pb: number }>(View)(props => ({
  pb: props.pb
}))

<Box pb={3} />

The passing around of props and refs gets pretty messy in React with this many HOCs. It seems like the current (and admittedly messy) implementation of styled is breaking somewhere along the way of recursively forwarding props and refs (or so I would guess).

Does the styled component currently support passing props?
I can think off the top of my head plenty of situations where passing a prop might be needed for determining the style even outside of the scope of theme-related styles.

That usage is currently commented out. I got a lot of weird errors/edge cases importing the SxProps type from theme-ui when originally trying to make it, so I left it for later. SxProps seems like a pretty unusual type.
I came up with this:
import React, { ComponentProps, ComponentType } from 'react'
import { SxProps } from '@theme-ui/core'
import { createThemedComponent } from './create-themed-component'
import { StyledProps } from './types'

type Props<P> = Omit<StyledProps<P>, 'theme' | 'breakpoint'>
export function styled<P>(
  Component: ComponentType<P>,
  { themeKey, defaultVariant }: { themeKey?: string; defaultVariant?: string } = {}
) {
  return (sx?: ((props: P) => Required<SxProps>['sx']) | Partial<Required<Required<SxProps>['sx']>>) => {
    const Styled = React.forwardRef<typeof Component, Props<P> & ComponentProps<typeof Component>>(function Styled(
      props,
      ref
    ) {
      const Themed = createThemedComponent(Component, {
        defaultStyle: typeof sx === 'function' ? sx(props) : sx,
        themeKey,
        defaultVariant
      })
      // @ts-ignore
      return <Themed {...(props as unknown) as P} ref={ref} />
    })
    Styled.displayName = `DripsyStyled.${Component.displayName}`

    return Styled
  }
}

But that actually doesn't work perfectly either, because Component then needs to have props P declared in its prop types, when in reality we don't need it to if it's just for the sake of styling.
(For whatever reason, I wasn't getting typed suggestions until I added the many Partial and Required type helpers.)
The problems are 1) why doesn't styled allow recursive creation, and 2) how do we allow a pure function as a style argument with type suggestions.

Recursively calling forwardRef looks like it's causing the TS errors from createThemedComponent.
All the @expo/html-elements also forward ref and those are the only primitive components we have that show TS errors when you use them.

Another temporary workaround building off my previous one that fixes @expo/html-elements would add an additional optional child prop:
export function createThemedComponent<P>(
	Component: ComponentType<P>,
	options: ThemedOptions = {}
): React.FC<P & Props<P> & { children?: React.ReactNode }> {

...

// @ts-ignore
return React.memo(WrappedComponent)

Another thing to note React.FC can be replaced with ComponentType which may be more accurate because it shows a React.ForwardRefExoticComponent as the return type.

Got it, I'll try this out. ComponentType probably makes more sense. I see that @expo/html-elements is using React.PropsWithChildren, I haven't used that type before.
I'm also working on figuring out a way to get React.memo to work without using @ts-ignore, such that it forwards the correct details. Something like this might work to forward the props generic:
const typedMemo: <T>(c: T) => T = React.memo
return typedMemo(WrappedComponent)

But I'm not sure if it works with forwarding refs too yet.

Not sure where the best place to discuss styled is, but as I mentioned on #40, I had the idea to move the pure function logic into createThemedComponent.
It seems like a refactoring like this would work (oversimplified for demonstration):
function createThemedComponent<P, T>(Component: React.ComponentType<P>, defaultStyle: SxProp | ((t: T) => SxProp)) {
  return function FinalComponent(props: P & T) {
    const style = typeof defaultStyle === "function" ? defaultStyle(props) : defaultStyle;

    return <Component {...props} style={style} />;
  };
}

I made a code sandbox to demonstrate this.
You can use it like so:
/**
 * Here's a random test component
 */
const H1 = ({ i }: { i: boolean }) => <h1>{`${i}`}</h1>;

const Created = create(H1, { padding: 1 });
const EnhancedCreated = create(H1, (props: { p: number }) => ({
  padding: props.p
}));

This gives us all the proper types:

For whatever reason, I cannot get the TS suggestions for SxProps['sx'] type to work when it's a return type of a function.
// types.ts
export type ThemedOptions<T> = {
  defaultStyle?:
    | SxProps['sx'] // this works fine with intellisense
    | ((props: T) => SxProps['sx']) // no intellisense here...
  themeKey?: string
  defaultVariant?: string
}

I've also tried using SxStyleProp and ThemeUIObject, but no luck yet. When I use my own custom type, it works fine.
Here's the updated createThemedComponent file:
/* eslint-disable @typescript-eslint/ban-ts-ignore */
import React, { ComponentType, ComponentProps, useMemo } from 'react'
import { ThemedOptions, StyledProps } from './types'
import { useThemeUI } from '@theme-ui/core'
import { useBreakpointIndex, mapPropsToStyledComponent } from '.'
import { SSRComponent } from './ssr-component'
import { Platform } from 'react-native'

type Props<P> = Omit<StyledProps<P>, 'theme' | 'breakpoint'>

export function createThemedComponent<P, T>(
  Component: ComponentType<P>,
  { defaultStyle: baseStyle, ...options }: ThemedOptions<T> = {}
) {
  // without styled-components...
  const WrappedComponent = React.forwardRef<
    typeof Component,
    Props<P> & ComponentProps<typeof Component> & T
  >(function Wrapped(prop, ref) {
    const {
      sx,
      as: SuperComponent,
      variant,
      style,
      webContainerSx,
      themeKey = options.themeKey,
      ...props
    } = prop
    const defaultStyle =
      typeof baseStyle === 'function' ? baseStyle(prop) : baseStyle

    const { theme } = useThemeUI()
    const breakpoint = useBreakpointIndex({
      __shouldDisableListenerOnWeb: true,
    })
    // const ssr = useIsSSR()
    // change/remove this later maybe
    const ssr = Platform.OS === 'web'

    const { responsiveSSRStyles, ...styles } = useMemo(
      () =>
        mapPropsToStyledComponent(
          {
            theme,
            breakpoint: Platform.OS === 'web' && ssr ? undefined : breakpoint,
            variant,
            sx,
            style,
          },
          {
            ...options,
            themeKey,
            defaultStyle,
          }
        )(),
      [breakpoint, defaultStyle, ssr, style, sx, theme, themeKey, variant]
    )

    const TheComponent = SuperComponent || Component

    if (Platform.OS === 'web' && ssr && !!responsiveSSRStyles?.length) {
      return (
        <SSRComponent
          {...props}
          Component={TheComponent as React.ComponentType<unknown>}
          responsiveStyles={responsiveSSRStyles}
          style={styles}
          ref={ref}
          containerStyles={
            webContainerSx as ComponentProps<
              typeof SSRComponent
            >['containerStyles']
          }
        />
      )
    }

    return (
      <TheComponent {...((props as unknown) as P)} ref={ref} style={styles} />
    )
  })

  WrappedComponent.displayName = `Themed.${Component.displayName ??
    'NoNameComponent'}`

  return React.memo(WrappedComponent)
}

The TS errors seen in the H1 and other elements is fixed in 1.2.1. I used @cmaycumber's suggestion of explicitly defining the component's return type.

I think I fixed this in v2.1.0.


Window width / height set drag min / max

Master 3.0

A slightly more verbose issue description would be nice, it took me 10 s to understand what the issue was. It should have taken 0.5 s.

This should be done with all the project settings parameters. But I think it would be better remove the sliders completely.

You mean you don't have a<PHONE_NUMBER> x<PHONE_NUMBER> (16:9) display? :smile:

The problem is that you can set the resolution (and other parameters) to negative numbers, like -1280 x -720 and this sometimes produces weird glitches.

#9431


fluxcd: 0.29.1 -> 0.29.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for fluxcd is: "Open and extensible continuous delivery solution for Kubernetes"
meta.homepage for fluxcd is: "https://fluxcd.io"
meta.changelog for fluxcd is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/hc4bbqacm3r0s96f2ba6lqrngmmx6483-fluxcd-0.29.2/bin/flux had a zero exit code or showed the expected version
0 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 0.29.2 with grep in /nix/store/hc4bbqacm3r0s96f2ba6lqrngmmx6483-fluxcd-0.29.2
found 0.29.2 in filename of file in /nix/store/hc4bbqacm3r0s96f2ba6lqrngmmx6483-fluxcd-0.29.2

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
fluxcd

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/hc4bbqacm3r0s96f2ba6lqrngmmx6483-fluxcd-0.29.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A fluxcd https://github.com/r-ryantm/nixpkgs/archive/331256596ecf8d580370323a48ea3814243b6aa0.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/hc4bbqacm3r0s96f2ba6lqrngmmx6483-fluxcd-0.29.2
ls -la /nix/store/hc4bbqacm3r0s96f2ba6lqrngmmx6483-fluxcd-0.29.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

fluxcd

Maintainer pings
cc @jlesquembre @bryanasdev000 @kalbasit for testing.

Closed by #169762


Example

Hi guys, is there a complete example of the implementation of this somewhere, I've never done file uploads before. I'm a bit stuck and don't know where to start. I have an apollo-server running and I wonder if I can make it work with that.

The instructions here are marvelous: https://github.com/HriBB/graphql-server-express-upload


Docs weblink not working

Can you please update the Docs link in Readme file? The current link seems to be not working.

Found a very old version of the documentation at the wayback machine
https://web.archive.org/web/20180506141831/http://gridster.digitalmind.ch/documentation/

Found this link via Google just now https://ickc.github.io/gridster-jekyll-theme/gridster-documentation/


StateHasChanged behavior for EventCallback

Fixes #17939
Thanks @mrlife ...

in one place all ways the lifecycle comes into play

... isn't specifically actionable. We can cross-link the StateHasChanged behavior for EventCallback in the Lifecycle topic's StateHasChanged section (on this PR), but either I don't understand your ask or I don't think that what you're asking for can be done differently than the way that we already handle this using two topics, one on events and one on lifecycle.

Thanks, I think this is good!
https://github.com/dotnet/AspNetCore.Docs/issues/16287#issuecomment-644174530 and https://github.com/dotnet/AspNetCore.Docs/issues/16287#issuecomment-644182457 will address anything else as far as I can tell.


Feature create pop up

These are the new features implemented in this branch;

Dynamically created the work section with javascript,
Create pop-up window for work section,
Updated Read Me file,
Fix linters errors.

thank you