Provide configuration for reserved and provisioned concurrency

Lambda now provides a reserved and provisioned concurrency setting/configuration.
https://docs.aws.amazon.com/lambda/latest/dg/lambda-concurrency.html#reserved-and-provisioned
https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html
zappa currently provides a keep_warm function to periodically keep a single lambda instance "warm".
However, the current keep_warm method is not expected to reduce cold starts for more than a single instance.
This issue requests that reserved and provisioned concurrency are properly integrated with zappa.
Potentially consider depreciating keep_warm in favor of these new concurrency settings.

Hey, just wanted to provide some quick thoughts here!  (Note: Ok, now having finished with writing what follows, it seems my thoughts turned out to be not-so-quick 🙃 - sorry, I'll provide a quick TL;DR.)
TL;DR
Unless new features are critical (e.g., supporting a new Python version), we should probably not add them to Zappa right now, as I'm in the process of replacing Zappa's ancient self-management of infra with the ability to interface with modern Infrastructure-as-Code (IaC) platforms that will enable all of the current features of Zappa, plus allow the use of pretty much every AWS feature that anyone could ever want.
Regarding the two features specifically mentioned, as far as adding either to Zappa:

Reserved concurrency: I don't see much demand for it, but wouldn't be opposed to someone submitting a high-quality PR if they really wanted it configurable in Zappa before the IaC transition is complete.  Although, as this is a feature that can already be enabled on any Lambda function in ~30 seconds using the AWS console, I'm not sure if the effort would be worth it.
Provisioned concurrency: I strongly feel this belongs to the class of features that Zappa should never expose in its config, due to the fact that this is a setting that, if it is inadvertently/unknowingly enabled by a user, can easily result in a large, unexpected AWS bill.  Zappa has always been a tool that can be messed around with by a novice trying out deployments with different settings without having to worry about receiving a large unexpected AWS bill as a result, and it shouldn't deviate from that expectation now, after 8 years.  Add that to the fact that there are other deep-rooted problems that an implementation of this feature would run up against in Zappa, and I can't see this being a feature Zappa will ever directly support.

Of course, using IaC, knowledgeable users can enable either of these features (and countless more), but doing so via IaC requires far more intentionality than simply playing around with the settings found in a single JSON file (zappa_settings.json).

Background
For context, here are a few of the premises of Zappa (all IMHO, of course): what it is (and is not) and the scope of the role it should aim to play within the broader context of the overall AWS ecosystem and related tools:

Zappa's primary purpose/function/goal/objective is (and should continue to be) to enable fully functional, serverless deployments, via AWS Lambda, of APIs running on common Python web frameworks.  In doing so, we should endeavor to make that process as simple as possible for as many users as possible (from students/beginners to GvR himself, and from pre-seed startups to the largest multinational corporations).  This means supporting both Zappa's ability to create any required infra as necessary, while also allowing for existing infra that has been configured though other means, such as Infrastructure-as-Code (IaC) platforms, to be used if desired.  Given the proliferation and maturation of IaC platforms since Zappa was first released 8 years ago, our focus on enabling/supporting/encouraging their use for infra configuration should be significantly increased compared to where Zappa's focus was 8 years ago, which was more on increasing the amount of infra configuration that Zappa could automate itself directly via the AWS API.
Zappa was never intended (nor should it intend) to enable complete, automated configuration of every potential infra feature that AWS offers (including all of the features supported by Lambda, although they generally deserve some consideration).  IaC platforms are much better suited to do that job, and we should not try to make Zappa into another IaC platform.  If I were to rewrite Zappa from scratch today, I'd probably completely remove any direct configuration of AWS infra all together, and instead focus on supporting common IaC platforms that could be used to configure the necessary infra for Zappa.  Default templates for the supported IaC platforms could be included (and/or automatically generated) that would enable the relevant IaC platform to configure the "default Zappa" infra that Zappa currently configures itself directly via the AWS API.  These templates could be used as-is, or they could be used as a starting point that users/orgs could then customize to meet their specific needs.

I think that is generally the primary goal we should be striving for in 2024, as offloading Zappa's infra config to IaC platforms will render most "can Zappa add support for x?" questions moot, limit the scope (Zappa has continually been suffering from scope creep ever since it was originally released) of what Zappa needs to do/support, and allow for developer focus to shift toward ensuring that Zappa is able to fulfill its primary purpose via a consistent, fast, high-quality, and bug-free experience.

Therefore, given the current state of Zappa, I do not believe we should automatically consider the addition of support for additional AWS infra configuration to be inherently good/positive/beneficial or the right choice (especially if that support would increase our reliance on interfacing directly with the AWS API to configure infra).  In fact, for the time being, I would argue that our default should be to assume that such additions should not be made, unless there are extremely compelling arguments in favor of implementing immediate support for such an addition.  In summary, I am proposing that, as a general rule, until Zappa can accomplish its primary function without needing to use the AWS API directly, we should err toward focusing on furthering our support/integration with common IaC platforms that already support extensive AWS infra configuration, rather than attempting to support the ever-growing list of AWS infra configuration options that Zappa, in its current state, would need to manually configure itself via the AWS API.  Doing so will only serve to entrench Zappa further in its current no-man's-land state of functioning partly as a pseudo-IaC tool and delay how quickly we can extricate ourselves from that undesirable state.
In addition, we also need to consider if/how any proposed new feature would add to the complexity involved of getting Zappa to perform its primary function.  Complexity is something that, by default, we should strive to minimize, given our goal of "mak[ing] that process as simple as possible".  Similarly, we should be considering if/how any proposed new feature might increase the amount of AWS expertise/knowledge our users will need to have, which is a bar that, by default, we should be hesitant to raise, given our goal of making Zappa useful/usable "for as many users as possible (from students/beginners to ...".
It's also worth keeping in mind the small size of the team that remains active in Zappa's maintenance (especially when viewed in comparison to the size of Zappa's user-base) and the fact that the amount of time that each of us is choosing to volunteer from their limited free time (outside of our personal, professional, and/or other OSS responsibilities, etc.) toward the maintenance of Zappa is acutely finite.

And, given that the addition of any new functionality tends to increase the maintenance burden (the possibility of introducing bugs, the need for documentation, the possibility of users requesting support in regards to the functionality, etc.) of a project, which is another reason why, with a few exceptions, I believe the addition of most new features likely should not be prioritized (until, as mentioned above, we eliminate the need for Zappa to function as a quasi-IaC platform).  However, here are examples of some of the things that I think should continue to be prioritized as necessary:

Bug/security fixes: almost certainly most P0/P1-level (critical/high) bugs, P2 (medium) on a case-by-case basis, P3 (low) not likely
Adding support for more users, which will largely involve adding/improving support for things like: new architectures, versions of Python, dependencies, integrations with additional platforms/tools/services (beyond the obvious IaC) where useful/appropriate, Docker/containerization, OSes, etc.
Continuing to purge the large amount of ~8-year-old dev-facing tech debt, which I also consider to be among the highest areas of importance, since, absent a way to increase the number of hours in a day, increasing the efficiency of our team and other contributors (and lowering the barrier of entry for new contributors) is likely the best way we can accomplish more of the things we'd like to achieve (from bug fixes to IaC support to feature requests) within finite time constraints.  This includes things like:

Adding/updating/replacing dev tools/dependencies
Shedding our Py2 roots more fully and bringing our repo up to the standards of a modern, Py3.8+ codebase
Improving/updating/speeding up our tests (both locally and via CI/CD)
Updating/optimizing/fixing our CI/CD pipeline
Making use of the vast array of automated tools that now exist that can accomplish some of our repo's basic maintenance tasks that often fail to get done in a timely manner (if at all) currently

Discussion
Whew 😅.  Ok, with that context in mind, let's discuss the features that were brought up.
Introduction
"Reserved concurrency" and "provisioned concurrency" are actually quite different features, targeting different use cases (with potentially drastically different cost implications) so I think each should be discussed separately.  To that end:
Reserved Concurrency
Description
Limits how many simultaneous invocations there may be of a given Lambda function.  For example, most accounts start out with a total limit of 1000 simultaneous Lambda invocations across all functions (note: this is a limit that can easily be raised by asking AWS support - I've seen it be set well into the millions at large, corporate entities - AWS just prefers to start accounts with relatively low limits so an inexperienced user/org doesn't accidentally run up a $100k+ bill due to a bug that is launching way more Lambda invocations than expected), and, assuming that an AWS account has that default level of 1000, then setting the "reserved concurrency" on function x means that function x will be able to have up to 400 simultaneous Lambda invocations, but cannot exceed 400, even if there is demand for more.  What it also means is that all other functions would now only have a pool of 600 "unreserved" Lambda invocations they can simultaneously share, as the 400 "reserved" for function x cannot be used by any other function.
What that means for Zappa

One thing I think is clear here is that "reserved concurrency" does not attempt to achieve the same goals as Zappa's "Keep Warm" functionality and should/can not be considered as a potential replacement for it.
Therefore, I think "reserved concurrency" would need to be considered as a potential addition to the features Zappa enables, rather than a replacement.

Arguments against/for it being added to Zappa's config:

Bad cop/Devil's advocate/cons:

Everything mentioned above in Background. TL;DR: it's 2024; rather than continuing to function as a quasi-IaC solution that slowly adds (or doesn't add) AWS infra features in piecemeal to a zappa_settings.json that has continually become more of a confusing mess as scope creep has continued for nearly a decade, Zappa should focus on increasing support for the various IaC platforms which exist specifically to allow for detailed configuration of AWS infra to be defined, which would offer the ability to configure this setting (and countless more) immediately, without the need for Zappa to develop and maintain its own manual implementation for configuring the setting by directly interacting with the AWS API.
I have not seen many real-world uses of "reserved concurrency" in the wild (nor can I recall seeing an Issue asking for it, besides this one).
I do have some level of concern that, if this was added to zappa_settings.json, users may not fully understand what it does (and/or get it mixed up with "provisioned concurrency"), and enabling it in one of the most common use cases (i.e., a user/org is deploying their web app's backend API via Zappa, and only has a handful of other Lambda functions - if any at all - that are typically going to be comparatively very minor/not user-facing/etc. in terms of importance/priority/etc. when compared to the API) would, if anything, just increase the likelihood of causing performance degradation (because now their main Lambda function for their API would no longer be able to use all 1000 available account-wide simultaneous Lambda invocations - it would be limited to whatever was set for "reserved concurrency").

So, forcing users who actually need "reserved concurrency" to take a minute to go and enable it within the AWS console (where it gives puts a detailed breakdown of what "reserved concurrency" actually does in users' faces - so they are more likely to read it - and is dead-simple to enable/configure) or via an IaC platform (which are typically much more extensively documented than Zappa) may provide some benefit.

Good cop/<whatever the opposite of Devil's advocate is>/pros:

As far as Lambda features go, "reserved concurrency" is rather innocuous.  At worst, it could cause performance issues that can be solved by removing it.

Summary
If the community actually does indicate that they have a strong desire for the ability to enable "reserved concurrency" via Zappa's config, and someone submitted a high-quality PR with complete test coverage that didn't require an extensive review process, I suppose I wouldn't be opposed to merging it, as full integration with IaC platforms will likely take a while.  But, this isn't something I would personally commit to adding support for, as I don't think it's an important enough feature to warrant pausing my work toward replacing Zappa's outdated manual infra configuration system with the ability to use various IaC platforms to do the infra configuration for Zappa.
Provisioned Concurrency
Description
Keeps a defined amount of Lambda function instances active/"spun up"/warm, regardless of activity.  For example, if the "provisioned concurrency" of function x is set to 100, then 100 instances of function x will run 24/7 indefinitely, even if function x is not invoked for days/weeks/months/years.  If function x then receives 500 simultaneous invocations, 100 of those invocations will be able to take advantage of a "warm start", while the other 400 will have to "cold start".  After ~5 minutes after the completion of function x's invocation, if function x does not again receive more than 100 simultaneous invocations, the 400 instances that were spun up in addition to the 100 kept active by "provisioned concurrency" will get spun down again.  Users of "provisioned concurrency" not only have to pay for the Lambda runtime, but they also have to pay an additional fee is levied by AWS for the use of the "provisioned concurrency" feature.  In other words, the cost/min of running a Lambda function instance via "provisioned concurrency" is greater than the cost/min of running a Lambda function instance that is created normally, even if it is then "kept warm" by other means (discussed below).
What that means for Zappa

Note that Zappa configures API Gateway to target the special-case $LATEST alias of the Lambda function (which always targets the most recent version of the Lambda function), an easy way to ensure that the latest version of the deployed API is always the one served to users.  However, the special-case $LATEST alias cannot be targeted by "provisioned concurrency" (a long-standing limitation imposed by AWS, although it seems like it should be simple enough thing to enable with the pool of engineering talent they have available 🤷♂).

This limitation can already be worked around very easily with Zappa as-is (this info is probably relevant to #1289):

Deploy Lambda function with Zappa (if not done already)
Create a custom alias (ex. $LIVE) targeting the latest version number (an auto-incrementing integer) of the Zappa-deployed Lambda function.  While the special-case $LATEST alias cannot be the target of "provisioned concurrency", any custom alias that is user-created can be the target.  Set this alias to be the target of "provisioned concurrency" and make sure to change API Gateway (if being used) to also target your custom alias rather than $LATEST.
Now, in your CI/CD pipeline, after zappa update is run, all you have to do is use the AWS API to fetch the new version number of the function, and then use the AWS API to change the custom alias that "provisioned concurrency" is targeting to refer to the new version number.  This can be done using the AWS CLI, via a Python script using boto, etc.

However, if "provisioned concurrency" were offered as a setting to Zappa users, they'd likely expect it to work automatically, which would mean either:

Making a fundamental breaking change to the practice of using the special case $LATEST alias (which Zappa has done since day 1), which would require Zappa to several additional API requests (slowing deploy time) for each deploy/update, even though only users using "provisioned concurrency" would benefit.  Zappa would at least need to add further logic to handle functions deployed with older versions of Zappa that target $LATEST in order to convert them to the new practice of using a custom alias.  There are probably other ramifications that would manifest as well.
Creating and maintaining a divergent deploy/update code path for users of "provisioned concurrency", which is typically considered a coding anti-pattern.  And still, in this case, logic would be needed to convert the targeted alias if a user toggled "provisioned concurrency" on/off, with the same risk of causing downstream issues by doing so.

Enabling Zappa's "Keep Warm" functionality is more-or-less equivalent to having a "provisioned concurrency" of 1 set on the Lambda function, without needing to pay the additional "provisioned concurrency" premium.
Therefore, I think "provisioned concurrency" could either be considered as a potential addition to the features Zappa enables or a replacement for "Keep Warm".  If I had to choose between the two, I'd strongly prefer the former, since it would allow for a "cost-effective" (and sane) option to remain (more on that later).
Another option that, IMO, would be significantly more viable to actually implement, would be to consider allowing Zappa's "Keep Warm" to be more configurable.  There are many other projects that already implement a configurable "Keep Warm" (example).  For users that need to keep many instances warm, this would allow users to configure "Keep Warm" to apply to many instances, functioning very similarly to "provisioned concurrency", but without having to pay the "provisioned concurrency" premium (and without the implementation complexity mentioned above).  However, is it worth it for Zappa to take the time to implement this level of configuration to our "Keep Warm" functionality when users could simply use an existing project that has already implemented that level of configuration, such as the example above, and set it to target the Lambda deployed by Zappa?  Could a simple link in the README provide access to the benefit with none of the work?

Arguments against/for it being added to Zappa's config:

Bad cop/Devil's advocate/cons:

Everything mentioned above in Background. TL;DR: it's 2024; rather than continuing to function as a quasi-IaC solution that slowly adds (or doesn't add) AWS infra features in piecemeal to a zappa_settings.json that has continually become more of a confusing mess as scope creep has continued for nearly a decade, Zappa should focus on increasing support for the various IaC platforms which exist specifically to allow for detailed configuration of AWS infra to be defined, which would offer the ability to configure this setting (and countless more) immediately, without the need for Zappa to develop and maintain its own manual implementation for configuring the setting by directly interacting with the AWS API.
The issues mentioned above concerning the specific implementation problems that adding support for "provisioned concurrency" would present.
As mentioned above, the fact that "Keep Warm" can be configured to work very similarly to "provisioned concurrency" (either via an existing 3rd party project or by modifying our own implementation/config), without needing to pay AWS their "provisioned concurrency" premium.
Here is perhaps my most major concern about allowing "provisioned concurrency" (and/or a "Keep Warm" implementation that could function similarly) to be configured in zappa_settings.json.  Zappa has always been something that students/beginners can play around with and test without needing to worry much about accidentally racking up a huge AWS bill (a Lambda function doesn't cost anything until it gets invoked).  Adding an easy way to enable "provisioned concurrency" in zappa_settings.json would fundamentally remove that implicit safety that users have come to expect over the past 8 years.  A student is playing around with Zappa, deploys a dozen or so Lambda functions, forgets about them.  Today, nothing happens.  If we had a provisioned_concurrency setting that he set to 1000, a month later, AWS sends him a $50k bill.  Since part of Zappa's mission is to provide its functionality to as many users as possible, including students/beginners, I am extremely hesitant to add any configuration setting that could easily be inadvertently/unknowingly enabled and result in users unwittingly being charged major sums of money by AWS.

A configurable "Keep Warm" presents the same risks, although, all things equal, it couldn't generate as large a bill because it wouldn't result in the "provisioned concurrency" premium being charged.  However, it would still enable risk of major costs.  I would much rather have a user make a conscious choice to use another project which solely implements "Keep Warm" and dedicates its documentation to explaining what it is, how it works, the risks of its usage, etc., because any warning about the risks of a configurable "Keep Warm" implementation in Zappa would end up being "just another line item" buried in our README that wouldn't get read.

This is small potatoes compared to all of the problems above, but additionally, "provisioned concurrency" is basically unnecessary in 99.99% of cases nowadays in 2024.  Speeding up cold starts has long been one of the Lambda AWS team's biggest priorities.  They have gotten to be really, really fast by now.  This article, now 3 years old, showed that 2/3rds of Python cold starts took ~250ms or less, while 95% took ~500ms or less.  They've only gotten faster since then.  I had an engineer question if Lambda cold starts were causing a performance issue less than a year ago, and I told him that it had nothing to do with Lambda cold starts, but he was welcome to go look in CloudWatch if he wanted proof.  So he did, and, surprise, it wasn't the cold starts - the Python runtime was consistently instantiated by Lambda in ~75-125ms.

When cold starts are noticeably "slow", it's almost invariably due to the deployment package (i.e., function, application) itself and/or how it is configured/deployed, not Lambda.  For example, using Zappa's slim_handler setting will kill cold start time, because the application has to be downloaded from S3, extracted, installed, configured, and initialized on every cold start.  The other major mistakes I've seen made are apps that do too much in their lambda_handler function/module (hint: more than the bare minimum is usually too much - try to do things after your app has been instantiated) and/or apps that have to make many requests outside of Lambda to get everything they need to initialize.  For example, users will store keys in KMS, secrets in Secrets Manager, assets in S3, need data from RDS (or, even worse, need to make requests to external APIs) in order to get all of the settings their application needs to initialize.  All of those requests will slow cold starts significantly.  All settings needed to initialize an app should be kept in the Lambda functions' environment variables.  Getting anything else (like from S3, RDS, or a 3rd party API) should be done after your app has been instantiated.
Zappa also offers an optional setting that can help speed up application cold start times significantly (it says "experimental", but it's been in use for over 2 years by now, so I think that tag can/should be removed at this point).  IMO, if there's any action that should be taken here, it would be enabling that setting by default.
It's also important to note that Zappa creates Lambda functions with 512MB of RAM by default, which not only isn't very much memory these days, but, since Lambda scales vCPU power with the amount of RAM provisioned, it means that the default Lambda packages created by Zappa only have 0.5 vCPU.  Increasing this to at least 4096MB (4 vCPU) or higher can often greatly speed up cold start times (and general performance), especially for large, monolithic applications (and/or applications with many large dependencies).
Zappa also supports AWS X-Ray, which can be very useful in pinpointing what part(s) of your application's cold start process are causing slowdowns.
When all else fails, creating a custom Docker image with all dependencies and the user's application preinstalled is usually a sure-fire way to guarantee consistent, relatively fast cold start times (Lambda's cold start times for Docker are still currently slower than most of its native runtimes, but Docker cold starts have been catching up, and, given how relatively "young" Docker image deployments are on Lambda, I expect there is still significant headroom for improvement), and Docker makes it much harder for users to create a deployment package that results in a very slow application cold start.  (Zappa already supports deploying Docker images, but perhaps we should push them more prominently as a potential solution to slow cold starts and a better/faster alternative to using slim_handler.)
If someone is still convinced they need "provisioned concurrency" at this point, they should probably use one of the advanced "Keep Warm" projects to get nearly identical performance at a lower cost.
After trying that, if they are still convinced that things aren't fast enough (which, at this point, means that differences of milliseconds are significant to them), then Lambda (and the Python language itself, tbh, if they are using Zappa) probably isn't the right tool for their use case.  They probably want to use something like a cluster of EC2 instances behind an ALB (potentially with autoscaling enabled via Fargate or similar if they went with Lambda originally for its ability to horizontally scale to handle traffic bursts) and use an entirely asynchronous web framework (ideally in a much faster language than Python that has true first-class support for async/multi-threading), etc.
The ~0.01% of times it might still make some sense in 2024 to use "provisioned concurrency" is when it's a temporary measure to put off having to deal with tech debt (which would typically entail either optimizing their application's cold start times or moving off of Lambda).  This might make sense for a fast-growing startup that would rather focus on adding new features to attract customers/investors than working on their infrastructure.  It also might make sense for a slow-moving large corporation, since the added expense from "provisioned concurrency" would basically be a rounding error on the balance sheet of a mega corp, and because they know it could take them a long time to cut through the red tape to get the necessary changes made to their infrastructure.

Good cop/<whatever the opposite of Devil's advocate is>/pros:

Um... I guess it gives devs/orgs the option to pay money to avoid needing to write better application code or move to a more appropriate platform for their use case?  Still, an advanced "Keep Warm" function could do the same for less money.

Summary
I really don't think adding "provisioned concurrency" support to Zappa is a good idea.  The fact that it would break the implicit contract Zappa has had with its users since its inception that "you can (safely) use Zappa to mess around with deploying your apps to Lambda" by adding a setting that could deploy a Lambda function that would immediately begin accruing charges on their AWS bill is a complete non-starter by itself, IMO, and that's far from the only concern it would bring.


Pin graphql-core to <2

Part of https://github.com/graphql-python/graphql-core/issues/249
This PR just pins graphql-core to use versions less than v2 since the code hasn't been updated to support v2. Support for v2 will come in a later PR.
(The travis config has also been updated to fix a build failure and run against more recent versions of python)

Coverage remained the same at 99.636% when pulling 935bff5356a9e40a0e626e63a4418a47f02f0524 on pin-graphql-1 into 17ce2efa3c396df42791ae00667120b5fae64610 on master.


Bug 2091863: BootSource edit modal should list affected templates

📝 Description
Adding a list of affected template resources to edit boot source modal
🎥 Demo
before:

after:

Signed-off-by: Aviv Turgeman<EMAIL_ADDRESS>

/lgtm
NICE !


tray pops up behind window

Reproduce:
Right click tray icon
what happens:
Pop-up dialogue behind current window, so can't interact
expected:
dialogue menu visible and clickable
Tried:
layer=top is already in my config.
config:
{
    "include": "~/.config/hypr/waybar/modules",
    "name": "main-bar", // Waybar name
    "id": "main-bar", // Waybar id
    "layer": "top", // Waybar at top layer
    "mode": "dock", // Display mode (dock|hide|invisible|overlay)
    "exclusive": true, // Request an exclusive zone from the compositor
    "passthrough": false, // Pass any pointer events to the window under the bar
    "position": "top", // Waybar position (top|bottom|left|right)
    "height": 34, // Waybar height (to be removed for auto height)
    "width": "", // Waybar width (empty for auto width)
    "spacing": 0, // Gaps between modules
    "margin": 0, // Space around the bar
    "margin-top": 0, // Space above the bar
    "margin-bottom": 0, // Space below the bar
    "margin-left": 0, // Space to the left of the bar
    "margin-right": 0, // Space to the right of the bar
    "fixed-center": true, // Center modules position
    "ipc": true, // Control waybar with `swaymsg bar` commands
    // Choose the order of the modules
    "modules-left": [
        "custom/menu",
        "idle_inhibitor",
        "tray",
        "mpd#2",
        "mpd#3",
        "mpd#4"
    ]
    ....center....right things go here.
}

module:
    // waybar-tray
    "tray": {
        "icon-size": 16,
        "spacing": 10
    },

style.css
/** ********** Tray ********** **/
#tray {
    background-color: #343a40;
    border-radius: 10px;
    margin: 6px 0px 6px 6px;
    padding: 4px 6px;
}
#tray > .passive {
    -gtk-icon-effect: dim;
}
#tray > .needs-attention {
    -gtk-icon-effect: highlight;
}
#tray > .active {
}

