Upcoming Events Modal (Admin)

The upcoming events have 2 different modals for each event however they both display the same text.

No longer needed


[DOCS] changelog: mark untyped-type-import as breaking

Summary:
This causes new errors for my project, which is understandable since
that’s the point of the change, but historically these things have been
called out at the top of the changelog to make upgrading easier.
wchargin-branch: changelog-untyped-type-import-breaking

Thanks!


Multiline content in Timeline plugin

Hello @RobertoPrevato, first of all congratulations for the great plugins! those are just amazing!
I'm now playing around with the timeline plugin, and just figured out that multi lined content is only possible by typing <br/> inside the content.
I would expect that the following snippet renders to multiple lines, as per https://yaml-multiline.info
- content: |
    Lorem ipsum
    dolor sit amet,
    consectetur adipiscing elit.
  icon: ':fontawesome-solid-gem:'
  sub_title: 2022-Q2
  title: New features

But it renders to a single one:

I'm not sure whether this is the intended behaviour or not, but raising it up here just in case.
Thanks again for the beautiful plugins.
Regards!

Hi @marcemv90,
Thank You for your kind words and for opening this issue. You have a very good point!
As you may already know, this is a common issue in HTML, since carriage returns ("\r\n" or "\n" characters are collapsed by default in most HTML elements).
The good news is that my Python code relies on PyYAML and the built-in json package to parse YAML and JSON, so carriage returns are maintained. I didnt verify, yet, but I also expect that the library used to generate HTML doesnt remove carriage returns.
There is something missing in the CSS rules, though. Can you please try to apply the following change to the CSS file (either using a dedicated css file, or modifying the one provided with these plugins)?
.nt-timeline .nt-timeline-content {
    white-space: pre-line;
}

+.nt-timeline .nt-timeline-content {
+    white-space: pre-line;
+}

And let me know here if it helps? We can include this rule in the CSS file.

Hi @RobertoPrevato, it works like a charm 🚀


prepare enabling participation as PR

Currently, master is the version where basically all Kusama interaction read/write is disabled. The following stage should be prepared as PR's to master and they will only be merged once CI passes.
PR: enable participation
to be merged after registering crowdloan and testing a contribution with local deployment

Can we have a quick call about this during the week? Thank you!

fixed by #34


Feature/rifex 82 Generic item component in multi resolver table

This PR aims to include the next:

A generic component with an icon that hosts an edit / delete action
The edit action may render any children passed to the component
The multi resolver table now uses this component to render the resolutions
The code has been cleaned up after this change
A dummy component with an input and a submit button has been added

@JONAF2103 I performed the changes on the PR, now both components are Class components, and use PropTypes in a static manner.


Cannot find sbt-maven-plugin

sbt report that...

Got the same issue
sbt 0.13.6
This is in my plugin file
resolvers += "Sonatype snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/"
addSbtPlugin("com.github.shivawu" % "sbt-maven-plugin" % "0.1.2")
Cannot find the plugin