can't reproduce, did you build using the instructions on the Hyprland wiki?
sed -i -e 's/zext_workspace_handle_v1_activate(workspace_handle_);/const std::string command = "hyprctl dispatch workspace " + name_;\n\tsystem(command.c_str());/g' src/modules/wlr/workspace_manager.cpp
meson --prefix=/usr --buildtype=plain --auto-features=enabled --wrap-mode=nodownload build
meson configure -Dexperimental=true build
sudo ninja -C build install

No it was shipped with my iso.
And I also have other wc/wm like river/sway/wayfir/newm
is this custom build compatible with those too?

Yes I did after your comment. i log out and logged in. no changes

Seems like you're using waybar. Just comment out that "mode": "dock" and it should work.

this is not a waybar bug tracker

yes it is not. and i have 4 more wm(s), and i was having problem with hyprland so i thought this fits here.

usually LS popups are treated as above-all in other compositors, but IMHO it's a stupid approach and as such hyprland does not. That's probably why.

 Obviously.


Fix CSRF in WebAuthn support

There are a few issues with the CSRF protection and the WebAuthn support (cas-server-support-webauthn module).
At registration, the token is not sent for the /register/finish endpoint, this is fixed in the webauthn.js file by adding the csrfToken as a header in the submitResponse function.
For the login part which happens in the login webflow, the Spring Security CsrfFilter is not called so we need to mimic the logic. It's already done in the WebAuthnStartRegistrationAction but it must be added in the WebAuthnStartAuthenticationAction. The logic is mutualized in the new component: WebAuthnActionHelper.
The CSRF token being available, it must be retrieved (loginCsrfToken HTML input and csrfToken javascript constant) in the webAuthnLogin.html fragment and sent to the /authenticate endpoint by adding the csrfToken as a header in the getAuthenticateRequest function (webauthn.js file).
A test has been updated to check that the CSRF token is now available in the webflow after the WebAuthnStartAuthenticationAction action.
For the primary authentication use case, a new action: WebAuthnPreparePrimaryLoginAction has been created and is added in the start actions list when primary authentication is enabled to generate the CSRF token.
I haven't been able to make a full manual test as I don't have a Yubikey (and I guess this is also the problem for the Puppeteer tests): for me, it fails during the authentication stage.
I'll backport this fix as soon as it's merged.

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