The same issue is happening with me. :(

I was able to get it to work using
sbt.version=0.13.8
resolvers += "Sonatype snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/"
addSbtPlugin("com.github.shivawu" % "sbt-maven-plugin" % "0.2.0-SNAPSHOT")


Add translations: Portuguese (Portugal)

@ViPeR5000 I'm approaching a release point -- I've re-numbered, so please use the v5.0.0 branch .

Closing this old one, since we now have: https://github.com/dermotduffy/frigate-hass-card/pull/1038


DatePicker: VR implementation changes

DatePicker: VR implementation changes
Classic

VR

This Icon looks a lot bigger than the one in the design, is this due to some pending change in another component?

Should hover precede over the selected color when it's both hovered and selected? It's not on the design, but i think it feels a bit weird, maybe check with the designer?


Suggestions for improving dev-set performance.

(I apologize if this question is better suited for StackOverflow, but I figure posting it here will reach the right audience in a shorter amount of time.)
I'm training this CTC-cost model on the Librispeech "train-other-500" dataset, which contains 500 hours of speech audio+transcripts. I'm using the "dev-other" data set for development, which is apparently a more challenging audio set to model.
I trained the model over 20 epochs and have provided the distribution of the costs below.

The weights are updated according to Nesterov momentum.
Since the validation performance plateaus at around iter=25000, I decided to checkpoint the model here and continue running the model using an exponential learning-rate decay schedule. The learning rate is decreased after each epoch (starting from iter=25000). The CTC costs using this learning-rate decay schedule are shown below after a few epochs:

Unfortunately, this strategy doesn't appear to improve the model performance. Does anyone have any suggestions on how to improve the model other than what I've described above?

From the looks of it, your model seems to have high variance. You should try reducing the initial learning rate, add in regularization (dropout/augment with noise) or play with the model architecture if these ideas don't work.

You can also try increasing the data you're training on. By default the max wav length is set to 12 seconds (https://github.com/baidu-research/ba-dls-deepspeech/blob/master/data_generator.py#L53-L54) which excludes a good portion of the data in the LibriSpeech corpora. Longer utterances most likely will require more memory usage though.


Porting code examples from flecs?

Hello,
Thank you for making this wrapper happen.
I’m interested in this project, I’ve been trying to re-implement some of the C examples from the flecs repo.
I don’t have much so far, but it’s a start.
Most of my examples don’t perfectly match the output of the originals, unfortunately.
I had to fork zflecs to fix a few type mismatches as I was going through the process - so the examples repo depends on my fork instead of the upstream.
If this is interesting to you, please let me know: I’d be happy to move the examples into my fork and open a PR sometime - maybe set them up as tests or something? Obv, I’m discovering the lib as I’m porting the examples, so the result promises to be less than perfect.
Cheers

Hi 👋
Ported examples would be very welcome in this repo. And I agree that they would make ideal tests.
I think it's not very important that the output be exactly the same as the original C and C++ examples. So long as they illustrate and exercise the principles.
Cheers


Added YAML deployment files

Addresses #21
YAML files to deploy the operator are included in the template. Provided files are a deployment, configmap and RBAC configuration (in a similar way that operator-sdk does).
Parameters to specify docker image name for operator and operator name are included in the template.
Docs updated.

Thanks @eiximenis , we fix some issues and now the PR is merged!


Command framework problems

Hello, I'm having issues with commands in my bot, I wanted to create a command usable by the administrator of the server to delete everything on the server, the problem I'm having is that my for loop inside my command either work and make one iteration before stopping, either do not work at all, or my command simply is not called at all. Working totally randomly. The code :
@Command('deleteall', aliases: ['da'])
Future<void> deleteAll(CommandContext ctx) async {
  Restrict(
    userPermissions: [PermissionsConstants.administrator],
    botPermissions: [PermissionsConstants.administrator]
  );

  var arguments = ctx.message.toString().split(' ');
  switch (arguments[1]) {
    case '*':
      var message = await ctx.reply(content: 'En cours');
      for (var value in ctx.guild.channels.values) {
        sleep(const Duration(seconds: 2));
        await value
            .delete(
                auditReason:
                    'Asked by ${ctx.author.username} who executed the command deleteall *')
            .catchError(throw ("PermissionError"));
      }
  }

  for (var role in ctx.guild.roles.values) {
    await role.delete(
        auditReason:
            'Asked by ${ctx.author.username} who executed the command deleteall *');
  }
}

Thanks in advance for the answers.

Hi, I can't reproduce your problem. I had to fix your code because you have few mistakes in there.
Restrict is an annotation and should be used same as Command:
@Restrict(
    userPermissions: [PermissionsConstants.administrator],
    botPermissions: [PermissionsConstants.administrator]
);
Future<void> deleteAll(CommandContext ctx) async { }

You shouldn't use sleep function in async context.
message variable isn't used.
Also check if bot has permissions to perform certain action.

Oh yeah, thanks for fixing the code.. I am not understanding the documentation very well.. For the sleep, it was to test if the problem was coming from the rate limit of Discord but it was not, and I forgot to remove it. The bot has all the permissions on the server as he have a role with the administrator permission on top of every other roles.

Just modified the code to your recommendations and still does not work, still I discovered that sometimes does delete of the channel, but then stops, all the other times it still does not work at all.
Here's what i'm up with on code level
@Restrict(
    userPermissions: [PermissionsConstants.administrator],
    botPermissions: [PermissionsConstants.administrator])
@Command('deleteall', aliases: ['da'])
Future<void> deleteAll(CommandContext ctx) async {
  var arguments = ctx.message.toString().split(' ');
  switch (arguments[1]) {
    case '*':
      var message = await ctx.reply(content: 'En cours');
      for (var value in ctx.guild.channels.values) {
        await value
            .delete(
                auditReason:
                    'Asked by ${ctx.author.username} who executed the command deleteall *')
            .catchError(throw ("PermissionError"));
      }
  }

  for (var role in ctx.guild.roles.values) {
    await role.delete(
        auditReason:
            'Asked by ${ctx.author.username} who executed the command deleteall *');
  }
}

@InfRandomness I'll try your code today and see if i can reproduce your bug.

alright

Any update on this ?

I can't reproduce your bug, it can be problem with your permissions on server or channels. I created new  guild added bot with administrator perms and tried your code with success.
I used this code to reproduce your bug:

@Restrict(
    userPermissions: [PermissionsConstants.administrator],
    botPermissions: [PermissionsConstants.administrator])
@Command('deleteall', aliases: ['da'])
Future<void> deleteAll(CommandContext ctx) async {
  var arguments = ctx.message.toString().split(' ');
  switch (arguments[1]) {
    case '*':
      for (var value in ctx.guild.channels.values) {
        await value
            .delete(
            auditReason:
            'Asked by ${ctx.author.username} who executed the command deleteall *')
            .catchError(throw ("PermissionError"));
      }
  }

  for (var role in ctx.guild.roles.values) {
    await role.delete(
        auditReason:
        'Asked by ${ctx.author.username} who executed the command deleteall *');
  }
}

Closing for now due invalid bug report.

Hey, I really don't get it. It's still not working as intended. Here's what I tried :
I changed of OS, I changed of computer, install a fresh new dart and all that good stuff, created a new guild and added the bot full permissions over every single channel and even on his role which has the administrator permission (8) + every other checked.
After that being done I just cloned my bot and pasted the code for the actual command that you posted above, and still after that, it only deletes one categories after another (and does not care about the others channels) and still, I have to restart the bot after he deleted one category because otherwise he won't do anymore.

Checked again, and can't really repodruce. Bot probably has problems with permissions - check permissions, especially overrides or it could be problem on discord's end. Can really tell right now - I don't find bug in framework for now.

I will check all this out after the merge from development to rewrite_modular, I will also rewrite the bot's code (and continue it).


Controller [FromBody] argument is null if project references "System.Data.SqlClient 4.1.0"

If my web api project references NuGet package System.Data.SqlClient 4.1.0 then a controller defined in the same project can't retrieve an argument passed in request body. It took me a while to find a diff (see below) that shows what code change introduces the bug in my project.
Here's a controller code I have
public class SqlTaskPersistence : ITaskPersistence
{
    public Task Save(OneLineTask oneLineTask) // <- This oneLineTask argument is always null :(
    {

Of course I have some service Startup tweaks (e.g. Dependency Injection configuration). I can provide this code too if needed. Is there a way for me to verify there are no errors/exceptions while service is being started? At the moment I test it only on a dev machine.
Could you give me a hint about what I am doing wrong?

Can you please include your controller code (ok to omit the method bodies) and some information about what the request looks like? If this is in a public repo, just give us a pointer and we'll take a look.

@rynowak Here you go sir. The following commit fixes the [FromBody] argument = null issue:
https://github.com/another-guy/TheNextOne/commit/684ac93e75a4de7b7580835b61c252bdf1b0bb28
To test the API locally you can execute the following request in Fiddler/Postman:
Verb + url: POST http://localhost:5001/tasks
Headers: Content-Type:application/json
Body:
{
"id": "some id",
"description": "some description",
"created": "2014-01-01T02:00:00.123Z",
"status": "some status"
}

Thanks, I gave this a try and was able to see what you were seeing.
The issue here is that there was a breaking change between the 1.0.0-RC2 and 1.0.0 release to ValueTask<T> that impacted Kestrel. Referencing "System.Data.SqlClient": "4.1.0" pulls a framework package that isn't compatible with RC2 Kestrel and causes the break.
To fix this you can either upgrade your ASP.NET binaries to 1.0.0 or use "System.Data.SqlClient": "4.1.0-rc2-24027" for the time being (this is the release of SqlClient that corresponds with our RC2.
============
As far as why this isn't failing in a better way, I'm going to open an issue for this on MVC. The error coming from Kestrel was a MethodMissingException, but because it was bubbling up for a formatter, it was getting turned into a model state error. We need to reevaluate this.

@rynowak Thanks! I made my project use the rc2 version of System.Data.SqlClient and it indeed worked well for me.
It is funny, I saw the error in ModelState while debugging. I was unable to relate this error to a null reference issue I observed. Thank you for opening #4920. I hope improving this code will allow other developers to see their projects following the Fail Fast principle.

I'm running into something similar. I upgraded from RC2 to Release and a weird error appeared. I post json to a controller method and [FromBody] works fine the first time. But with subsequent calls (that are exactly identical) I get a null value for the [FromBody] argument.
It appears to be Kestrel related because it works fine running locally with IISExpress or on our test server under IIS. Ideas?

@codeConcussion did you look in ModelState? Are there any exceptions in there? Try dumping the contents to a log or console.

@rynowak Just looked at it. No errors in ModelState. None on the first call that works (obviously) and none on the second call that fails.

If you can try to create a repro we'd be happy to take a look.

@rynowak - While creating the repro project I discovered the issue. It's unrelated to this issue even though the end result is the same.
We wrote middleware that is reading the HttpContext.Request.Body stream. The stream is a Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameRequestStream which you can't reset (context.Request.Body.Position = 0 or context.Request.Body.Seek(0, SeekOrigin.Begin)) so instead we were just setting the body to a new MemoryStream which seemed to work. Now it causes issues - works the first time but not after.
I also tried doing context.Request.Body.CopyTo(newMemoryStream) and then reading the stream I copied it to instead of directly reading the request body, but that also causes the same issue.
Any suggestions on how to correctly read the request body's stream?

See https://github.com/aspnet/KestrelHttpServer/issues/940. You can work around it by resetting the stream back to the original after the response is written.

@codeConcussion you can see an example here, https://github.com/aspnet/HttpAbstractions/blob/3e69df87f89601a5ede32c6765b736ab922b8fee/src/Microsoft.AspNetCore.Http/Internal/BufferingHelper.cs
but as @davidfowl pointed out, you will currently have a bad time if you don't reset the stream to the original stream when unwinding.
@Tratcher did we ship the buffering middleware?

@rynowak 0.1.0 only: https://www.nuget.org/packages/Microsoft.AspNetCore.Buffering/


[CONTROLLER/PROMETHEUS] supports cleaner

This PR is for:

Server

supports cleaner
Checklist

[ ] Added unit test.

Backport to branches

main

 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.zhengya seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Account on server PC is switched to another user after client connection

Hello, when I work on a computer (server) as user1 and someone connects to this computer via RDP as user2, I immediately see user2's desktop and can no longer work as user1.
termsrv.zip

Hello same issue here, even when RD max allowed is set to 2 or more i have the same "account switch" happening, looks like somehow RDP works like VCN now.
"sceens made from TV perspective working on both machines *left server *right remote pc"

on the left is the server, after RDP login from remote PC(on the right), you can see im working remotely and localy on switched account, i can see what im doing from a remote machine from "server" perspective.

anyone else had this issue before? its a first for me :)
cheers from poland


Fix javadoc errors

Different errors weren't allowing to install segment if JavaDoc was not disabled (i.e. -Dmaven.javadoc.skip=true). Now it is possible to compile without the need of disable JavaDoc (warnings have not been fixed).
Fixed errors:

@throws XMLException -> @throws XmlException

 ->
 (https://stackoverflow.com/questions/26049329/javadoc-in-jdk-8-invalid-self-closing-element-not-allowed)
IOSRuntimeException -> IORuntimeException (typo) + import

With these changes, I've been able to install segment.
Related issue: https://github.com/loomchild/segment/issues/20

Hi, thanks for your help. I will test and merge the request when I have a bit of time.


[Draft] [Do Not Merge] Testing out EH Geo DR Preview

/azp run net - eventhub - tests

API change check
API changes are not detected in this pull request.


views cleanup

divide views into subdirectories to have a more clear division of views with different purposes.

Excellent plan - I'd have done it myself if I'd known how to!


Question: Are the face descriptors generated compatible with dlib-generated face descriptors?

Here's what I want to achieve:
I have a corpus of dlib face descriptors.
I want to:

take an image that was previously processed by dlib
extract a face using face-api.js
still get true positive results when querying the dlib-generated data with the face-api.js descriptors.

Is that possible?

Have you tried it?
The face descriptors here are 128-item float arrays - don't know what dlib does. Guessing the chances of them being from the same underlying network model are slim, sorry. But ymmv...

Yes, I think it depends largely on the model. I ended up going with a fork of this repo that resolves a ton of problems I was having. I think because the colour models used between node and java are different, then the floats produced are potentially slightly different as well? Not to mention different platforms and their float precision differences and endianness.
In the end, though, I don't think the differences weren't enough to prevent a match.

What fork did you use? I might want to check it out myself
On Tue, Dec 1, 2020, 4:25 AM Nathan Trevivian<EMAIL_ADDRESS>wrote:

Yes, I think it depends largely on the model. I ended up going with a fork
of this repo that resolves a ton of problems I was having. I think because
the colour models used between node and java are different, then the floats
produced are potentially slightly different as well? Not to mention
different platforms and their float precision differences and endianness.
In the end, though, I don't think the differences weren't enough to
prevent a match.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/justadudewhohacks/face-api.js/issues/706#issuecomment-736339911,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABEZELCNRIL66VMPX7NIAI3SSSZAZANCNFSM4SM3XOIA
.

What fork did you use? I might want to check it out myself

https://github.com/vladmandic/face-api


Make .from_response/.from_resp usage consistent

The names of these private methods are sometimes inconsistent across gcloud.

Which one do you prefer, from_response or from_resp? I vote for from_response, but not if it's going to cause line-length issues with rubocop.

Sounds good to me.

OK, i'll do this one right now.

+1 to from_response :)


Don't npmignore the src dir

This enables chained webpack import/require of sections of the candela repo.

LGTM, but I added a commit to clean up a stray directive in the file from before.
This will also expose the config directory, but I think that's probably fine, since someone may need to look at out webpack configs to properly link in Candela with their own project.


Unable to login to FAE site - Tried new account and existing.

Steps to reproduce:

Navigate to https://fae.disability.illinois.edu/registration/login/
Attempt to login using credentials - Fails
Tried resetting credentials, this failed to same error
Tried creating another login, i.e. Registered again with different email, it failed.

I was able to register and create a new account in August of 2019, may not be a current problem.


Update manifests/p/Piriform/CCleaner/6.11/Piriform.CCleaner.locale.en-US.yaml

Fixes an issue where this package has multiple different monikers
Microsoft Reviewers: Open in CodeFlow

[Policy] Reset Labels


Delegation

As a user
I want to be able to delegate my atoms to a validator
so that I can support the network in validation and earn commission.
AC:

[ ] User is able to view all the validators
[ ] User is able to view the profile of each validator
[ ] User is able to bond a certain amount of atoms to a selected validator
[ ] User is able to unbond atoms off a selected validator
[ ] User is able to see all the validators he has bonded atoms with (and the amount of atoms per validator)
[ ] User is able to see the amount of commission they have earned

Note:

Does a user need to unbond all atoms at once or can he unbound partial amounts?

Peng:
Important validator metrics for delegators to make an informed decision:

Indicators of validator's external audits
trustworthiness of the auditor(s)
indicators of past performance

validator uptime
voting history, etc.

@nylira
Do we have information about external audits in the system?
How is the trustworthiness of auditors measured?

External audits will be conducted by trusted third parties like @zmanian. We'll want to provide some sort of "seal of trust" or "verification badge" per third-party audit that the validator passes. The validator will be able to paste their unique verification code into their config files, and the Cosmos UI should show them to delegators. Ideally, we wouldn't want any atom holder to delegate atoms to a non-audited validator.
The trustworthiness of auditors is measured by their track record and domain knowledge in hardware security, availability, and protection against malicious attacks (DDoS etc). We'll definitely want to have several relatively trustable auditors. @zmanian would have more to say about this.

Thx for the details :)

very interesting! @faboweb this seems "AC" worthy. a task which has not been accounted for yet.

waiting on @rigelrozanski ...

@faboweb what is the " auditing status of each validator"

@faboweb Also thanks for pinging me - I would have liked to be pinged in this one right from the get go!

Thx goes to jordan I think. Thx for the clarification and feedback, we will try in the future to involve/ping people involved from the start.

what is the auditing status?
By @gamarin:
I guess validators could pay independent firms to make an audit of their setup. We should not audit anything ourselves

calculate what the commission gains are on the fly
How is the commission calculated?

off chain 3rd party query for the active lists of all candidates or candidates which a delegator has bonded too
Let's consider this. I have the feeling that not being able to see where you (as a user of the light client) have bond is a bad idea.

Let's assume for now that the audit status is self-provided by the validator and is reflected by a link to an off-chain resource.

@faboweb yes audits to happen off chain - can be linked in the desciption of a validator if they wish

How is the commission calculated?

See the spec: https://github.com/cosmos/gaia/blob/proposals/spec.md
Validators get to choose their own commission

When there are screenshots/mocks of delegation UI could someone post them to the issue?

@zmanian will do!

Open subtasks splittet out: #132  #133 #134 #135


Update SocketIOServer.java

when we call the method stop,we should invoke channel.close()

Does it solve any issues?

when i use netty-socketio in tomcat,it can not shutdown often.
when add channel.close,shutdown is ok,but sometimes it not work.
i do not know why?


Automatic export of *.cfg and *.json doesn't work

I'm investigating why. It did work in 1.3, just tested it again there.

This still going to be an issue in 2.0?

No, we are not going to be using any custom file type that won't be added by Godot automatically

Can probably close this. The mechanism used to 'export' automatically in 1.3 is incompatible with android exports, I'd rather just have people do the export procedure properly.


Adding contributors

fixes #307

@chmod-777-shauli

Hi @saiyam1814  and thank you for contributing.
Can you please reopen this PR against the dev branch? Thank you :)

Hi @saiyam1814 and thank you for contributing. Can you please reopen this PR against the dev branch? Thank you :)