Thank you Jérôme . I'll try to run some manual tests today and report back.

This pull request causes the system to crash prior to seeing the login page:
07:48:06 ERROR [o.a.c.c.C.[.[.[.[dispatcherServlet]] - <Servlet.service() for servlet [dispatcherServlet] in context with path [/cas] threw exception [Request processing failed; nested exception is org.springframework.webflow.execution.FlowExecutionException: Exception thrown in state 'viewLoginForm' of flow 'login'] with root cause>
org.springframework.expression.spel.SpelEvaluationException: EL1007E: Property or field 'parameterName' cannot be found on null
        at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:213) ~[spring-expression-5.3.12.jar:5.3.12]
        at org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal(PropertyOrFieldReference.java:104) ~[spring-expression-5.3.12.jar:5.3.12]
        at org.springframework.expression.spel.ast.PropertyOrFieldReference.access$000(PropertyOrFieldReference.java:51) ~[spring-expression-5.3.12.jar:5.3.12]
        at org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.getValue(PropertyOrFieldReference.java:406) ~[spring-expression-5.3.12.jar:5.3.12]
        at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:92) ~[spring-expression-5.3.12.jar:5.3.12]
        at org.springframework.expression.spel.ast.SpelNodeImpl.getValue(SpelNodeImpl.java:112) ~[spring-expression-5.3.12.jar:5.3.12]
        at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:337) ~[spring-expression-5.3.12.jar:5.3.12]
        at org.thymeleaf.spring5.expression.SPELVariableExpressionEvaluator.evaluate(SPELVariableExpressionEvaluator.java:265) ~[thymeleaf-spring5-3.0.12.RELEASE.jar:3.0.12.RELEASE]
        at org.thymeleaf.standard.expression.VariableExpression.executeVariableExpression(VariableExpression.java:166) ~[thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE]
        at org.thymeleaf.standard.expression.SimpleExpression.executeSimple(SimpleExpression.java:66) ~[thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE]
        at org.thymeleaf.standard.expression.Expression.execute(Expression.java:109) ~[thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE]
        at org.thymeleaf.standard.expression.Expression.execute(Expression.java:138) ~[thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE]
        at org.thymeleaf.standard.processor.AbstractStandardExpressionAttributeTagProcessor.doProcess(AbstractStandardExpressionAttributeTagProcessor.java:144) ~[thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE]