Done #309

Reopened to dev


TPCH-100 makes TiFlash stuck at read index

Bug Report
Enabling TiFlash Replica during TPCH Prepare.

After 9:00. we see a sharp drop at write block

Before that, every query for count(*) from lineitem returns normally. After that, TiFlash begins to stuck at query.

1. Minimal reproduce step (Required)

2. What did you expect to see? (Required)
3. What did you see instead (Required)
4. What is your TiFlash version? (Required)

Can't reproduce in ecd615f20. It may be caused by environmental factors, such as other people are also using the environment, a node is under high load, or TiKV OOM. I will do a few more experiments to try to reproduce.

Close it due to unreproducable.


Update on crates, update documentation

Hi, stomp = "0.11.0" no longer compiles in 1.62 or greater due to mio, could you update to version 0.12 along with documentation?

Is this project dead?


Bug 2048458: csi: make create and get process separate for csi users

Currently if we run external-script and user already exit,
it fails to create/run same user again if the caps are upgraded,
so we need to check first if user is already present.
And for upgrading user we can do upgrade after this
PR: https://github.com/rook/rook/pull/9609 will get merged.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2048458
Signed-off-by: parth-gr<EMAIL_ADDRESS>
Description of your changes:
Which issue is resolved by this Pull Request:
Resolves #
Checklist:

[ ] Commit Message Formatting: Commit titles and messages follow guidelines in the developer guide.
[ ] Skip Tests for Docs: Add the flag for skipping the build if this is only a documentation change. See here for the flag.
[ ] Skip Unrelated Tests: Add a flag to run tests for a specific storage provider. See test options.
[ ] Reviewed the developer guide on Submitting a Pull Request
[ ] Documentation has been updated, if necessary.
[ ] Unit tests have been added, if necessary.
[ ] Integration tests have been added, if necessary.
[ ] Pending release notes updated with breaking and/or notable changes, if necessary.
[ ] Upgrade from previous release is tested and upgrade user guide is updated, if necessary.
[ ] Code generation (make codegen) has been run to update object specifications, if necessary.

/assign @agarwal-mudit

/ok-to-test

/backport-release-1.9 /backport-release-1.8

/ok-to-test

/bugzilla refresh

/approuve

/approve

/backport-release-4.9

/cherry-pick release-4.9

/cherry-pick-release-4.9

git am --continue

@parth-gr if automated cherry-pick fails, you need to do it manually with git cherry-pick -x <commit>, resolve the conflicts and then push

/cherry-pick release-4.8


icu: Make static linking possible

Description of changes
Make static linking possible for icu.
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
^ This took ages, and filled my screen, so I didn't complete it.

Add a :+1: reaction to pull requests you find important.

This should go into staging instead of master due to the amount of rebuilds. See this guide: https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#rebasing-between-branches-ie-from-master-to-staging

Closing because I accidentally pinged a bunch of people.


Feature Request : extending this feature set to existing actors, including monsters.

Hi !
Maybe an idea for a similar module or an extension to this one: the ability to work from an existing actor token and generate AI information about it and maybe upscale/downscale it. I'm thinking about something similar to this by from within Foundry: https://cros.land/ai-powered-dnd-5e-monster-statblock-generator/

the cros.land generator is pretty cool.   That's a great idea for down the road.  This module could totally be a beautiful solution for instantly generating actors on the fly and moving the story forward, or letting the players go totally off on a tangent.

Indeed. I also imagine it could also be a nice way to "reinvent" a classic monster to make it feel original again;  or maybe beef it up or down to adapt it to a group's level. Food for thought :).

Thanks francflo for your support, truly appreciated. This sounds really good, added to the todo list!


Closing properly the pool in the Sample function ath the end of the run.

The pool is closed only if it was created by the emcee module.
When runing a sampler with threads different from 1 in a ipython notebook,
the pool was not closed properly and everytime I was using the sampler, a
new pool was added and not close.
This close the pool at the end of the run.

This is great, but the upcoming 3.0 release will deal with this problem by just getting rid of the "threads" argument - that simplifies a lot of issues! Thanks for your contribution.


JIT compiler support with #[no_std] for embedded devices ?

There is just a use case, I'd like to make the wasm JIT compiler a part of VM-OS.

You'll find some more discussion about this here, but I'll also want to point out this section of our documentation. If you have a target you're interested in supporting we'd love to discuss more, but #![no_std] won't work "out of the box" today.
In terms of bare-bones requirements Wasmtime at this time requires virtual memory (e.g. an MMU). I've got a branch I haven't upstreamed which distills Wasmtime's base runtime requirements to this C API which would need to be supported by the system.

Wasmtime now supports no_std itself and otherwise having Cranelift support it is tracked at https://github.com/bytecodealliance/wasmtime/issues/1158, so I'm going to close this.


Evaluate some Jamendo results which are only 'preview' quality files

Description

Unfortunately, Jamendo appears to include two kinds of CC-licensed audio files in their service:

Tracks fully licensed using a CC license: https://www.jamendo.com/track/1411230/dogu-comme-demain
Tracks where only a lower-quality, 'preview" file is CC licensed, and the higher-fidelity version requires a paid commercial license: https://www.jamendo.com/track/26967/batman-loves-my-dog

The differences between these two tracks are evident in the UI. Here are screenshots of the 'paid' track:

Jamendo refers to the later paid licenses as "official", which sadly seems to imply that CC licenses are somehow "unofficial'. I don't love the spirit of that.
To resolve this, we need to decide:

Do we think the second type of tracks belong in Openverse?
Is there a way to differentiate between these types of tracks?
Can we provide instructions to our users about how to download Jamendo images and navigate this obscure language and UI?

There's an additional point that Jamendo may have removed license filters from its search capabilities.

I've also assigned the "💬 talk: discussion" label here because it seems like there are some questions that we need to discuss and come to a conclusion about.


Update training-routines.md

Corrected "hone in" to "home in"

To the best of my knowledge, hone in is correct usage.

yes, rejected, sorry.


pythonModules.pyscard: 1.9.9 -> 2.0.0

Motivation for this change
Update pyscard to 2.0.0, needed by emv.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 103122 1

15 packages built:

electron-cash
electrum
electrum-ltc
gen-oath-safe
hwi (python38Packages.hwi)
python27Packages.btchip
python27Packages.pyscard
python37Packages.btchip
python37Packages.hwi
python37Packages.pyscard
python38Packages.btchip
python38Packages.pyscard
yubikey-manager
yubikey-manager-qt
yubioath-desktop


Split User Guide contents into multiple pages

each section is getting pretty long, it'll be time pretty soon to split this up. needs planning.

could be easier when we have lume.

my task is to add notes to dwayne's ticket (#222) to include support for this


Add builders

fixes #9

Coverage increased (+0.9%) to 79.78% when pulling e126c677a16ef9bd22548454624c92963d425413 on add-builders into a296627cc5963177eb65625bed8119d73e17607b on master.

Coverage increased (+0.9%) to 79.847% when pulling 4bb94398446e53cecc2b59d4afd496148afb10a7 on add-builders into a296627cc5963177eb65625bed8119d73e17607b on master.

Coverage increased (+1.2%) to 80.087% when pulling e538e1bda4ed22e477edf70d8b8071024c56d970 on add-builders into a296627cc5963177eb65625bed8119d73e17607b on master.

Coverage increased (+1.2%) to 80.151% when pulling 5eabf9bf9734a8ff747e1f40a9bc6443e5365566 on add-builders into a296627cc5963177eb65625bed8119d73e17607b on master.


Allow the ability to exclude default scopes for Angular

Core Library
MSAL.js (@azure/msal-browser)
Wrapper Library
MSAL Angular (@azure/msal-angular)
Public or Confidential Client?
Public
Description
I understand python's version of MSAL allows to exclude certain default scopes like offline_access as seen here https://learn.microsoft.com/en-us/python/api/msal/msal.application.clientapplication?view=msal-py-latest.  Can the same be added to Angular's version of MSAL?
Source
External (Customer)

Hey @gmiked we do not currently have any plans to support excluding any of the default scopes. The offline_access scope is required for getting refresh tokens which are used in basic SPA flows. Tagging a similar discussion from before: #3649

Posting this work-a-round for anybody hitting this through a search engine: https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/3649#issuecomment-2129771007


Added the missing content for glusterfs.

This PR fixed the missing content for the glusterfs volume type.
Fixes #38968

PTAL!

/retitle Fix glusterfs details in Volumes concept page


Website Redesign - Homepage V3

User story
As a User,
I want to visit the ReportStream Homepage,
So that I can become informed about ReportStream
Designs

Figma Link https://www.figma.com/file/Du7feM8huRDAAZCQcUIj93/Website-Redesign?type=design&node-id=3824%3A4993&mode=design&t=EVSonRhGjbiURooL-1

Verification Steps
- Code Review
- Trial / Dev environment signoff by Product / Design
- Staging environment signoff by Product / Design / Stakeholders (Need to be explicit)
- Production environment signoff by Engineering, Product and Design

Acceptance Criteria:

[ ] Storybook update required
[ ] Manual Testing Steps

New additions to current version

[x] Add 'What is ReportStream compatible with?' blurb, adjust to two-column layout next to 'Accepted data types and conditions'

Design changes from current version

[x] Add text below 'Public health entities': "ReportStream helps state, local, and territorial agencies across the United States get the data they need for the best possible public health responses."
[x] Add 'Health care organizations, facilities, and labs' section
[x] Change button copy from 'See all partners' to 'See full network'

Dependencies:

Designs - https://www.figma.com/file/Du7feM8huRDAAZCQcUIj93/Website-Redesign?type=design&node-id=3824%3A4993&mode=design&t=EVSonRhGjbiURooL-1

Additional Details:
TBD

hi @penny-lischer here is the image asset! cc @audreykwr
Private Zenhub Image


Provide metadata validation to the proposal list and on the GA creation

Provide new POST endpoint that would accept metadat url and hash and return the status of the validation.
Example payload:

{
   "url": "http://example.metadata.url",
   "hash": "some-example-blake2b-256-hash",
}

Example response:

Incorrect format - when fields of JSONLD file provided under url don't match the CIP-108 standard.

{
   "status": "INCORRECT_FORMAT",
}

Incorrect jsonld - when file is not canonizable by jsonld standard

{
   "status": "INCORRECT_JSONLD",
}

Incorrect hash - when hash of the file provided under url doesn't match provided hash

{
   "status": "INCORRECT_HASH",
}

Url not found - when provided url is not reachable.

{
   "status": "URL_NOT_FOUND",
}

If validation passes for all the cases response can be any eg.: { "valid": true }

Extend existing endpoints of such validation.

Provide to:
GET /proposal/list
GET /proposal/get/{proposalId}
GET /drep/getVotes/{drepId}

Validation described on the point 1
Additional field that informs about the validation status to each proposal/vote

Still blocked to check on dev-sancho and test-sancho env:

OK Adding proposal
NOT OK - showing proposals - tracked here

OK, TBC - response ok, status ok, for case: URL ok, hash ok, expected: 200, status: None - NOT STATUS FOR CORRECT STATE
Inputs:
 {
    "url": "https://raw.githubusercontent.com/mpawel79/testrepo/master/InfoJune03.jsonld",
    "hash": "eebfff0e2213ff0c5331e6d9d99d47a5a825dce7053671b6ed4daae4b4e0df5e"
}
Response code: 200
{
    "status": null,
    "valid": false,
    "raw": {
        "metadata": {
            "abstract": "test",
            "motivation": "test",
            "rationale": "test",
            "references": [
                "https://test.com/"
            ],
            "title": "test"
        },
        "valid": true
    }
}
--------------------

NOT OK - response ok, status not given - some other error msg, for INCORRECT_HASH not resturned,  URL ok, corrupted hash to long: expected: INCORRECT_HASH
Inputs:
 {
    "url": "https://raw.githubusercontent.com/mpawel79/testrepo/master/InfoJune03.jsonld",
    "hash": "CORRUPTED_eebfff0e2213ff0c5331e6d9d99d47a5a825dce7053671b6ed4daae4b4e0df5e"
}
Response code: 400
{
    "combinator": "ReqBody'",
    "error": "Error in $.hash: mzero"
}
--------------------

OK - response ok, status ok, for case: URL ok, corrupted hash aa: expected: INCORRECT_HASH
Inputs:
 {
    "url": "https://raw.githubusercontent.com/mpawel79/testrepo/master/InfoJune03.jsonld",
    "hash": "aabfff0e2213ff0c5331e6d9d99d47a5a825dce7053671b6ed4daae4b4e0df5e"
}
Response code: 200
{
    "status": null,
    "valid": false,
    "raw": {
        "metadata": {
            "abstract": "test",
            "motivation": "test",
            "rationale": "test",
            "references": [
                "https://test.com/"
            ],
            "title": "test"
        },
        "status": "INVALID_HASH",
        "valid": false
    }
}
--------------------

OK - response ok, status ok, for case: URL ok, empty hash, expected: INCORRECT_HASH
Inputs:
 {
    "url": "https://raw.githubusercontent.com/mpawel79/testrepo/master/InfoJune03.jsonld",
    "hash": ""
}
Response code: 200
{
    "status": null,
    "valid": false,
    "raw": {
        "metadata": {
            "abstract": "test",
            "motivation": "test",
            "rationale": "test",
            "references": [
                "https://test.com/"
            ],
            "title": "test"
        },
        "status": "INVALID_HASH",
        "valid": false
    }
}
--------------------

NOT OK, TBC - response is 200, status is null but hash is not for provied json, for case: URL to other json (drep format), hash ok - expected: INCORRECT_JSONLD
Inputs:
 {
    "url": "https://github.com/mpawel79/testrepo/blob/master/PawelDrep.jsonld",
    "hash": "eebfff0e2213ff0c5331e6d9d99d47a5a825dce7053671b6ed4daae4b4e0df5e"
}
Response code: 200
{
    "status": null,
    "valid": false,
    "raw": {
        "valid": true
    }
}
--------------------

NOT OK - response not ok, status not ok, for case: valid URL to corrupted json, hash ok - expected: INCORRECT_JSONLD
Inputs:
 {
    "url": "https://raw.githubusercontent.com/mpawel79/testrepo/master/test_INVALID_JSON_FORMAT.jsonld",
    "hash": "eebfff0e2213ff0c5331e6d9d99d47a5a825dce7053671b6ed4daae4b4e0df5e"
}
Response code: 200
{
    "status": null,
    "valid": false,
    "raw": {
        "valid": true
    }
}
--------------------

OK - response ok, status ok, URL to not existing file, hash ok: expected: URL_NOT_FOUND
Inputs:
 {
    "url": "https://raw.githubusercontent.com/mpawel79/testrepo/master/NOT_EXISTS.jsonld",
    "hash": "eebfff0e2213ff0c5331e6d9d99d47a5a825dce7053671b6ed4daae4b4e0df5e"
}
Response code: 200
{
    "status": null,
    "valid": false,
    "raw": {
        "status": "URL_NOT_FOUND",
        "valid": false
    }
}
--------------------