With:
cas.authn.mfa.web-authn.core.allow-primary-authentication=true

Puppeteer tests should also fail.

My fault. I haven't tested this use case. I will revisit the PR after better testing.

For the primary authentication use case, a new action: WebAuthnPreparePrimaryLoginAction has been created and is added in the start actions list when primary authentication is enabled to generate the CSRF token.
The crash prior to the login page does no longer happen.

I just added the new test to the test suite.

In this PR, I also fix another issue: the default value of the appId when the primary authentication is enabled. Indeed, in that case, an error is thrown currently.
See: https://github.com/apereo/cas/pull/5271/files#diff-8780d348b368d330e53584038d9973615e492bbbec189cec1d50d1045e7b0beaR99

Waiting for the build to see if the tests pass...

@mmoayyed did you get a change to re-test this PR? Thanks

Not yet. I am in the middle of a move this week, but should be able to get to this some time mid next week. Don't anticipate issues with your last commit, so testing would be quick.

Very good. Thanks


Live preview not working at all on my mac.

Prerequisites

[ yes ] Can you reproduce the problem with Debug -> Reload Without Extensions?
[ yes ] Did you perform a cursory search to see if your bug or enhancement is already reported?
[ yes ] Did you read the Troubleshooting guide?

For more information on how to write a good bug report read here
For more information on how to contribute read here
Description
[Description of the bug or feature]
Even if I re-install Brackets and try to live preview the file that you are given, a pop up comes to the screen saying to open an index.HTML file to use live preview. Nothing works at all.
Steps to Reproduce

[First Step]
Install Brackets
[Second Step]
Hit live preview
[and so on...]
Get the error message
Expected behavior: [What you expected to happen]

Actual behavior: [What actually happened]
Versions
I am using Mac OS High Sierra Version 10.13.2
Brackets Version:
Release 1.12 build 1.12.0-17621 (release d3b783b99)
build timestamp: Thu Feb 01 2018 03:32:03 GMT-0800
Copyright 2012 - present Adobe Systems Incorporated and its licensors. All rights reserved.
Please include the OS and what version of the OS you're running.
Please include the version of Brackets. You can find it under Help -> About Brackets (Windows and Linux) or Brackets -> About Brackets (macOS)
I just run this and it does not work. This is the code given  to me once I download it.
<!DOCTYPE html>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <title>Bootstrap 3, from LayoutIt!</title>

    <meta name="description" content="Source code generated using layoutit.com">
    <meta name="author" content="LayoutIt!">

    <link href="css/bootstrap.min.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">

					<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
						 Toggle navigation
					</button> Brand

							Link

							Link

							 Dropdown

									Action

									Another action

									Something else here

									Separated link

									One more separated link

					<form class="navbar-form navbar-left" role="search">

							<input type="text" class="form-control">

						<button type="submit" class="btn btn-default">
							Submit
						</button>
					</form>

							Link

							 Dropdown

									Action

									Another action

									Something else here

									Separated link

					Hello, world!

					This is a template for a simple marketing or informational website. It includes a large callout called the hero unit and three supporting pieces of content. Use it as a starting point to create something more unique.

					Learn more

				Heading

				Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.

				View details »

				Heading

				Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.

				View details »

				Heading

				Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.

				View details »

@HunterJB The file that you have created is outside the project root folder. That is the reason for the error.
You can either open the folder containing the new file as your root folder or
you can disable "File-> Enable Experimental Live Preview". Then live preview won't give an error.

I tried that too and it does not work. I am getting desperate here, could you please send a file that would work for you? I can't get anything to work on it.

@HunterJB  Could you send a snapshot or gif, reproducing the issue.

Thanks for helping out @sobisht 🙏

@HunterJB  Can you confirm which version of brackets are you using and also if this issue is occurring in latest version (i.e. 1.12). I am previewing index.html in "Getting Started" folder and I am not getting this error.

alright, I looked at my Brackets version and it was 1.11 so I downloaded 1.12 and hit the live preview in the "getting started" and it still wont do live preview.

@HunterJB
I have done following steps to launch preview in Brackets 1.12:

Opened brackets and selected "Getting Started" folder as my working folder.
From the "Getting Started" folder, I opened file "index.html" and clicked on live preview button. It shows the preview.
I enable the "Experimental Live Preview" by selecting File->Enable Experimental Live Preview. Now I click live preview button for the same file. Here also I am getting the preview.

Could you follow these same steps and provide a gif or video demonstrating the steps. That would be helpful.

WTF.zip
If I didn't do something right please send a video back showing what I need to do. Thank you

@HunterJB
From the video and snapshots it seems you are setting the mode as xml. To launch the live preview it should be in html mode, not xml mode.
I have also highlighted the section.

OMG! I'm a little pissed that it would start out like that! But it works now! Thank you soooo much!!!! I think I love you...

Closing as solved. Thanks a for the help @sobisht !! :)

Hi, could you add XML support to the live preview feature please?
This would allow to use Bracket for Component Content Management documents based on XML + CSS.
The preview feature is really what makes Bracket stand out compared to other code editors.
By the way, this is a really nice piece of software you guys are building.

HI,
I am facing the issue. I am using the html file. I am not able to view the result. This is properly working in Wifi access but when I access through the LAN connection it is not working. I am locating the file in my hard drive location. I am facing this issue in MAC Os.
Pls suggest me how can I resolve the issue.
Thanking you.


SPFX Form Customizer - Is there a function to get the default rendering and just modify one field?

What type of issue is this?
Question
What SharePoint development model, framework, SDK or API is this about?
💥 SharePoint Framework
Target SharePoint environment
SharePoint Online
What browser(s) / client(s) have you tested

[ ] 💥 Internet Explorer
[ ] 💥 Microsoft Edge
[ ] 💥 Google Chrome
[ ] 💥 FireFox
[ ] 💥 Safari
[ ] mobile (iOS/iPadOS)
[ ] mobile (Android)
[ ] not applicable
[ ] other (enter in the "Additional environment details" area below)

Additional environment details

browser version: Edge 114.0.1823.82 (Official build) (64-bit)
SPFx version: 1.17.4
Node.js version: v14.19.3

Issue description
Right now, I'm working on a SharePoint project with a challenging requirement.
The project focusses on document management. There is one requirement to have a special field within the document library. This filed should become a Text-Input plus two numeric fields within the edit form. The list holds more than 20 other fields, that do not need to be modified.
AFAIK I cannot change the fields edit form with field customizers. That is why I'm looking into form customizers. Right now I'm wondering, if there is any default function available to render the other 20+ fields and just provide an "override" for the field in question. Is this possible or do I need to implement custom components for any other field as well?

I think a found a partial solution to my question in PNP dynamic forms. https://pnp.github.io/sp-dev-fx-controls-react/#getting-started
Now I need to figure out on how to change on field or disable on field to render a custom one.

@andikrueger - there is no OOB function for that.
But yes - using PnP DynamicForm is a good solution. You can specify fieldOverrides property to provide your custom renderer for a specific field.


Error in using output of autokeras.image_supervised.load_image_dataset

Bug Description

I have folders data/train and data/val that contain jpg images. I created two labels.csv (in data/train and data/val) file that contains two columns: 'File Name' and 'Label', and filled them with the labels of their respective image sets. I can successfully run the following code:
from autokeras.image_supervised import ImageClassifier, load_image_dataset

x_train, y_train = load_image_dataset(csv_file_path="data/train/labels.csv",
                                      images_path="data/train")
print(x_train.shape)
print(y_train.shape)

x_val, y_val = load_image_dataset(csv_file_path="data/val/labels.csv",
                                    images_path="data/val")

with the output being:
(13750,)
(13750,)

I run into errors when trying to use x_train. When executing the following code:
if __name__ == '__main__':

    clf = ImageClassifier(verbose=True)
    clf.fit(x_train, y_train, time_limit=12 * 60 * 60)
    clf.final_fit(x_train, y_train, x_val, y_val, retrain=True)
    y = clf.evaluate(x_val, y_val)
    print(y)

the following error is raised:
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
~/Software/anaconda3/lib/python3.6/site-packages/autokeras/image_supervised.py in _validate(x_train, y_train)
     24     try:
---> 25         x_train = x_train.astype('float64')
     26     except ValueError:

ValueError: setting an array element with a sequence.

During handling of the above exception, another exception occurred:

[OUTPUT TRUNCATED]

The output of print(x_train) is:
array([array([[[169, 173, 174],
        [169, 173, 174],
        [169, 173, 174],
        ...,
        [187, 187, 179],
        [184, 183, 178],
        [182, 181, 176]],

       [[169, 173, 174],
        [169, 173, 174],
        [169, 173, 174],
        ...,
        [184, 184, 176],
        [182, 181, 176],
        [180, 179, 174]],

       [[168, 172, 171],
        [168, 172, 171],
        [168, 172, 171],
        ...,
        [183, 183, 175],
        [180, 179, 174],
        [179, 178, 173]],

       ...,

[OUTPUT TRUNCATED]

       [[ 42,  83, 111],
        [ 40,  75, 103],
        [ 69,  96, 123],
        ...,
        [238, 239, 234],
        [237, 238, 233],
        [238, 239, 234]],

       [[ 45,  86, 114],
        [ 49,  84, 112],
        [ 79, 106, 133],
        ...,
        [238, 239, 234],
        [237, 238, 233],
        [238, 239, 234]],

       [[ 40,  81, 109],
        [ 51,  86, 114],
        [ 84, 111, 138],
        ...,
        [238, 239, 234],
        [237, 238, 233],
        [238, 239, 234]]], dtype=uint8)], dtype=object)

Reproducing Steps
Steps to reproduce the behavior:

Step 1: Import dataset using autokeras.image_supervised.load_image_dataset from a folder with jpg images and a labels.csv file.
Step 2: Execute clf = ImageClassifier(), clf.fit(x_train, y_train).

Expected Behavior

I expected training on the dataset to start.
Setup Details

OS type and version: Ubuntu 18.04.1 LTS
Python: 3.6.5
autokeras:  0.2.14
scikit-learn: 0.19.2
numpy: 1.14.5
keras: 2.2.2
scipy: 1.1.0
tensorflow: 1.10.1
pytorch: None

I'm getting the same problem using autokeras on colab.
When I brought in the mnist example, after the reshape x_train was (60000, 28, 28, 1), but using load_image_dataset on jpgs is also giving me a 1D array of arrays. I'm unsure how to reshape it properly.

I think I've figured out why I was running into problems. The problem was that my jpg images were not of the same resolution.
Fix?
I normalized my images to the same resolution by adding the following lines, and a new option normalized_size, to autokeras.image_supervised.read_images:
import cv2
...
                img = cv2.imread(img_path)
                img = cv2.resize(img, dsize=normalized_size, interpolation=cv2.INTER_CUBIC)

Executing the following lines results in the desired output:
x_train, y_train = load_image_dataset(csv_file_path="data/train/labels.csv",
                                      images_path="data/train", normalized_size = (100,100))
print(x_train.shape)
print(y_train.shape)

Output:
(13750, 100, 100, 3)
(13750,)

Running the training then proceeds without error.
Pull Request
I think requiring that the images be of the same resolution is good behavior, as I've read that usually speeds up the training. I think at least one of the following functionality could be added to autokeras:

I think it is useful having an option in autokeras.image_supervised.load_image_dataset, or perhaps a separate function, to normalize an image dataset to the same resolution. However, there are possible problems that could occur. Reducing an image's resolution could cause data loss, and, depending on the way the resolution is changed, the images might be changed too much and it might throw off the training. Note that my knowledge in this area is very limited.
help(autokeras.image_supervised.load_image_dataset could include a line indicating that images need to be of the same size.
Allow image datasets that have multiple resolutions. This is probably the most desirable, but I foresee that it would require changes to functions outside of image_supervised.py.

If one (or more) of the options seems desirable, I could code in the relevant sections and submit a pull request.
Changed Functions
For reference, the following are the changed functions in image_supervised.py:
def read_images(img_file_names, images_dir_path, normalized_size = None):
    """Read the images from the path and return their numpy.ndarray instance.
        Return a numpy.ndarray instance containing the training data.

    Args:
        img_file_names: List containing images names.
        images_dir_path: Path to the directory containing images.
    """
    x_train = []
    if os.path.isdir(images_dir_path):
        for img_file in img_file_names:
            img_path = os.path.join(images_dir_path, img_file)
            if os.path.exists(img_path):
                #img = ndimage.imread(fname=img_path)
                img = cv2.imread(img_path)
                img = cv2.resize(img, dsize=normalized_size, interpolation=cv2.INTER_CUBIC)
                if len(img.shape) < 3:
                    img = img[..., np.newaxis]
                x_train.append(img)
            else:
                raise ValueError("%s image does not exist" % img_file)
    else:
        raise ValueError("Directory containing images does not exist")
    return np.asanyarray(x_train)

def load_image_dataset(csv_file_path, images_path, normalized_size = None):
    """Load images from the files and labels from a csv file.

    Second, the dataset is a set of images and the labels are in a CSV file.
    The CSV file should contain two columns whose names are 'File Name' and 'Label'.
    The file names in the first column should match the file names of the images with extensions,
    e.g., .jpg, .png.
    The path to the CSV file should be passed through the `csv_file_path`.
    The path to the directory containing all the images should be passed through `image_path`.

    Args:
        csv_file_path: CSV file path.
        images_path: Path where images exist.

    Returns:
        x: Four dimensional numpy.ndarray. The channel dimension is the last dimension.
        y: The labels.
    """
    img_file_name, y = read_csv_file(csv_file_path)
    x = read_images(img_file_name, images_path, normalized_size = normalized_size)
    return np.array(x), np.array(y)

Awesome, great work! I figured it was probably due to the different resolutions. I used this code:
def proc_images():
"""
Returns two arrays:
x is an array of resized images
y is an array of labels
"""
drone="yes"

x = [] # images as arrays
y = [] # labels Infiltration or Not_infiltration
WIDTH = 128
HEIGHT = 128

for img in images:
    base = os.path.basename(img)
    finding = labels["Label"][labels["File Name"] == base].values[0]

    # Read and resize image
    full_size_image = cv2.imread(img)
    x.append(cv2.resize(full_size_image, (WIDTH,HEIGHT), interpolation=cv2.INTER_CUBIC))

    # Labels
    if drone in finding:
        #finding = str(disease)
        finding = 1
        y.append(finding)

    else:
        #finding = "Not_" + str(disease)
        finding = 0
        y.append(finding)

return x,y

which I borrowed from a kaggle kernel: https://www.kaggle.com/crawford/resize-and-save-images-as-numpy-arrays-128x128
to resize the images, and this worked for autokeras. It made me think if there is any automated, or in principle method to find the optimal resizing parameters for any arbitrary set of images, as you rightly point out that resizing can result in information loss or distortion. I don't have a solution for that yet but if I find one I will report it.

The following changes to image_supervised.py worked for me. Use imageio.imread to bring in images and skimage.transform.resize to make all images the same dimension by giving (x, y, z) where z=channels.
I tried to make a PR but I'm a noob and I think I did it in the wrong place.
def read_images(img_file_names, images_dir_path, normalized_size=None):
    """Read the images from the path and return their numpy.ndarray instance.
        Return a numpy.ndarray instance containing the training data.

    Args:
        img_file_names: List containing images names.
        images_dir_path: Path to the directory containing images.
        normalized_size: tuple specifying resize shape (x, y, z), z = channels
    """
    x_train = []
    if os.path.isdir(images_dir_path):
        for img_file in img_file_names:
            img_path = os.path.join(images_dir_path, img_file)
            if os.path.exists(img_path):
                # img = ndimage.imread(fname=img_path)
                img = imageio.imread(img_path)
                img = resize(img, output_shape=normalized_size, anti_aliasing=True)
                if len(img.shape) < 3:
                    img = img[..., np.newaxis]
                x_train.append(img)
            else:
                raise ValueError("%s image does not exist" % img_file)
    else:
        raise ValueError("Directory containing images does not exist")
    return np.asanyarray(x_train)


feat(fdc3): Implement RaiseIntent, AddIntentListener, FindIntent and FindIntentsByContext

Implemented:

RaiseIntent functionality: we register the service to the specific topic and we are listening for the raiseIntent calls from the clients. We are checking if the necessary information is contained by the RaiseIntentRequest message, and after that we are selecting the appropriate Fdc3Apps from both from the running applications (tracked by the ModuleLoader) and from the AppDirectory. To keep the consistency of the raiseIntent, findIntent, and findIntentsByContext we will send back AppIntent type as RaiseIntentResponse, if we found any acceptable app. If multiple AppIntents found then we will send back an error message.
If the AppIntents conatins more than 1 app we will register a service for the originating app to listen for its choice (selected app from the ResolverUI). If it contains just one app, then we will check if it is already running or it needs to be stated to handle the intent. If it needs to be started then we will save the context to a Dictionary, so when the ModuleLoader appropriately started the app, we will pass the context its IntentListener. If the app does not need to be started then we will just publish the Context to its IntentListener.

AddIntentListener proposed functionality: we will subscribe to an appropriate topic (raiseIntent/intent/instanceIdOfHandlingApp), and when an appropriate type of message comes, then the client should handle with its intentHandler, and invoke a registered service on the backend (StoreIntentResult). When it is called it will save the IntentResult to a collection containing the originating app instanceId, and the target instanceId (what called the raiseIntent). If the IntentResolution (result of the raiseIntent) will call its getResult() method, then we will retrieve the IntentResult from this collection.

FindIntent funcionality: searches via the backend for the appropriate apps from both of the running apps and from the AppDirectory with the appropriate query. Returns AppIntent, if multiple AppIntent found, it will retrieve an error message.

FindIntentsByContext funcionality: searches via the backend for the appropriate apps from both of the running apps and from the AppDirectory with the appropriate query. Returns an AppIntent

TypeScript code LGTM


Markdown preview is not showing up

The "Open preview on the side" button opens the preview tab on the right but it's completely blank.
Not sure if it's related or not, but the extensions details in the extension store also do not show up. There's just a blank "details" tab. The "changelog" tab is also empty, while all other tabs work correctly.
I'm using VS Code Server running on Windows as "code-server serve-local --host <IP_ADDRESS>"
Version: 1.70.0
Commit: da76f93349a72022ca4670c1b84860304616aaa2
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36 Edg/105.0.1336.2
Embedder: server-distro

If you run Developer: Toggle developer tools, you see any errors in the developer console?

I don't have this option in the command list:

This is my VS Code Server version - it just updated itself but the preview still does not work:
Version: 1.70.1
Commit: 6d9b74a70ca9c7733b29f0456fd8195364076dda
Date: 2022-08-10T05:53:19.491Z
Browser: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36 Edg/105.0.1336.2

Oh since you're on web, just use the normal browser developer tools to check

Ah okay :D
Yeah, there's an error popping out immediately as I click the "preview" button:

ERR Can't compute sha-256: Error: Can't compute sha-256
at t (http://<IP_ADDRESS>:8000/stable-6d9b74a70ca9c7733b29f0456fd8195364076dda/static/out/vs/workbench/workbench.web.main.js:808:93423)
at new M (http://<IP_ADDRESS>:8000/stable-6d9b74a70ca9c7733b29f0456fd8195364076dda/static/out/vs/workbench/workbench.web.main.js:1359:8386)
at p._createInstance (http://<IP_ADDRESS>:8000/stable-6d9b74a70ca9c7733b29f0456fd8195364076dda/static/out/vs/workbench/workbench.web.main.js:596:1346)
at p.createInstance (http://<IP_ADDRESS>:8000/stable-6d9b74a70ca9c7733b29f0456fd8195364076dda/static/out/vs/workbench/workbench.web.main.js:596:779)
at I.createWebviewElement (http://<IP_ADDRESS>:8000/stable-6d9b74a70ca9c7733b29f0456fd8195364076dda/static/out/vs/workbench/workbench.web.main.js:1359:22081)
at w.show (http://<IP_ADDRESS>:8000/stable-6d9b74a70ca9c7733b29f0456fd8195364076dda/static/out/vs/workbench/workbench.web.main.js:1300:40254)
at w.claim (http://<IP_ADDRESS>:8000/stable-6d9b74a70ca9c7733b29f0456fd8195364076dda/static/out/vs/workbench/workbench.web.main.js:1300:38401)
at Ua.claimWebview (http://<IP_ADDRESS>:8000/stable-6d9b74a70ca9c7733b29f0456fd8195364076dda/static/out/vs/workbench/workbench.web.main.js:1754:3064)
at Ua.setInput (http://<IP_ADDRESS>:8000/stable-6d9b74a70ca9c7733b29f0456fd8195364076dda/static/out/vs/workbench/workbench.web.main.js:1754:2975)
at async a.doSetInput (http://<IP_ADDRESS>:8000/stable-6d9b74a70ca9c7733b29f0456fd8195364076dda/static/out/vs/workbench/workbench.web.main.js:2736:6428)

The same error appears when I open an extension page in the store

in my case I had the wrong language mode selected 😮💨
crtl + shift + P and change language mode I then selected Markdown for .md files and all was good! maybe it helps you, too :v:

I checked and it is set to markdown 😞 Still getting the same error 😞


Support union type as expected type for data.xmldata module.

Description:
$title
Describe your task(s)
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

In the xml, the content type is always string, but in the data.xmldata module we allow it to convert to a expected basic type. According to the union type algorithm, we convert them into a JSON and then use data.jsondata, parseAsType API to convert that into a expected type.
In the JSON, string source must be converted to string always. If the expected type is non-string for string literal then it is an error. But we have to allow this for xmldata module hence we have to introduce another option allowConvertFromString for parseAsType API

While working on this found a blocker https://github.com/ballerina-platform/ballerina-library/issues/6659. I will continue this once fi this.

While working on this found a blocker #6659. I will continue this once fix the issue.

This issue is fixed with https://github.com/ballerina-platform/module-ballerina-data.xmldata/pull/26

Ballerina types represents the XSD instead of a particular XML. Hence we have to support the union cases which are possible in the XSD. Currently preparing the doc for this.

According to our offline discussion, we concluded that we should support union types. The reason is that the data.xmldata module takes an XML source and converts it to a Ballerina record type. Our concern should be whether the provided source can be converted to the expected type.
Case 1: Union case without namespace
Sample 1:
<service>
    <port name="8000">
        <address location="exampleweb1.com" />
    </port>
    <port name="8008">
        <address location="exampleweb2.com" />
        <id>2345</id>
    </port>
</service>

Ballerina types =>
Option 1:
type Service record {|
    (PortA|PortB)[] port;
|};

type PortA record {|
    @xmldata:Attribute
    string name;
    Address location;
|};

type Address record {|
    string location;
|};

type PortB record {|
    @xmldata:Attribute
    string name;
    Address location;
    int id;
|};

Option 2:
type Service record {|
    Port[] port;
|};

type Address record {|
    string location;
|};

type Port record {|
    @xmldata:Attribute
    string name;
    Address location;
    int id?;
|};

Given the above sample, both option 1 and option 2 are valid expected types. The module should allow both cases, but for the XSD of the above XML instance, option 2 is the one we have to generate. At the moment, this needs to be considered when Ballerina supports XSD to Ballerina record generation.
Case 2: Union case with namespace
<A xmlns:ns1="example1.com" xmlns:ns2="example2.com">
    <ns1:port>1</ns1:port>
    <ns2:port>1</ns2:port>
</A>

Option 1:
type A record {|
    (B|C)[] port;
|};

@xmldata:Namespace {
    prefix: "ns1",
    uri: "example1.com"
}
type B record {|
    string \#content;
|};

@xmldata:Namespace {
    prefix: "ns2",
    uri: "example2.com"
}
type C record {|
    string \#content;
|};

Option 2:
type A record {|
    @xmldata:Name {
        value: "port"
    }
    string ns1Port;
    @xmldata:Name {
        value: "port"
    }
    string ns2Port;
|};

@xmldata:Namespace {
    prefix: "ns1",
    uri: "example1.com"
}
type B record {|
    string \#content;
|};

@xmldata:Namespace {
    prefix: "ns2",
    uri: "example2.com"
}
type C record {|
    string \#content;
|};

If we take option 1, it allows you to add sequences of ns1:port and ns2:port. Option 2 allows only one of each of those elements. However, both are valid expected types for the provided XML sample. As mentioned above, this is a concern when generating Ballerina records from the XSD and is not part of this module.
Hence I will resume the union type support.


fix(plugins/plugin-client-common): Change block rerun action button f…

…rom Retry icon to Play icon
Fixes #7696

Description of what you did:

My PR is a:

[ ] 💥 Breaking change
[ ] 🐛 Bug fix
[ ] 💅 Enhancement
[ ] 🚀 New feature

Please confirm that your PR fulfills these requirements

[ ] Multiple commits are squashed into one commit.
[ ] The commit message follows Conventional Commits, which allows us to autogenerate release notes; e.g. fix(plugins/plugin-k8s): fixed annoying bugs
[ ] All npm dependencies are pinned.

/lgtm

/lgtm


Apigility DELETE via COLLECTION

Bug with delete via Collection, json content sent is not injected in $data in deleteList method, need to do hardcode like:
$event = $this->getEvent();
$request = $event->getRequest();
$raw = $request->getContent();
$data = json_decode($raw);

Already reported and in progress.  https://github.com/zfcampus/zf-rest/pull/59

This repository has been closed and moved to laminas-api-tools/api-tools; a new issue has been opened at https://github.com/laminas-api-tools/api-tools/issues/52.


[Bug]: Form validation bug when interacting with the dialog component

Environment
Developement/Production OS: Ubuntu 22.04.3 LTS
Node version: v19.9.0
Package manager<EMAIL_ADDRESS>Radix Vue version: 1.2.4
Shadcn Vue version: 0.8.6
Vue version: 3.3.11
CSS framework<EMAIL_ADDRESS>Client OS: Ubuntu 22.04.3 LTS
Browser: Brave Browser <IP_ADDRESS>

Link to minimal reproduction
https://stackblitz.com/edit/vitejs-vite-wukzt2
Steps to reproduce
Reproduce when click close button
1° - Click on "edit profile" to open dialog
2° - Click on close button the dialog in the upper right corner
Reproduce when click in anywhere dialog body
1° - Click on "edit profile" to open dialog
2° - Click click in anywhere dialog body
Reproduce when switch window
1° - Click on "edit profile" to open dialog
2° - switch windows without interacting with the dialog
Describe the bug
Form validation bug when interacting with the dialog component by pressing Tab, clicking the dialog body or the close dialog button. It seems that when I do one of these actions it is as if I were clicking submit
Toast didn't work either for some reason.
Expected behavior
The form should not validate the form if I don't fill it out or click the submit button. It is validating when I do any action. Without even interacting with the inputs.
Conext & Screenshots (if applicable)
No response

vee-validate behavior is different than react-hook-form
vee-validate is more aggressive and runs on blur, change, input, v-model update you have to configure the behaviour with

configure composable
FormField props like :validateOnBlur="false"

Also radix-vue Dialog will focus the first focusable element when Dialog is open so onBlur will call validation function

https://stackblitz.com/edit/vitejs-vite-a1gaan?file=src%2FApp.vue

Man we need more documentation on shadcn-vue

@sadeghbarati Thanks, that helped me


fix image path to organization name

What type of PR is this?
/kind feature

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

/lgtm

/lgtm

/woof


Make protocols pluggable

A server protocol just need to implement a build(root_service) class method that will add its service to the root service.
A client protocol will need to inherit from CarbonClientFactory and implement clientProtocol().

This code was not tested with amqp and manhole because there are no unit tests and I do not have the infrastructure to test these.
First step towards #275.

Will fix the tests today or tomorrow, but would love a first high level review :)

@iksaif at a high-level it LGTM.

Same here. Looking good, but I didn't test it.

Will deploy it on our test setup on monday.

Not good PR, @iksaif ?

It's good, but I messed up with my git .. I'll re-upload it shortly

This has been deployed in our test environment without issue.


Managed Identity (user assigned)

Is it possible to grant a Managed Identity permissions in a different tenant?
BR
Christian

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

ID: cdfb9148-5d81-f65e-3cb3-aa7c5eb5867b
Version Independent ID: 5051db4d-83d1-a230-6fcb-9238a384961d
Content: Authenticate with managed identities - Azure Logic Apps
Content Source: articles/logic-apps/create-managed-service-identity.md
Service: logic-apps
GitHub Login: @kevinlam1
Microsoft Alias: klam

Hi @cktechative - Thank you for your feedback! We will review and update as appropriate.

@cktechative Apologoeis for the long delay in response. Logic Apps currently can be enabled with system-assigned managed identity which is created on the same tenant trusted by your subscription where your service is running on and it can not access resources from another tenant/subscription resource.
We will now proceed to close this thread for now. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Reliability cutoff depends on the unit of the topography

Attached is a minimal notebook demonstrating this bug.
@pastewka this is a big issue. Do you have an idea where this can come from and who should look at it ?
unit_issue_with_nans_and_sampling.html.zip

I'll check what is going on. This sounds critical.

This is a numerical issue. It goes away if I increase the tolerance of brentq here: https://github.com/ContactEngineering/SurfaceTopography/blob/c7dbaab13608748394054fdf9da1176c6cbfbbd2/SurfaceTopography/Generic/ScanningProbe.py#L88 ...but this makes things slower

We should normalize by bandwidth


Renamed enum values crash at runtime when updated from Prisma 5.5.0 to 5.8.1

Bug description
I have multiple tables with renamed enums. I use introspection
How to reproduce

and
Expected behavior
No error on the update
Prisma information

model Logo {
  logoID        Int             @id @default(autoincrement()) @map("idLogo") @db.UnsignedSmallInt
  category      LogoCategory?   @map("skupina")

  @@map("loga")
}

enum LogoCategory {
  food      @map("potraviny")
  furniture @map("nábytek")
  hobby

  @@map("loga_skupina")
}

await prisma.logo.findMany();

Environment & setup

OS: Windows, Linux
Database: MySQL
Node.js version: v20.10.0

Prisma Version
prisma                  : 5.8.1
@prisma/client          : 5.8.1
Computed binaryTarget   : windows
Operating System        : win32
Architecture            : x64
Node.js                 : v20.10.0
Query Engine (Node-API) : libquery-engine 78caf6feeaed953168c64e15a249c3e9a033ebe2 (at<EMAIL_ADDRESS>Schema Engine           : schema-engine-cli 78caf6feeaed953168c64e15a249c3e9a033ebe2 (at<EMAIL_ADDRESS>Schema Wasm             : @prisma/prisma-schema-wasm 5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2
Default Engines Hash    : 78caf6feeaed953168c64e15a249c3e9a033ebe2
Studio                  : 0.497.0
Preview Features        : tracing

prisma                  : 5.5.2
@prisma/client          : 5.5.2
Current platform        : windows
Query Engine (Node-API) : libquery-engine aebc046ce8b88ebbcb45efe31cbe7d06fd6abc0a (at<EMAIL_ADDRESS>Schema Engine           : schema-engine-cli aebc046ce8b88ebbcb45efe31cbe7d06fd6abc0a (at<EMAIL_ADDRESS>Schema Wasm             : @prisma/prisma-schema-wasm 5.5.1-1.aebc046ce8b88ebbcb45efe31cbe7d06fd6abc0a
Default Engines Hash    : aebc046ce8b88ebbcb45efe31cbe7d06fd6abc0a
Studio                  : 0.494.0
Preview Features        : tracing

What crash or error are you getting, when exactly?

PrismaClientUnknownRequestError and details:
Error occurred during query execution:
ConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Server(MysqlError { code: 3988, message: "Conversion from collation utf8mb4_general_ci into cp1250_czech_cs impossible for parameter", state: "HY000" })), transient: false })
    at si.handleRequestError (node_modules/@prisma/client/runtime/library.js:125:7007)
    at si.handleAndLogRequestError (node_modules/@prisma/client/runtime/library.js:125:6151)
    at si.request (node_modules/@prisma/client/runtime/library.js:125:5859)
    at async l (node_modules/@prisma/client/runtime/library.js:130:9805)
    at async /data/rita/apps/server/main.js:10138:19 {
  clientVersion: '5.8.1'
}

It occurred for every table (4 as observed from Sentry, during the short period it ran in prod) with a renamed enum.

The mention of the collation cp1250_czech_cs implies that the database is customized some way that Prisma would not do.
Can you maybe log the query that is triggering this error with both versions of Prisma so we can see the difference?
And just to be sure, you did not "rename" the enum between the Prisma versions, but this was "mapped" with @map before and after the upgrade, correct?

@janpio It is true; all of my databases use cp1250_czech_cs, but it was not a problem until now. I did not change anything in DB during the upgrade nor downgrade.
The program crashed before logging the error and I cannot enable logs on the DB.

To be honest, I forgot I had almost the same issue last year. It is why I got stuck to 5.5.x build... #21967

I have moved your finding there and I am closing this issue.


skylighting-0.2

Adding an upper bound on skylighting in Stackage Nightly for:
skylighting-0.2 (John MacFarlane<EMAIL_ADDRESS>@jgm) is out of bounds for:

[ ] pandoc-<IP_ADDRESS> (>=<IP_ADDRESS> && < 0.2). John MacFarlane<EMAIL_ADDRESS>@jgm. @jgm. Used by: library, executable, test-suite

I note that this is already fixed in jgm/pandoc.git.


No clear documentation and readme is not very helpful

I was trying to integrate Juno to Carbonable Indexer and use it as data source but I discovered that Juno has no documentation. The readme is not readable and does not address a lot of issues. I think Juno should have a comprehensive documentation or  a detailed readme. I can help with that if the team can provide more details.

Hey! Can you share missing issues that should be covered? Also, you might find our docs here: https://juno.nethermind.io

The missing issue is that there should be a detailed step for integrating Juno with other services to use a data source. Although, it is pretty straightforward for some of us, I think is it something a lot of people will be interested in.

@fishonamos 👋
Thank you for opening this issue. I agree that the current docs aren't very detailed, and beginners can get lost, so https://github.com/NethermindEth/juno/pull/1857 resolves things.
It also includes snippets to interact with a node using starknet.js, starknet.go, and starknet.rs aside cURL and the WebSocket server.
I'll be closing this issue. Feel free to open new ones to suggest more improvements in the future 🎉


Update documentation

Update merchant documentation to reflect the new code changes
Update jupyter notebook, so that code examples work with the current code base
Add a new jupyter notebook, which explains how to build a merchant on top of the merchant base class
Fixed the abstract base class. Previously it was possible to instantiate the abstract class without getting an error.

Loving the notebooks!


 It provides functionality to manage chats associated with trades, including creating chats, uploading attachments, and updating message statuses.
Actions

index:

Purpose: Retrieves and lists all chats associated with a specific trade.
Details:

Uses @trade.chats.includes(:attachment_attachment) to fetch chats with their attachments.
Renders the chats using P2pChatSerializer.

create:

Purpose: Creates a new chat message for the trade.
Details:

Builds a new chat message with @trade.chats.new(chat_params).
If the chat is saved successfully:

Calls broadcast_message to broadcast the new chat message via ActionCable.
Enqueues a background job P2pApi::Chat::CreateJob to process the chat asynchronously.

If saving fails, returns a 400 Bad Request with errors.

upload_attachment:

Purpose: Creates a chat message with an attachment.
Details:

Similar to create, but also handles file attachment:

Attaches the file if params[:file].present?.
Enqueues a background job P2pApi::Chat::UploadAttachmentJob to process the attachment asynchronously.

Returns a 400 Bad Request with errors if saving fails.

update_read_messages:

Purpose: Updates the status of specified chat messages to "read".
Details:

Finds chats by IDs provided in params[:chat_ids].
Updates is_read to true and sets read_at to the current time.
Enqueues a background job P2pApi::Chat::UpdateJob to process the update asynchronously.
Responds with 200 OK on success.

Private Methods

broadcast_message:

Purpose: Broadcasts the newly created or updated chat message to a specific channel.
Details:

Uses ActionCable to broadcast the message to<EMAIL_ADDRESS>Includes message content, profile ID, trade ID, chat ID, creation timestamp, and attachment URL if present.

chat_params:

Purpose: Permits and prepares chat parameters for strong parameter validation.
Details:

Permits :message and :trade_id, and merges profile_id from the current user.

find_trade:

Purpose: Finds and sets the trade based on params[:trade_id].
Details:

Fetches the trade using P2pTrade.find(params[:trade_id]).

Summary

Index: Fetches and displays chats for a specific trade.
Create: Creates a chat message and broadcasts it.
Upload Attachment: Creates a chat message with an attachment and processes it.
Update Read Messages: Marks specified chats as read and updates their status.

This controller leverages both immediate and background processing to handle chat operations efficiently and ensures that updates are broadcasted in real-time.


pageserver: drop layers after shard split in GC

Problem
This is a simpler precursor to #https://github.com/neondatabase/neon/pull/7531 -- while rewriting layers is relatively complex, dropping them entirely is simple.
When the shard stripe size is comparable to the layer size, we should be able to drop a large proportion of ancestor layer data this way, without having to rewrite anything.
TODO:

[ ] Careful testing
[ ] Consider proactively invoking GC during split, in the background somehow to avoid holding up the split on potentially slow GC.

Summary of changes
Checklist before requesting a review

[ ] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
[ ] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

[ ] Do not forget to reformat commit message to not include the above checklist

Experiment on a real case with 8 shards:

From a ~4.2TB physical size, the condition in this PR dropped physical size down to ~1.6TB (the tenant has had a bunch of writes since it was split, so the actual cleanup ratio of old data is probably better than that makes it sound).
I had to hack gc_timeline to skip its latest_gc_cutoff >= new_gc_cutoff to make it actually GC all the timelines.


Startup page

Add Header and Headline sections on the first mobile version project.

Apply changes after review on README.md,  index.html, and style.css files


Templated message unsubscribe + convenience wrapper functions

I added a templated unsubscribe for messages and added convenience functions for setting values in actuator Feedback and service Heartbeat messages.

Codecov Report

Merging #112 (631084e) into master (ef25d69) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #112   +/-   ##
=======================================
  Coverage   85.64%   85.64%
=======================================
  Files          17       17
  Lines         641      641
=======================================
  Hits          549      549
  Misses         92       92

Impacted Files
Coverage Δ

src/ArduinoUAVCAN.ipp
95.45% <ø> (ø)

Continue to review full report at Codecov.

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


Evaluation merge into develop

evaluation branch contains code to validate the summaries generated by the summarizer. testing is slow as of now so no guarantees as to whether it works or not, unfortunately.

It works now, no runtime errors & the scores makes sense.


How to modify return key to send

I need customize keyboard, modify return key to send key?

+1

Closing as a duplicate of #54.


Add encrypted message indicator

It would be great if the messages sent or received in encrypted form were distinguishable from regular messages.

I'm actively working on it, and I'm optimistic it will be included in the 0.7.0 version.
Thanks for the feedback!

https://github.com/PrivacyForge/ChatGuard/releases/tag/v0.7.0-beta
i added a basic indicator emoji (🔒) to indicate the encrypted message with non encrypted message


Compile trouble

Can i have a clear   guide to compile on ubuntu 16 lts  please

Hi there,
Personally, I would be using a newer release of ubuntu to be attempting this.
18.04 for instance.
The guide for the build is pretty straight forward, although you will likely need to install Gradle also.
Can you explain the exact errors/issues you are facing?

@ ./node_modules/sylvester/lib/node-sylvester/matrix.js 873:8-25
@ ./node_modules/sylvester/lib/node-sylvester/index.js
@ ./node_modules/apparatus/lib/apparatus/clusterer/kmeans.js
@ ./node_modules/apparatus/lib/apparatus/index.js
@ ./node_modules/natural/lib/natural/classifiers/logistic_regression_classifier.js
@ ./node_modules/natural/lib/natural/index.js
@ ./node_modules/sentencer/index.js
@ ./src/containers/SetupPage.js
@ ./src/containers/App.js
@ ./src/index.js
@ multi ./src/index.js
ANDROID_HOME=/usr/lib/android-sdk/
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin/java
Requirements check failed for JDK 1.8 or greater

I always use the official Oracle JDK when performing our builds.
I would remove OpenJDK and install the official Oracle JDK 1.8

Can you please let me know the exact commands you are executing in order.
Also are you building for Android - this is what I am assuming.

cordova run android
cordova build --release android

Solved this problem ... now have to solve the android-sdk  licenses problem


gltf import error

thread 'tokio-runtime-worker' panicked at 'range end index 75777 out of range for slice of length 0', crates\model_import\src\gltf\gltf_import.rs:129:38
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Got this error while trying to import a .gltf file
The .gltf file in question is zipped and attached here:
cliffmesh01.zip

Blend file:
cliffmesh01 blend.zip

@droqen .gltf doesn't generally work, you need to use .glb.


Is it possible to format / style cells when streaming a XLSX file?

Formatting and styling works in a typical situation
  const workbook = new ExcelJS.Workbook();
  const worksheet = workbook.addWorksheet('My Sheet');

  // Add headers
  worksheet.addRow(["Column 1", "Column 2", "Column 3", "Column 4"]).eachCell((cell) => {
    cell.fill = {
      type: 'pattern',
      pattern: 'solid',
      fgColor: { argb: '1a5896' }, // Yellow color
    };
    cell.font = { bold: true, color: { argb: 'F8F9FA' }, }; // Make text bold
  });

However while streaming a file to a HTTP response I am unable to change styling
  const workbook = new exceljs.stream.xlsx.WorkbookWriter({stream: response});
  const worksheet = workbook.addWorksheet('My Sheet');

  // Add headers
  worksheet.addRow(["Column 1", "Column 2", "Column 3", "Column 4"]).eachCell((cell) => {
    cell.fill = {
      type: 'pattern',
      pattern: 'solid',
      fgColor: { argb: '1a5896' }, // Yellow color
    };
    cell.font = { bold: true, color: { argb: 'F8F9FA' }, }; // Make text bold
  });

How can I change style of cells while streaming?

I've tested it, a large download that took 2 minutes without formatting takes 5 minutes with formatting!


style optimize

when using language: zh, the .day-headerwill be break， the last word will be droped.
using this to fixed it.
span.cell.day-header {
    white-space: nowrap;
  }

support added in 1297552


[WIP] Add a command to decommission a specific worker

What changes are proposed in this pull request?
A new command to decommission a single worker.
Why are the changes needed?
https://github.com/Alluxio/alluxio/issues/15343
https://github.com/Alluxio/alluxio/pull/14000
Thanks for PR 14000, we want to give a more detailed version.
Does this PR introduce any user facing changes?
Yes, I'll add them in the future.
Please list the user-facing changes introduced by your change, including

change in user-facing APIs
addition or removal of property keys
webui

It looks like this PR has some duplication with the #15949 and #15956，Can you take a look and give some advice?

Thanks for advice of @qian0817😁👍! Today I have no time to modify more codes, I will deal with your comments this morning.

@dbw9580 @YichuanSun PTAL there's another existing PR with a similar ask (but not identical): https://github.com/Alluxio/alluxio/pull/15155
Just wanted to make sure we don't end up having multiple commands with overlapping functionality.

After rerethinking😅, the reboot method in AlluxioWorkerProcess is not thread-safe, I'll correct it.

Is there design doc for this feature, for some of the implemented code I don't understand why.

Is there design doc for this feature, for some of the implemented code I don't understand why.

https://docs.google.com/document/d/1GDVghn_9AOViOoSDvt1sqR8tSdyUmZ6D8xKN9YmhRu0/edit#

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in two weeks if no further activity occurs. Thank you for your contributions.

Do not stale it, I will improve this feature in the future.


[proposal] [triage] Add "Browser Specific" Label

Hi all,
some Flutter Web issues appear to be specific to the browser
(Safari, Internet Explorer, Samsung Browser ...);
a browser specific might help to identify and search those issues
Thank you

We've been successful at simply searching for "firefox" and "safari". Does it not work for you?

Hi @yjbanov
my personal experience searching by keyword in Github isn't always positive,
finding it not always accurate or reliable;
if the suggested label is not useful for the team I'll close this issue.
Thanks

@iapicca , reviewed proposal, everyone agrees. Please feel free to add "browser: safari" etc.. for common browser issues being reported. Please don't use icon, makes it hard to search.

@ferhatb
I've just created labels for safari firefox and ie
thank you


Invalid fork version for sync committee

Sync committee messages and aggregates for the last slot prior to a change of hard fork are signed with the incorrect fork version.

Fixed in #120.


[FR] Request long press to spped up the playback.

[REQUIRED] Use case description
Add support for change the speed for long press.
Proposed solution
Add touche event listener for ControllerView, when down speed up, when up or cancel set the speed to pre.
Alternatives considered
If there is a way to config the long press speed is better.

I'm afraid this level of customization is outside the intended scope of our UI components, which are meant to offer a UI for relatively simple playback use-cases, and so we're not going to implement this change in the library.
From https://developer.android.com/guide/topics/media/ui/customization:

For any further customization, app developers are expected to implement their own UI components.

But the speed is hardcode in media3 is from 0.25x to 2x,
The string array resource fro exo_controls_playback_speeds, if I want to enpand to 3.0x, I should define my exo_controls_playback_speeds string array to override the media3 resources?


Fix "method_lines" issue in generators/app/writing/main.js

Function exports has 43 lines of code (exceeds 25 allowed). Consider refactoring.
https://codeclimate.com/github/C0ZEN/generator-altran-angular/generators/app/writing/main.js#issue_5a115759a067170001000059

Fixed with 0.1.4.
See the CHANGELOG.md for more details.


zip files contain some MacOS detritus

For example .DS_Store files in SVG_ChartMarkers.zip:
They are almost harmless (https://apple.stackexchange.com/questions/437549/are-there-privacy-risks-in-sharing-the-macos-ds-store-files), but do actually take a significant amount of space relative to the images themselves.

Attempted solution: compress collections of files, rather than a whole folder. Believed fixed.

Fixed by commit 03d86c6.

That didn’t work. More effort needed. Note to self: link.


blaze_event property shall be a plain object

Version 1.7.1
Hi and thank you for this great job.
I have a problem using blaze_event. I do it the same as provided on the documentation :
Template.person.viewmodel({
 doSomething: function() {
  // Do something
  },
  blaze_events: {
    'click #fancyButton': function() {
    Template.instance().viewmodel.doSomething();
   }
 }
});

Indeed, hooks.coffee  61 & 62th line are :
 if this.viewmodel.blaze_events
    template.events this.viewmodel.blaze_events()

So to make it work, I have to replace the blaze_event property as follow :
  blaze_events: function() {
    return {
        'click #fancyButton': function() {
        Template.instance().viewmodel.doSomething();
   }
}

Ouch, that was embarrassing. Upgrade to 1.7.2
Thanks for the heads up.


(REQUEST) Gekka Ryouran Romance ( PSP ) /月華繚乱ROMANCE

I would like to request a script for this game. Thank you.

id like to request it too pls


BarList component no longer works within server components - Next.js 14

Hello!
#948 introduced a property called onValueChange to the BarList component:
https://github.com/tremorlabs/tremor/blob/bd6566b814d907e130b6827194def10b5bc3661f/src/components/vis-elements/BarList/BarList.tsx#L97-L99
Before upgrading to v3.14.1, I used to render a BarList directly from a server component in Next.js 14, but with the current version, an error is thrown, as a function can't be serialized.  In this case, the conflicting function is actually the argument to the onClick prop.
Even though my workaround is extremely simple (just create a new wrapper file with the "use client" directive on top, and export the same component), I think it would be nice to either annotate this component with "use client" as well, or to somehow fall back to a client component only when the prop onValueChange is not undefined, allowing it to be used directly within server components.
Thanks for the great work on this amazing library!

Hi @viantirreau, very good catch! Completely missed that. Thank you very much for the hint. Will make according changes asap!

Hi @viantirreau! Thank yor for reaching out and creating this detailed report. We decided to mark it as a client component.
In that note: We recently launched Tremor Raw, a copy & paste library for React components. Here we have a new version of the BarList, where you have full control over this. Let me know what you think, happy coding ⌨

Wow, Tremor Raw looks amazing. Great escape hatch for handling more customizations!
Huge thanks @severinlandolt & team!


[release-1.3] Allow vmexport to have names longer than 63 characters

Manual backport of #12659
NONE

/retest-required

/approve

/lgtm


how to caculate the rate between BANDWIDTH Resource Amount and Staked Asset	Amount

I want 100 BANDWIDTH , how many Assets should be Staked ? How to query it ?
such as a pic below:

You can get the rate by calling tronWeb.trx.getAccountResources. How many bandwidth you can get by staking 1 trx is the result of TotalNetLimit/TotalNetWeight.

Thanks. I get it