OK - response not ok, status ok,Empty URL, empty hash, expected: response - an error code
Inputs:
 {
    "url": "",
    "hash": ""
}
Response code: 200
{
    "status": null,
    "valid": false,
    "raw": {
        "status": "URL_NOT_FOUND",
        "valid": false
    }
}
--------------------

OK - no error 500 was returned
TBC - status - for postive case - nothing returned when all is fine


Tour creation and navigation enhancements

Pipelines are failing as the plugin has not been published to market yet.
Completing PR


Electron 37

contains advanced mac installer plugin
contains packages project file
contains post install script
contains the plugin bundle

@lneir Please review.

can you rebase this PR? i'm seeing at least three other commits here that are from other PRs.

closing in favor of cleaned up PR https://github.com/symphonyoss/SymphonyElectron/pull/99


Web Component - update locale

Describe the bug
Unpossible to change locale on Web Components (Card, Click To Pay)
To Reproduce
const instanceGooglePay = checkout.create('paywithgoogle', configuration);
instanceGooglePay.update({buttonType: 'subscribe', buttonLocale: 'cs'});//change locale

const instanceClickToPay = checkout.create('clicktopay', configuration);
instanceClickToPay.update({locale: 'cs'});//nothing happens

const instanceCard = checkout.create('scheme', configuration);
instanceCard.update({locale: 'cs'});//there is no property locale in type CardElementProps

Is there some way to change locale on card and click2pay instances?
Expected behavior
Change locale without reinitializing component
adyen-web: 5.49.4

Hi @strublos ,
locale must be passed to AdyenCheckout when initializing the library.  It is currently not possible to update it through the update function. Can you reinitialize AdyenCheckout with the locale and see if it works for you?

Hi,
checkout.update(newConfiguration); is without effect,
reinitialize checkout works, but it send new OTP password for clickToPay component

As I mentioned: using the update is not possible. You must reinitialize checkout with the new locale, and that eventually will re-trigger the OTP.
If your shopper wants to change the language, ideally he will change it before landing in the Checkout page. If the shopper decides to change the language in the Checkout page, you must reinitialize the Checkout.


Updating Bigtable system test to work with emulator.

Currently does not work as-is since most of the methods (most notable row.commit()) result in UNAVAILABLE from the backend.
Fixes #2242.
/cc @garye Could you check out this branch and run tox -e bigtable-emulator to see the failures?

I'll take a look

Thanks!

@garye I should note that only the last commit is germane to this PR, the rest are for the two diffbase PRs.

@garye I have found the start of a culprit. Some operations accidentally kill the server, causing all subsequent operations to fail. Also the example stack trace refers to a path not on my machine (/usr/local/google/home/garyelliott)
$ gcloud beta emulators bigtable start
Executing: /home/dhermes/google-cloud-sdk/platform/bigtable-emulator/cbtemulator --host=localhost --port=8645
[bigtable] Cloud Bigtable emulator running on <IP_ADDRESS>:8645
[bigtable] panic: runtime error: invalid memory address or nil pointer dereference
[bigtable] [signal 0xb code=0x1 addr=0x48 pc=0x4888c8]
[bigtable]
[bigtable] goroutine 16 [running]:
[bigtable] panic(0x9348a0, 0xc820010130)
[bigtable]      /usr/local/google/home/garyelliott/dl_go/go/src/runtime/panic.go:481 +0x3e6
[bigtable] cloud.google.com/go/bigtable/bttest.(*server).SampleRowKeys(0xc820013a00, 0xc8201b0c10, 0x7f4c92733130, 0xc8201b0c40, 0x0, 0x0)
[bigtable]      <autogenerated>:3 +0x78
[bigtable] google.golang.org/genproto/googleapis/bigtable/v2._Bigtable_SampleRowKeys_Handler(0x9c5360, 0xc820013a00, 0x7f4c92733098, 0xc8200842d0, 0x0, 0x0)
[bigtable]      /usr/local/google/home/garyelliott/go/src/google.golang.org/genproto/googleapis/bigtable/v2/bigtable.pb.go:817 +0x175
[bigtable] google.golang.org/grpc.(*Server).processStreamingRPC(0xc820017900, 0x7f4c926e7200, 0xc820084240, 0xc8201e23c0, 0xc8201754a0, 0xcf9d80, 0xc8201f68d0, 0x0, 0x0)
[bigtable]      /usr/local/google/home/garyelliott/go/src/google.golang.org/grpc/server.go:686 +0x489
[bigtable] google.golang.org/grpc.(*Server).handleStream(0xc820017900, 0x7f4c926e7200, 0xc820084240, 0xc8201e23c0, 0xc8201f68d0)
[bigtable]      /usr/local/google/home/garyelliott/go/src/google.golang.org/grpc/server.go:770 +0x1151
[bigtable] google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc8201b0ac0, 0xc820017900, 0x7f4c926e7200, 0xc820084240, 0xc8201e23c0)
[bigtable]      /usr/local/google/home/garyelliott/go/src/google.golang.org/grpc/server.go:419 +0xa0
[bigtable] created by google.golang.org/grpc.(*Server).serveStreams.func1
[bigtable]      /usr/local/google/home/garyelliott/go/src/google.golang.org/grpc/server.go:420 +0x9a

@dhermes needs rebasing.

PEP8 failure

Would it be simpler to wrap the  instance admin / table admin testsuite classes in @unittest.skipIf(IN_EMULATOR)?

Would it be simpler to wrap the instance admin / table admin testsuite classes in @unittest.skipIf(IN_EMULATOR)?

The problem is that IN_EMULATOR is not known at import time, since setting the env. var. happens in Python (via run_emulator.py).

FWIW the AppVeyor check has been deleted (was created when messing around trying to create https://ci.appveyor.com/project/GoogleCloudPlatform/google-cloud-python/)

@tseaver PTAL

LGTM


[BUG] Graph View resizing gets weird at large widths

Describe the bug
At large widths the GraphView doesn't extend all the way to the end of the plugins window, and then when returning to a smaller width, the nodes are shifted too far to the right.
To Reproduce

Start at the default window size.
Resize the window to be very wide.
Resize the window back to a more normal width.

I use it in Davinci Resolve with Unify. If you are interest its my patch from Spitfire Labs Libary and its Frozen the GUI. Tell it John. Maybe an Update helps. I use the Version that is inside Unify 1.4
No standallone use of Matrix
It can cause because a bug of the spitfire VST.


Abaondoned plugin? I find errors in the debug log

Hello. Is the cloudflare plugin abandoned? It havent been updates for a while. Using newest wordpress and php 7.4.
In my error log I find this:
Trying to access array offset on value of type null in /home/username/public_html/wp-content/plugins/cloudflare/src/WordPress/Proxy.php on line 62

Hi @BIG1.
The plugin is not abandoned, but currently we are unable to give it much attention it deserves. Therefore, the development slowed down, but I hope it'll go back to normal eventually.

Thank u. Is there  quick fix for the issue mention in debuglog I can edit myself?

@BIG1 are you seeing any issues in the plugin or its behavior because of the error?

Not that I am aware of... but when seeing this error in the debug it concerns me.


Support writing Noms data via GraphQL

Needs design

For now we are going to require implementing named mutation operations on the go side.


Fixing bug: Deployment is displayed as eployment

Hi @aydey, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor. If you're full-time or an intern, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;


Add 32x32 SAD assembly.

r=me (nit fixed or not, up to you)

Merged in https://git.xiph.org/?p=daala.git;a=commitdiff;h=db815ff1e7f8


Add Fen Player

Priority set to 500. No color added to name. Please adjust as you see fit...

Thanks for this!


NIFI-13746 [MiNiFi] Override controller services SSL Context Service with parent SSL Context Service. Parent SSL Context Service is added to root process group instead of managament controller services

Summary
NIFI-13746
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking

[x] Apache NiFi Jira issue created

Pull Request Tracking

[x] Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
[x] Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

[x] Pull Request based on current revision of the main branch
[x] Pull Request refers to a feature branch with one commit containing changes

Verification
Please indicate the verification steps performed prior to pull request creation.
Build

[x] Build completed using mvn clean install -P contrib-check

[x] JDK 21

Licensing

[ ] New dependencies are compatible with the Apache License 2.0 according to the License Policy
[ ] New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

[ ] Documentation formatting appears as expected in rendered files

Tested with several use cases, the issue mentioned in the slack thread doesn't exists anymore.
+1 from my side, merging...


bug: Course Content aside Transparent Background

Describe the bug
Heading of aside sheet has transparent background which is not looking good.

To Reproduce
Steps to reproduce the behavior:

Asign background colour to the heading div.

Expected behavior
In Background of heading there should be no overlapping.
Info (please complete the following information):

Browser (Microsoft Edge)
Version [latest]

i am working on this

is the issue still visible?, for me the heading is not overlapping

I think this bug has been fixed by ui change pr


Support tests of classes which use DynamicGraphQLClient

As part of my (second, unpushed) fix for https://github.com/quarkusio/quarkus-github-bot/pull/257, I tried to add a test for a PushToProjects, a class which has the following method signature:
    void<EMAIL_ADDRESS>GHEventPayload.PullRequest pullRequestPayload,
            @ConfigFile("quarkus-github-bot.yml") QuarkusGitHubBotConfigFile quarkusBotConfigFile,
            GitHub gitHub, DynamicGraphQLClient gitHubGraphQLClient) throws IOException {

That test fails with the following exception
[ERROR] io.quarkus.bot.it.PushToProjectsTest.triageComment  Time elapsed: 0.495 s  <<< FAILURE!
java.lang.AssertionError: The event handler threw an exception: The GraphQL client has not been initialized and should not be accessed.
        at io.quarkiverse.githubapp.testing.internal.EventSenderOptionsImpl.event(EventSenderOptionsImpl.java:111)
        at io.quarkiverse.githubapp.testing.internal.EventSenderOptionsImpl.event(EventSenderOptionsImpl.java:85)
        at io.quarkiverse.githubapp.testing.internal.EventSenderOptionsImpl.event(EventSenderOptionsImpl.java:20)
        at io.quarkus.bot.it.PushToProjectsTest.triageComment(PushToProjectsTest.java:73)
...
Caused by: java.lang.IllegalStateException: The GraphQL client has not been initialized and should not be accessed.
        at io.quarkiverse.githubapp.runtime.MultiplexedEvent.getGitHubGraphQLClient(MultiplexedEvent.java:41)
        at io.quarkus.bot.PushToProjects_Multiplexer.pullRequestLabeled_35c5add42697742b520a6db1fd7be53b4ad45669(Unknown Source)
        at io.quarkus.bot.PushToProjects_Multiplexer_Observer_pullRequestLabeled_35c5add42697742b520a6db1fd7be53b4ad45669_b65c7b03e7d0ca92e5b8d9ccb80a1a828633ab4f.notify(Unknown Source)
        at io.quarkus.arc.impl.EventImpl$Notifier.notifyObservers(EventImpl.java:323)
        at io.quarkus.arc.impl.EventImpl$Notifier.notify(EventImpl.java:305)
        at io.quarkus.arc.impl.EventImpl$1.get(EventImpl.java:103)
        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
        at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:555)

I couldn't figure out a good workaround at the test level, but updating the mocking support to also mock getInstallationGraphQLClient on GitHubService allows the test to proceed.
I've done a simple mock, on the basis that once the hook is there dependencies can add behaviour if they need it.

Yeah I somehow gave up on this as I was pretty sure I wouldn’t be patient enough to write the GraphQL mocks :)
Let’s see what @yrodiere who wrote this infrastructure think of it!

I have to admit that I'm not planning to write any GraphQL mocks either, just some light testing of other aspects of a class that references GraphQL.  :)
(Famous last words - first you do some light testing of a class that knows about GraphQL, and the next thing you know you've entirely duplicated GraphQL in the medium of mocks.)

I've done a simple mock, on the basis that once the hook is there dependencies can add behaviour if they need it.

Makes sense, in this case DynamicGraphQLClient is an interface (hurray!) and does not have any getter that may return another mock, so we don't need all the hacks we have for the GitHub client.
No idea how easy it will be to actually mock the client, but I agree one should be allowed to try, at least :)

Let’s see what @yrodiere who wrote this infrastructure think of it!

Looks good to me.
We might want to make it easier by allowing to point to a resource file representing the mocked response, but that can be done as a second step... if someone wants it badly enough to do it :)
Merging, thanks!

@allcontributors add @holly-cummins for code


fix ANR caused by DRM api

fix DRM api ANR issue on certain device
update coroutine to 1.6.0
make it possible to inject coroutine settings for testing via inheritance

Codecov Report

Merging #71 (0e647b1) into main (2895e29) will increase coverage by 24.77%.
The diff coverage is 98.37%.

@@              Coverage Diff              @@
##               main      #71       +/-   ##
=============================================
+ Coverage     59.09%   83.86%   +24.77%
+ Complexity      407      401        -6
=============================================
  Files            59       54        -5
  Lines          6353     4480     -1873
  Branches        608      581       -27
=============================================
+ Hits           3754     3757        +3
+ Misses         2115      244     -1871
+ Partials        484      479        -5

Impacted Files
Coverage Δ

...nalytics/kotlin/core/platform/EventPipelineTest.kt
54.28% <81.81%> (+0.88%)
:arrow_up:

...ava/com/segment/analytics/kotlin/core/Analytics.kt
75.83% <100.00%> (+0.16%)
:arrow_up:

...com/segment/analytics/kotlin/core/Configuration.kt
93.75% <100.00%> (ø)

...om/segment/analytics/kotlin/core/AnalyticsTests.kt
78.85% <100.00%> (-0.08%)
:arrow_down:

...n/com/segment/analytics/kotlin/core/PluginTests.kt
91.17% <100.00%> (+0.55%)
:arrow_up:

...com/segment/analytics/kotlin/core/SettingsTests.kt
89.81% <100.00%> (+1.21%)
:arrow_up:

...lin/com/segment/analytics/kotlin/core/StateTest.kt
61.11% <100.00%> (-0.71%)
:arrow_down:

.../analytics/kotlin/core/compat/JavaAnalyticsTest.kt
67.31% <100.00%> (+0.64%)
:arrow_up:

...ics/kotlin/core/platform/DestinationPluginTests.kt
93.80% <100.00%> (+0.11%)
:arrow_up:

...in/core/platform/plugins/DeviceTokenPluginTests.kt
73.91% <100.00%> (-0.56%)
:arrow_down:

... and 15 more

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 2895e29...0e647b1. Read the comment docs.


Highlight current page icon

Addressing #149 and highlighting the icon of the current page the user is on.

I love the way everything looks, but the information tab still remains highlighted no matter what. Are we able to darken that info tab permanently?

I love the way everything looks, but the information tab still remains highlighted no matter what. Are we able to darken that info tab permanently?

Done :)

Looks good to me, but I'll let someone with a bit more experience look through this.


Cleanup and add unit test

This behavior is pretty strange but not changing anything here.

Yes, idk, but this one wasn't doing anything in any case.


capture_serverless makes lambda fail when input is not a JSON-dict

Describe the bug:
Hi!
I have encountered a bug when using @capture_serverless decorator on a lambda inside a Step Function that processes the output of a Map state.
Elastic APM Python package version: 6.14.0 (latest)
To Reproduce

Implement a Step Function with a Map state followed by a lambda function that takes the output of the map. As specified in AWS docs: When complete, the output of the Map state is a JSON array, where each item is the output of an iteration. - https://docs.aws.amazon.com/step-functions/latest/dg/concepts-asl-use-map-state-inline.html#:~:text=the ItemSelector field.-,When complete%2C the output of the Map state is a JSON array%2C where each item is the output of an iteration.,-For more information
Add the capture_serverless setup to your lambda.

Expected: lambda to run and log to APM Server
Actual: Error from Step Function logs:
{
    "errorMessage": "'list' object has no attribute 'get'",
    "errorType": "AttributeError",
    "stackTrace": [
      "  File \"/var/task/elasticapm/contrib/serverless/aws.py\", line 116, in decorated\n    with _lambda_transaction(func, name, client, event, context) as sls:\n",
      "  File \"/var/task/elasticapm/contrib/serverless/aws.py\", line 147, in __enter__\n    trace_parent = TraceParent.from_headers(self.event.get(\"headers\", {}))\n"
    ]
  }

I think the fix is as simple as updating elasticapm.xxx.aws _lambda_transaction to accept event being either a dictionary or a list, as this is an acceptable input to lambdas within Step Functions.
Environment (please complete the following information)

OS: [e.g. Linux] - AWS Lambda function for Python
Python version: 3.8
APM Server version: 6.14.0

Severity

Critical issue as this breaks all our lambdas processing events coming from Map states in Step Functions.

Thanks for the report! We'll get this fixed.

Fixed in #1775, thank you again for the report!


HAProxy: session sync and server state drain

Hi,
it would be nice if the HAProxy plugin could synchronize the stick table to other nodes.
Then we could do on-line maintenance or fail over without interrupting user sessions.
http://cbonte.github.io/haproxy-dconv/1.6/configuration.html#3.5-peers
And another thing in this context is the possibility to set a server in drain mode.
Existing connections keeps on their backend server. But new connections goes to "ready" server only.
http://cbonte.github.io/haproxy-dconv/1.6/management.html#9.2-set server
Many thanks
Frank

Thanks for bringing this up. This is already on my list, I'll look into it. Maybe we'll have this working in time for OPNsense 17.7 (ETA; no promises).

Sounds good. :smile:


Revert "fix: removed partial encoding from x-snyk-ide header (#322)"

This reverts commit faa7a6b7f228c6a7e07695e7fd9d9be5c71bddc5.
Description
Provide description of this PR and changes, if linked Jira ticket doesn't cover it in full.
Checklist

[ ] Tests added and all succeed
[ ] Linted
[ ] README.md updated, if user-facing
[ ] License file updated, if new 3rd-party dependency is introduced

Screenshots / GIFs
Visuals that may help the reviewer. Please add screenshots for any UI change. GIFs are most welcome!

@michelkaporin  Why do we need to revert this commit?


Heroku: File to import not found or unreadable: refinery/site_bar

From a fresh install of RefineryCMS edge on Heroku:
I applied the precompile assets fix found here: https://github.com/plataformatec/devise/issues/1339#issuecomment-2346575
And I see successful assets:precompile in Heroku push logs:
Your bundle is complete! It was installed into ./vendor/bundle
Cleaning up the bundler cache.
-----> Writing config/database.yml to read from DATABASE_URL
-----> Preparing app for Rails asset pipeline
Running: rake assets:precompile
/usr/local/bin/ruby /tmp/build_1qfk6rmu4c5nj/vendor/bundle/ruby/1.9.1/bin/rake assets:precompile:nondigest RAILS_ENV=production RAILS_GROUPS=assets
-----> Rails plugin injection
Here is the error output from heroku logs when I attempt to visit the home page:
2011-11-15T19:36:59+00:00 app[web.1]: Started GET "/" for <IP_ADDRESS> at 2011-11-15 13:36:59 -0600
2011-11-15T19:37:00+00:00 app[web.1]:
2011-11-15T19:37:00+00:00 app[web.1]: ActionView::Template::Error (File to import not found or unreadable: refinery/site_bar.
2011-11-15T19:37:00+00:00 app[web.1]: Load path: /app
2011-11-15T19:37:00+00:00 app[web.1]:   (in /app/vendor/bundle/ruby/1.9.1/bundler/gems/refinerycms-633a0939a864/core/app/assets/stylesheets/refinery/refinery.css.scss)):
2011-11-15T19:37:00+00:00 app[web.1]:     4:   <%= yield :meta %>
2011-11-15T19:37:00+00:00 app[web.1]:     5:   <%= ::Refinery::Setting.find_or_set(:site_name, 'Company Name') -%> - Refinery
2011-11-15T19:37:00+00:00 app[web.1]:     6:   <%= csrf_meta_tags %>
2011-11-15T19:37:00+00:00 app[web.1]:     7:   <%= stylesheet_link_tag 'refinery/refinery' %>
2011-11-15T19:37:00+00:00 app[web.1]:     8:   <%= yield :stylesheets %>
2011-11-15T19:37:00+00:00 app[web.1]:     9:   <%= render :partial => "refinery/admin/javascripts" %>
2011-11-15T19:37:00+00:00 app[web.1]:     10:

I should note it is using RAILS_ENV=production but my heroku config is RAILS_ENV=redesign
that's odd. anyone know how to fix?

See this gist from #906

Fixed, thanks!


Dev list

This PR introduces a generic reusable list. The list has an easy to use API for creating, deleting, and iterating. Moreover, the list abstraction is completely encapsulated and inaccessible from the rest of the application.
This PR uses the generic list to re-implement the demand lists associated with node structs. Previously demand lists were allocated when no demands were present at a node, now they are lazy initialized.
This PR demonstrates the advantages of unit testing and test driven development. The generic list and demand data structs were tested as separate units prior to being integrated with the application. Then tests were written to target areas where the new code was tied in with the old.
I am pleased with how this PR turned out. The only problem was it took longer to prepare than I anticipated.
Close #452
Close #460

Codecov Report

Merging #465 into dev will decrease coverage by 0.28%.
The diff coverage is 91.26%.

@@            Coverage Diff             @@
##              dev     #465      +/-   ##
==========================================
- Coverage   70.35%   70.06%   -0.29%
==========================================
  Files          22       28       +6
  Lines        9889    10126     +237
==========================================
+ Hits         6957     7095     +138
- Misses       2932     3031      +99

Impacted Files
Coverage Δ

src/hydraul.c
75.23% <100%> (+0.11%)
:arrow_up:

src/project.c
90.25% <100%> (+0.06%)
:arrow_up:

src/demand.c
100% <100%> (ø)

src/input3.c
78.24% <100%> (+1.04%)
:arrow_up:

src/input1.c
91.87% <100%> (-0.07%)
:arrow_down:

src/util/list.h
100% <100%> (ø)

src/util/list.c
70.14% <75%> (ø)

src/epanet.c
59.77% <82.66%> (+0.69%)
:arrow_up:

src/inpfile.c
70.04% <95.23%> (+0.45%)
:arrow_up:

src/util/cstr_helper.c
0% <0%> (ø)

... and 6 more

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 1524ade...a0048b7. Read the comment docs.

I found a few things that may need to be changed:

strdup used in create_demand_data isn't part of standard C.
The _adjustpattern function name in project.c violates best practice of not using an underscore to begin a name. I'm also not a fan of starting a mnemonic like lnode with a lower case L since it looks too much like the number one (listnode would be better).
Assigning DefPatID to junction demands as they are read from the input file will be a problem if the DefPatID hasn't been established yet (which is usually the case since the [JUNCTIONS] and [DEMANDS] sections typically precede the [OPTIONS] section in an INP file). It's better to return to the original code where the default pattern is assigned after the entire input file has been read.
In EN_getnodevalue and EN_setnodevalue, the EN_BASEDEMAND and EN_PATTERN properties are for the node's primary demand which is the first demand specified. Shouldn't they be the demands at the head of the list, not the tail?

Thanks for the feedback.

It also seems that, contrary to the way that demand categories were originally stored, this new generic list approach is keeping two copies of each demand category. One generated by create_demand_data and a copy of it created by the append_list function (lines 89 - 93 of list.c). Why is a copy of the list data being made for each list node. Can't the node just store the pointer for the demand data passed into append_list. Or alternatively, couldn't the demand data structure passed into append_list  be declared locally on the stack (which would also eliminate the need to define a freeFunction for the list)?

@LRossman in this list implementation the data are held via double pointers. In the append and prepend list function memcpy is used to copy the pointer to the data not the data itself.

The beauty of this design is that it is completely encapsulated from the rest of the application. Thus, it can be refactored, and as long as the "contract" that is the API is satisfied the application still works.
I agree that the use of memcpy is unusual. But the "proof is in the pudding" as they say. This code passes all unit tests and has no memory leaks. The free_function is necessary for the list to be generic and re-usable. I intend to reuse it!

@LRossman Question pertaining to point 4 in your review.
If base demand is the head node in the demand list why are for loops that appear to be returning the tail of the list being used in EN_getnodevalue() and EN_setnodevalue()?

@michaeltryby in the original implementation of the demand list, new demands were added to the head, not the tail, of the list when they were read from the input file. Somewhere along the way this was changed to do the opposite (see lines 755 - 767 of input3.c in the latest version of dev) but apparently EN_getnodevalue() and EN_setnodevalue() weren't updated to reflect this change.

@LRossman thanks for the info. The implementation I am proposing in this PR uses the append_list() function to add nodes to a demand list -- meaning that new nodes are added at the tail of this list. The first node added will be the head, the last node added will be the tail, and the nodes will appear in the order they were added. Is this the behavior that you prefer?

@michaeltryby yes, that's the preferable (and more natural) order.

@LRossman Okay. Then it follows that EN_getnodevalue() and EN_setnodevalue() should return the head of the list if one assumes that the primary demand gets added first.  I will update the PR accordingly.

@LRossman Addressed the points you raised in your review. On point 1, strdup is present on Windows, Linux, and Mac OS so in my estimation it's portable. I don't know why MSVC complains about it.
Points 2, 3, and 4 have been resolved.

Replacement for strdup in create_demand_data (see this discussion):
demand_data_t *create_demand_data(double base_demand, int pattern_index, const char *category_name)
{
    demand_data_t *demand_data = (demand_data_t *)malloc(sizeof(demand_data_t));

    demand_data->base_demand = base_demand;
    demand_data->pattern_index = pattern_index;

    if (category_name)
    {
        size_t size = strlen(category_name) + 1;
        char *p = malloc(size);
        if (p) memcpy(p, category_name, size);
        demand_data->category_name = p;
    }
    else
        demand_data->category_name = NULL;

    return demand_data;
}

Or if xstrcpy (in project.c) were made visible:
demand_data_t *create_demand_data(double base_demand, int pattern_index, const char *category_name)
{
    demand_data_t *demand_data = (demand_data_t *)malloc(sizeof(demand_data_t));

    demand_data->base_demand = base_demand;
    demand_data->pattern_index = pattern_index;
    demand_data->category_name = NULL;
    xstrcpy(&demand_data->category_name, category_name, MAXID);

    return demand_data;
}

Oh, I’ve already got a replacement for strdup in my cstr_helper module.

Interesting article. As far as I know, there are no plans to use third party memory allocation solutions. I’m really tired of the limitation imposed by fixed length char arrays so I have been experimenting.

Added key values to list nodes and added search for key values. This is a much better way to provide random access to list elements. Also added method for removing list nodes based on key. So now we have everything we need to implement #460.

@michaeltryby thanks for adding these functions. Are you going to merge with OWA::dev shortly? I have commits ready for #464 and am willing to implement #460. Or is more time needed for further testing (one test I'd like to see is a run time comparison between the new and old list methods on a network with a significant number of demand categories).

Actually I'm in the middle of finishing up #460 as I type this.
You are welcome to create a PR for Issue #464. I can fetch pull the changes in no problem.

Kinda tired of working on this. So I'm going to merge.

When you say significant number of demand categories what number do you have in mind? More or less than 100?
This list is essentially doing the same thing that the old lists did. I suspect the difference is going to be in the memory usage not CPU time. I have tried to offset memory usage by shifting to lazy initialization of the demand lists in the node structs.
Suppose we could write a test_case for this.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 89.09774% with 29 lines in your changes missing coverage. Please review.

Project coverage is 70.12%. Comparing base (1524ade) to head (35cf9bd).
Report is 460 commits behind head on dev.

Files with missing lines
Patch %
Lines

src/util/list.c
70.58%
15 Missing :warning:

src/epanet.c
86.45%
13 Missing :warning:

src/inpfile.c
95.23%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##              dev     #465      +/-   ##
==========================================
- Coverage   70.35%   70.12%   -0.23%
==========================================
  Files          22       28       +6
  Lines        9889    10184     +295
==========================================
+ Hits         6957     7142     +185
- Misses       2932     3042     +110

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


Refactor HLC causality mechanism

Background: https://airtable.com/tblD3oZPLJgGhCmch/viwchkdQkRUw6hZ3z/reclzVyTzCBDa7FWK?blocks=hide
PM: @awoods187
Eng: @andreimatei

Not in 20.1. Closing for now.


fix: General styling improvments

Fixes #11065 (Part 1)
Please check the following:

[x] Do the tests still pass?[^1]
[x] Does the code comply with the style guide?

[x] Run make lint from the Wagtail root.

[ ] For Python changes: Have you added tests to cover the new/fixed behaviour?
[ ] For front-end changes: Did you test on all of Wagtail’s supported environments?[^2]

[ ] Please list the exact browser and operating system versions you tested:
[ ] Please list which assistive technologies [^3] you tested:

[ ] For new features: Has the documentation been updated accordingly?

Please describe additional details for testing this change.
[^1]: Development Testing
[^2]: Browser and device support
[^3]: Accessibility Target

@benenright @thibaudcolas Here is the PR for the first set of improvements for issue #11097

[x] Remove background hover effect (dark mode)
[x] Listing row border-top should use: --w-color-border-furniture
From:

To:

[x] Increase space between primary label and child field label
@benenright I updated the spacing to 1.25rem since that is used for the avatar settings to make it uniform. Also, the issue affected other settings (locale, theme and notification), hence I updated all of them accordingly.

[x] Increase top/bottom padding a bit in block-chooser buttons
[x] on hover change to: text-link-default and border-button-outline-default

Thanks @meli-imelda  - this is merged in. I have added you to the contributors list as 'Meli Imelda' but let me know if you want a different name listed.


Cover art not showing (Apple Music)

Hi there, can't say how long it been like this but cover art is not displaying with Apple Music streaming.
I got a "profile icon" as a background of the window.
https://cdn3.imggmi.com/uploads/2019/1/30/546bee5314591ca31f4427e26da99d10-full.png

Bump

Same here.

Same here, but not just Apple Music streaming - also no artwork showing for local files playing in iTunes.


Improve bundle size

Hello,
Idea
I'm not OBSESSED with bundle size, but the SMALLER the BETTER hey?
I think the main improvement can come from minifying the html and css in template string.
Luckily there is a plugin that do just that!
Here is a proof of concept. I slightly refactored the calendar, cause there were comments inside the html template, and other minor issues that were disturbing the minification process... Results below.
First Results
Currently on master branch:

After minification (I've used minification only on wired-elements-bundled.js) :

So here is a ~10% improvement with the minify plugin, so I think it's a great opportunity :)
Regards

I have used this plugin in some other project and ran into some issues - basically it broke things. I was in a rush so did not investigate to create an issue with the plugin :(
I'm a bit hesitant to do that.
That combined with me rethinking if we even need to create a custom build ourselves (maybe use pak.dev or snowpack) I am inclined not to add at this point.
Perhaps when these elelments are cleaned up a bit we can revisit. Thanks.


Consistent typing in adata.obs

Most columns added to adata.obs should probably be well-defined categoricals
Booleans should be booleans / or categoricals, and not strings
nan should be nan and not "nan". Categoricals do support nan, but there was an issue with how this is implemented in anndata, maybe this needs to be fixed upstream.

Anndata supports now categoricals with nan values.
There are still some issues with anndata saving booleans.
Also anndata can't save object dtypes, so we need to make sure to convert those to categoricals appropriately.

Anndata now also supports nullable booleans: https://github.com/theislab/anndata/issues/504#issuecomment-1010352216
Nullable strings are still not supported (https://github.com/theislab/anndata/issues/679), but less important since categoricals are better in almost all cases anyway.


Angular 11.1 LESS not building issue

Reproduction link
https://stackblitz.com/edit/ng-zorro-antd-ivy-pu6fe9?file=package.json
Steps to reproduce
Upgrade to Angular 11.1.0.
What is expected?
The project should compile correctly.
What is actually happening?
There is a ModuleBuildError caused by a problem with size.less in the table syles.
Error: ./src/theme.less
Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
ModuleBuildError: Module build failed (from ./node_modules/less-loader/dist/cjs.js):

// ================================================================
.table-size(~'middle', @table-padding-vertical-md, @table-padding-horizontal-md, @table-font-size-md);
^
Cannot read property 'numerator' of undefined
      Error in C:\Projects\WunderlustAPI\WebsiteProjects\Website.Site\wunderlust-app\node_modules\ng-zorro-antd\table\style\size.less (line 53, column 0)
    at C:\Projects\WunderlustAPI\WebsiteProjects\Website.Site\wunderlust-app\node_modules\webpack\lib\NormalModule.js:316:20
    at C:\Projects\WunderlustAPI\WebsiteProjects\Website.Site\wunderlust-app\node_modules\loader-runner\lib\LoaderRunner.js:367:11
    at C:\Projects\WunderlustAPI\WebsiteProjects\Website.Site\wunderlust-app\node_modules\loader-runner\lib\LoaderRunner.js:233:18
    at context.callback (C:\Projects\WunderlustAPI\WebsiteProjects\Website.Site\wunderlust-app\node_modules\loader-runner\lib\LoaderRunner.js:111:13)
    at Object.lessLoader (C:\Projects\WunderlustAPI\WebsiteProjects\Website.Site\wunderlust-app\node_modules\less-loader\dist\index.js:57:5)

Environment
Info

ng-zorro-antd
11.0.2

Browser
Chrome

duplicated of #6359, you can downgrade less to 3.x as a temp solution.
should be fixed via #6365

duplicated of #6359, you can downgrade less to 3.x as a temp solution.
should be fixed via #6365

@vthinkxie Hey, i have this issue, downgrading less is doesn't help me.
./src/theme.less - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
ModuleBuildError: Module build failed (from ./node_modules/@angular-devkit/build-angular/node_modules/less-loader/dist/cjs.js):


plain-scalar: always rule misses optional quotes

I noticed a case where plain-scalar: always would not report an error, even though the quotes in use were optional.
Then I ran eslint --fix with plain-scalar: never temporarily on my whole code-base, which added quotes everywhere. After running eslint --fix with plain-scalar: always again, I still had a diff remaining. However, I would expect this action to be 100% reversible. The remaining diff means that there are some optional quotes, that are not caught by plain-scalar: always.
The following diff to the unit tests, highlights those cases:
diff --git a/tests/fixtures/rules/plain-scalar/valid/test-input.yml b/tests/fixtures/rules/plain-scalar/valid/test-input.yml
index c50829b..1c5731f 100644
--- a/tests/fixtures/rules/plain-scalar/valid/test-input.yml
+++ b/tests/fixtures/rules/plain-scalar/valid/test-input.yml
@@ -1,2 +1,17 @@
 # {}
 a: b
+
+c,c: d,d
+"e,e": "f,f"
+
+g:g: h:h
+"i:i": "j:j"
+
+k|k: l|l
+"m|m": "n|n"
+
+o{o: p{p
+"q{q": "r{r"
+
+s}s: t}t
+"u}u": "v}v"

Adding those test-cases to the valid fixtures makes the tests still pass. However, in each of those cases the same input is given once with quotes and once without. The plain-scalar rule should throw errors in all of the quoted examples here, because those quotes are optional.

I think the following check needs to take into account the position of the character in the string and/or whether it's followed by whitespace or not (in the case of :):
https://github.com/ota-meshi/eslint-plugin-yml/blob/576f58fbfb2bc08c1a7753000f55974a4f875e55/src/rules/plain-scalar.ts#L110-L112

Thank you for this issue.
I know there are false positives in this rule, but we should carefully check how to safely remove the quotes.
- ["e,e": "f,f"]
- [e,e: f,f]

Also, removing quotes from them can be difficult for humans to read, so I think it may need to be an option.

That makes sense. For me, the most important factor is consistency. I want the plugin to force a decision. Even if the quotes are not needed from the spec in this case, I would be fine, if they were added consistently. So as long as changing the setting to never and back to always will always revert 100% of the changes, that would be cool.
Implementation wise this could take a real "dumb" approach: Could we do the following?
When a quoted value is found:

parse the given yaml to json (either the whole document, or the smallest possible "scope" - just the value in quotes is probably not enough, as it depends on context as your example shows)
remove the quotes
parse the same scope as json again
compare the two jsons - if they match, it was safe to remove the quotes

This would avoid the need to try to replicate the spec.
WDYT?

Also, removing quotes from them can be difficult for humans to read, so I think it may need to be an option.

The suggestion I made above, does not take this into account. I see that point, but I fear the "readability" part might be subjective and a lot harder to implement. One general approach to this would be to say: Whenever a scalar can not be represented as a plain scalar in any one context, add quotes to this scalar in all contexts.
Although I don't really know where we would end up with that. How many different contexts would we need to take into consideration? Would we add "too many" quotes because of that?

When a quoted value is found:

parse the given yaml to json (either the whole document, or the smallest possible "scope" - just the value in quotes is probably not enough, as it depends on context as your example shows)
remove the quotes
parse the same scope as json again
compare the two jsons - if they match, it was safe to remove the quotes

This would avoid the need to try to replicate the spec.

That idea sounds good to me. I don't want to re-parse the entire document as much as possible, but it can be difficult for me.

The suggestion I made above, does not take this into account. I see that point, but I fear the "readability" part might be subjective and a lot harder to implement.

I was thinking of using pattern to exclude it from the check. But I forgot that the option already existed 😅.
https://ota-meshi.github.io/eslint-plugin-yml/rules/plain-scalar.html#options