Build error when building a Nextra Docs project manually if the path contains Russian characters

Bug Report
Description
I'm trying to manually create a new empty project and I'm getting an error.
I created a demo folder in a folder called in Russian.
Reproduction Steps

Open the link to manually create a demo project.
Follow the steps outlined in Section 1 under npm installation here to install dependencies and add the required script to the package.json.
Add Next.js Config as per the instructions provided here.
Create Docs Theme Config by referring to the guidelines mentioned here.
Create a test page named index.mdx under the pages directory.
Run your test project using the command npm run dev.

Expected Behavior
The project runs in any folder, regardless of case and language.
Actual Behavior
When I created an intermediate folder and created a project in it, an error appears.
~/Downloads/РусскаяПапка/Demo
When I create a project in a folder with English characters in the path, there are no errors.
~/Downloads/Demo
 ✓ Ready in 2.5s
 ○ Compiling / ...
[nextra] Init git repository failed Discover git repo from [C:\Users\Suprunchuk.Pavel.GROUP\Downloads\РусскаяПапка\Demo] failed: could not find repository at 'C:\Users\Suprunchuk.Pavel.GROUP\Downloads\РусскаяПапка\Demo'; class=Repository (6); code=NotFound (-3)
 ⨯ C:UsersSuprunchuk.Pavel.GROUPDownloadsРусскаяПапкаDemo       heme.config.jsx
Module build failed: UnhandledSchemeError: Reading from "C:UsersSuprunchuk.Pavel.GROUPDownloadsРусскаяПапкаDemo heme.config.jsx" is not handled by plugins (Unhandled scheme).
Webpack supports "data:" and "file:" URIs by default.
You may need an additional plugin to handle "c:" URIs.
Import trace for requested module:
C:UsersSuprunchuk.Pavel.GROUPDownloadsРусскаяПапкаDemo  heme.config.jsx

Screenshots/Videos

Environment

Browser: Google Chrome 122.0.6261.129
OS: windows 11 pro.

"next": "^14.1.3",
"nextra": "^2.13.4",
"nextra-theme-docs": "^2.13.4",
"react": "^18.2.0",
"react-dom": "^18.2.0"

Demo project
Create a Russian folder and place it there.
Demo.zip

Now it seems to be letting Russian characters in, but the error is displayed because of the number in the path.

@shuding When will this be fixed? I can't run the project properly in the working folder

Hi @shuding
I'm facing another problem. In addition to Russian characters, I cannot use underscores and dashes with parentheses in the folder path. I have another error displayed. This is very inconvenient. I ask you to fix this bug as soon as possible. It's very urgent. “thanks.

This error also occurs in non-english characters (such as Korean).


UI Changes

Goals

Remove both scrollbars for a clean interface
Overall UI Cleanup, to make it fresh.
Make it completely usable.

Which "both scrollbars" (context: I use a mac)? Also what is unusable?

@webdev03
the horizontal and vertical scroll bars ruin aesthetic.

Can you send a screenshot?  I see! I'll fix it. Just wait a minute!

@webdev03 Your account's broken. Attempting to follow you or doing anything to do with you results in a 422 error.

My account isn't broken.

@JaydenDev Make the release public?

@VelocityDesign wdym?

https://github.com/JaydenDev/Catalyst/releases/tag/v21.12.104
this build now includes the styling.

I will be doing a UI restyle to match the branding. I'll probably go with a blur style similar to https://explorer.helium.com/

I will be doing a UI restyle to match the branding. I'll probably go with a blur style similar to https://explorer.helium.com/

Could I have my logo please?

I will be doing a UI restyle to match the branding. I'll probably go with a blur style similar to https://explorer.helium.com/
alright, make sure to use tailwind! it'll make it easier

I will be doing a UI restyle to match the branding. I'll probably go with a blur style similar to https://explorer.helium.com/

make sure to use tailwind

yes tailwind!!

Goals
...

Make it completely usable.

Totally read that as unstable lol

Did @webdev03 block me?

@webdev03 your fix doesnt work

Oh, okay, I'm confused why the scrollbars are there.

Oh, okay, I'm confused why the scrollbars are there.

Did you block me?

Oh, okay, I'm confused why the scrollbars are there.

well its because you used class="" instead of style="" maybe?

style is for normal CSS, class is for tailwind.

Wait, really? 🥳

The thing is now, the fullscreen mode kind of broke, but it's fine, make sure webview scrolling works, if it doesn't I will bring out a patch.

Catalyst is now out of dev, now in beta. Let's get goin so the pre-release can release next week.

#70


Clean persistent Capella workspaces

Sometimes weird things happen with Capella workspaces - users should be able to clear or repair their workspaces with a button in the frontend.

When cleaning the workspace, there should be a confirmation popup. It should state that it deleted all models in the workspace and that they are not recoverable.

The workbench state is stored in this file: ./.plugins/org.eclipse.e4.workbench/workbench.xmi
Then, there is ./.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace, which contains a history of actions in the workspace. We should also try deleting it.
./.plugins/org.eclipse.core.resources/.projects contains a directory for each element.
./.plugins/org.eclipse.core.resources/.root/3.tree Is a binary file with tree content.
As a first approach, we should try deleting all plugins except org.eclipse.core.resources and org.eclipse.e4.workbench.

Broken semantic browser:

Code origin may be somewhere here:

https://github.com/eclipse/capella/blob/f9bdcb9647664cfb782c3f629e66073c9e2b8c66/core/plugins/org.polarsys.capella.core.ui.semantic.browser/src/org/polarsys/capella/core/ui/semantic/browser/view/SemanticBrowserView.java#L844

A PVMT issue was reported:

Clearing a workspace would be the same as removing the persistent volume for that that user, right?

Clearing a workspace would be the same as removing the persistent volume for that that user, right?

There are a few options:

Delete the whole PVC. This will remove everything from the workspace, also the projects / models and can lead to a data loss. We have to properly warn during the deletion.
Delete only the metadata directory in the workspace. This is a bit more complicated because we need to spawn a Pod for it.
Delete only the files which break a workspace. This will need more investigation which files are causing the workspace issues.


Plugin not working since last runelite update

help please :D

are you sure you're not mixing up this plugin with https://github.com/BossHuso/discord-rare-drop-notificater/issues/90 ?

Is this the correct channel to report for the plugin: “Better Discord Loot Logger”? If not, sorry for bothering. If so, the plugin is not sending any screenshots since Wednesday 08/14/2024. I rechecked its functionality by lowering the Value Threshold to 1, but unfortunately it is not working at all anymore.

nvm, you're in the correct repo then


It asking login every time I open the application .

https://github.com/Yashshukla11/ExamTime_android/assets/85289204/4a88b12e-3780-4fa2-bd8f-5cffccaa69bd

I can work on this .Please assign me.

I will fix this please assign me .

I am contributer of GSSOC'24 can u please assign me this issue.

Hey @Yashshukla11  can you please asssign me this issue . I can work on this


TargetFramework .NET Standard 2.0+ crashes on launch, can't find assembly System.Text.Json

Godot version:

3.2.3 mono stable
4.0 mono compiled at commit d425cf6fe

OS/device including version: Ubuntu 20.04
Issue description:
Godot 3.2.3 was released and includes PR #41408 which, as I understand, should allow me to change the framework to .NET Standard 2.0 or greater. So I tried changing the framework to netstandard2.1 and found this issue.
The game compiles fine but when launching it, it immediately crashes with the error:
E 0:00:00.509   debug_send_unhandled_exception_error: System.IO.FileNotFoundException: Could not load file or assembly 'System.Text.Json, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies.
  <C++ Error>   Unhandled exception
  <C++ Source>  modules/mono/mono_gd/gd_mono_utils.cpp:424 @ debug_send_unhandled_exception_error()

The .csproj is as follows:
<Project Sdk="Godot.NET.Sdk/3.2.3">
  <PropertyGroup>
    <TargetFramework>netstandard2.1</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="System.Text.Json" Version="4.7.2" />
  </ItemGroup>
</Project>

This only happens when changing the framework to netstandard2.0 or netstandard2.1, I have found that both of those throw that error, but if the framework is kept as net472 it works fine. I'm not sure if 3.2.3 is supposed to work well with .NET Standard since the default is still net472 so I tried compiling master as well and got the same results.
Steps to reproduce:

Create a new project
Change TargetFramework to netstandard2.1
Add System.Text.Json package (dotnet add package System.Text.Json)
Launch Game in Editor
Game builds and launches but immediately crashes

Minimal reproduction project:
NetStd21.zip

I looked a little into this.
First, it looks like the place Godot/Mono is expecting to find the DLL is .mono\temp\bin\Debug. So the first question is why the package's DLLs show up there for net472 but not netstandard2.0 / netstandard2.1.
I don't know the answer. But, adding <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> to a PropertyGroup in the csproj makes them show up.

But there's still an exception thrown at runtime after that workaround, it just changes at this point. New exception:
Unhandled Exception:
System.TypeInitializationException: The type initializer for 'System.Text.Json.JsonSerializer' threw an exception. ---> System.MissingMethodException: Method not found: int System.Text.Encodings.Web.TextEncoder.FindFirstCharacterToEncodeUtf8(System.ReadOnlySpan`1<byte>)
  at System.Text.Json.JsonEncodedText.EncodeHelper (System.ReadOnlySpan`1[T] utf8Value, System.Text.Encodings.Web.JavaScriptEncoder encoder) [0x00000] in <3e024d1008104aac9fe12198f4c68344>:0
  at System.Text.Json.JsonEncodedText.TranscodeAndEncode (System.ReadOnlySpan`1[T] value, System.Text.Encodings.Web.JavaScriptEncoder encoder) [0x00033] in <3e024d1008104aac9fe12198f4c68344>:0
  at System.Text.Json.JsonEncodedText.Encode (System.ReadOnlySpan`1[T] value, System.Text.Encodings.Web.JavaScriptEncoder encoder) [0x00014] in <3e024d1008104aac9fe12198f4c68344>:0
...

I found this issue about it: https://github.com/dotnet/runtime/issues/1460. The version of System.Memory.dll that ends up at .mono\temp\bin\Debug conflicts with the one provided by Mono, so there are actually two different versions of ReadOnlySpan<byte> loaded that aren't matching up with each other. (If that issue really does apply to this situation.)
The workaround mentioned in that issue is to add <PackageReference Include="System.Memory" Version="4.5.3" IncludeAssets="None" /> to an ItemGroup in the csproj to make sure that Mono's version of System.Memory.dll is used. (Note: 4.5.3 is old and causes a build warning--4.5.4 is the new version.) This workaround does make System.Memory.dll disappear from .mono, but the error doesn't change for me.
Not sure where to go from there. I don't see any explanation on that thread of how you can actually tell what ReadOnlySpan<byte> implementations are being loaded. 🙁

So I've been having similar issues with other packages, specifically MessagePack.
Looking at the minimal repro project, it looks like even when you
apply 31's  workaround of <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> , the "wrong" dll gets copied from C:\<User>\.nuget\packages\system.text.json\4.7.2\lib.
It's copying files from the netstandard2.0 folder.
Given my limited understanding of the build process, I don't know if that's valid considering the lack of a netstandard2.1 folder.
That being said, when I work with MessagePack, there is a netstandard2.1 folder with a MessagePack.dll, and it's still drawing from netstandard2.0.
Looking at the .deps file that shows up in.mono\temp\bin\Debug there's a lot of stuff labeled netstandard2.0 despite the project targeting netstandard2.1. Is that fine if the dependencies don't use features of 2.1?

It looks like this can be solved if we set CopyLocalLockFileAssemblies to true in our Sdk (it's disabled by default for .NETStandard projects and non-Exe .NETCoreApp projects).
Meanwhile you can add this manually to your csproj:
  <PropertyGroup>
    <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
  </PropertyGroup>

Oh, never mind. I'm blind. That's what your comment says...

No idea if this is a bug with Mono, the packages or something Godot is doing wrong.
I made sure Godot was using Mono's assemblies. In my case the exception is: System.TypeLoadException: VTable setup of type System.Text.Json.Utf8JsonWriter failed. Maybe because of the Mono version I'm using (<IP_ADDRESS>).
The log file has this:
no implementation for interface method System.IAsyncDisposable::DisposeAsync() in class System.Text.Json.Utf8JsonWriter

Looking at the minimal repro project, it looks like even when you
apply 31's  workaround of <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> , the "wrong" dll gets copied from C:\<User>\.nuget\packages\system.text.json\4.7.2\lib.
It's copying files from the netstandard2.0 folder.

That should be the correct assemblies as .NET Standard 2.0 is compatible with 2.1.

I tried again with Godot 3.2.4 RC1 and updated to Mono <IP_ADDRESS> but I did not get that exception, building with netstandard2.1 and CopyLocalLockFileAssemblies I'm getting the same exception that 31 gets:
System.TypeInitializationException: The type initializer for 'System.Text.Json.JsonSerializer' threw an exception. ---> System.MissingMethodException: Method not found: int System.Text.Encodings.Web.TextEncoder.FindFirstCharacterToEncodeUtf8(System.ReadOnlySpan`1<byte>)
  at System.Text.Json.JsonEncodedText.EncodeHelper (System.ReadOnlySpan`1[T] utf8Value, System.Text.Encodings.Web.JavaScriptEncoder encoder) [0x00000] in <7e3a59f5e4004edbb4b17c580799cc52>:0
  at System.Text.Json.JsonEncodedText.TranscodeAndEncode (System.ReadOnlySpan`1[T] value, System.Text.Encodings.Web.JavaScriptEncoder encoder) [0x00033] in <7e3a59f5e4004edbb4b17c580799cc52>:0
  at System.Text.Json.JsonEncodedText.Encode (System.ReadOnlySpan`1[T] value, System.Text.Encodings.Web.JavaScriptEncoder encoder) [0x00014] in <7e3a59f5e4004edbb4b17c580799cc52>:0
  at System.Text.Json.JsonEncodedText.Encode (System.String value, System.Text.Encodings.Web.JavaScriptEncoder encoder) [0x00014] in <7e3a59f5e4004edbb4b17c580799cc52>:0
  at System.Text.Json.JsonSerializer..cctor () [0x00042] in <7e3a59f5e4004edbb4b17c580799cc52>:0
   --- End of inner exception stack trace ---
  at Main._Ready () [0x00001] in /home/raul/GodotProjects/NetStd21/Main.cs:14

With netstandard2.0 and CopyLocalLockFileAssemblies I get no exception and it works.
Out of curiosity I tried net5.0 and CopyLocalLockFileAssemblies and I get a different exception:
System.TypeLoadException: Could not load type of field 'System.Text.Json.JsonSerializerOptions:_encoder' (14) due to: Could not load file or assembly 'System.Text.Encodings.Web, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies.

Also I'm not sure how Godot builds the project, but from reading the CopyLocalLockFileAssemblies documentation it seems to me we are using dotnet build when maybe we should be using dotnet publish?

No idea if this is a bug with Mono, the packages or something Godot is doing wrong.

My guess is it has something to do with Godot since System.Text.Json works fine for me in non-Godot projects.

Cant reproduce the issue. Can u give me a simple test project?

Did you try the linked minimal reproduction project in the first post? I can still reproduce it with Godot 3.3.

I get the same issue. After adding the System.Text.Json package from Nuget it builds fine. But when running JsonSerializer.Serialize(data) it gives the same exception as @raulsntos
I'm using Godot 3.3 and my project is set to netstandard2.1. Trying to use netstandard2.0 resolves the problem, you do lose some new .Net features but that is okay for me right now.

I got the same error, but this fixed that issue. https://github.com/godotengine/godot/issues/48701#issuecomment-1179778240

I can Confirm the System.Text.Json crashes with the same errors on Android using v3.52 RC 2.
I found a user mentioned that Newtonsoft's JSON will work.
I hope this can get fixed soon because Newtonsoft is slower than System.Text.Json with big files.

Fixed in master by https://github.com/godotengine/godot/pull/64089.

A lot of time has passed, but I just now stumbled upon this issue myself. I'm using

Godot 3.6-beta3 (but it would very likely be the same on stable 3.5 I'd assume)
Godot-SDK Godot.NET.Sdk/3.3.0
.Net Target Framework: netstandard2.1

What I was trying is adding Sentry (library for sending crash reports), which internally uses System.Text.Json. The specific error I'm getting is:
VTable setup of type System.Text.Json.Utf8JsonWriter failed
  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[TStateMachine] (TStateMachine& stateMachine) [0x0002c] in <c84d94161bca414384015e66544862cf>:0
  at Sentry.Protocol.Envelopes.Envelope.SerializeHeaderAsync (System.IO.Stream stream, Sentry.Extensibility.IDiagnosticLogger logger, Sentry.Infrastructure.ISystemClock clock, System.Threading.CancellationToken cancellationToken) [0x0003d] in <4280cf04ff3343328bfffed38ba93a4f>:0
  at Sentry.Protocol.Envelopes.Envelope.SerializeAsync (System.IO.Stream stream, Sentry.Extensibility.IDiagnosticLogger logger, Sentry.Infrastructure.ISystemClock clock, System.Threading.CancellationToken cancellationToken) [0x00024] in <4280cf04ff3343328bfffed38ba93a4f>:0
  at Sentry.Internal.Http.EnvelopeHttpContent.SerializeToStreamAsync (System.IO.Stream stream, System.Net.TransportContext context) [0x0008f] in <4280cf04ff3343328bfffed38ba93a4f>:0

Which hints at the same problems discussed here.
None of the things I tried worked, including

setting CopyLocalLockFileAssemblies in project settings
using different versions of Sentry
using different versions of System.Text.Json

So, AFAICT there are no workarounds... which sucks, considering 3.x was supposed to have long-term support :(
Am I missing anything? Has anybody made this work? I suspect lots of libraries have already moved to System.Text.Json from Newtonsoft.Json, considering it's the new standard. I assume none of those work in Godot 3.x?

@maximiliancsuk Can you target .NET Framework 4.7.2 instead in your project? Any library that targets .NET Standard 2.0 should be usable (it seems Sentry does).

3.x was supposed to have long-term support

It is :slightly_smiling_face:. When you create a project in 3.x, it targets .NET Framework 4.7.2 which guarantees the most stable support. You have to manually modify the csproj to target .NET Standard 2.1, this is fine but it comes with some caveats. I'm sorry that this caused issues for you.
Keep in mind you can still use System.Text.Json and any other library that targets .NET Standard 2.0 in a project that targets .NET Framework 4.7.2. So my recommendation is to stay on .NET Framework 4.7.2 unless you have a very strong reason not to.

@maximiliancsuk Can you target .NET Framework 4.7.2 instead in your project? Any library that targets .NET Standard 2.0 should be usable (it seems Sentry does).

3.x was supposed to have long-term support

It is 🙂. When you create a project in 3.x, it targets .NET Framework 4.7.2 which guarantees the most stable support. You have to manually modify the csproj to target .NET Standard 2.1, this is fine but it comes with some caveats. I'm sorry that this caused issues for you.
Keep in mind you can still use System.Text.Json and any other library that targets .NET Standard 2.0 in a project that targets .NET Framework 4.7.2. So my recommendation is to stay on .NET Framework 4.7.2 unless you have a very strong reason not to.

Ohhh, you're right! I switched to .Net Standard 2.1 for some new features and totally forgot that it's not actually the default. It works as it should using .Net Framework 472.
Thanks a lot! :)


Missing French translations

https://github.com/jahfer/ourpolitics/blob/8259dbae19565a88c266784e9ad2a0e34006ed09/static/policies/2019/policies.json#L546-L547
https://github.com/jahfer/ourpolitics/blob/8259dbae19565a88c266784e9ad2a0e34006ed09/static/policies/2019/policies.json#L562-L563
https://github.com/jahfer/ourpolitics/blob/8259dbae19565a88c266784e9ad2a0e34006ed09/static/policies/2019/policies.json#L578-L579
https://github.com/jahfer/ourpolitics/blob/8259dbae19565a88c266784e9ad2a0e34006ed09/static/policies/2019/policies.json#L594-L595
https://github.com/jahfer/ourpolitics/blob/8259dbae19565a88c266784e9ad2a0e34006ed09/static/policies/2019/policies.json#L610-L611
https://github.com/jahfer/ourpolitics/blob/8259dbae19565a88c266784e9ad2a0e34006ed09/static/policies/2019/policies.json#L626-L627
https://github.com/jahfer/ourpolitics/blob/8259dbae19565a88c266784e9ad2a0e34006ed09/static/policies/2019/policies.json#L642-L643
https://github.com/jahfer/ourpolitics/blob/8259dbae19565a88c266784e9ad2a0e34006ed09/static/policies/2019/policies.json#L1116-L1117
https://github.com/jahfer/ourpolitics/blob/8259dbae19565a88c266784e9ad2a0e34006ed09/static/policies/2019/policies.json#L1131-L1132
https://github.com/jahfer/ourpolitics/blob/8259dbae19565a88c266784e9ad2a0e34006ed09/static/policies/2019/policies.json#L1146-L1147
https://github.com/jahfer/ourpolitics/blob/8259dbae19565a88c266784e9ad2a0e34006ed09/static/policies/2019/policies.json#L1161-L1162

Please have a look at #21.

Closed by https://github.com/jahfer/ourpolitics/pull/21 🎉


small business key

keep in mind im fairly new to this. I ran the GitHub actions workflow and made the account etc, but i noticed its only a trial version as i logged into the home version.
i want to get the small business key hoping that its like a serializer premium.
how do i run this commands? i uninstalled eset but i still have the random acc/email/key etc associated
should i restart this process and do it through terminal and not fork it ?
OS Sonoma 14.6.1

The program gives both a key and an account with trial access


Jekyll install needs a Gemfile

Currently, the way to install all of the plugins needed for the site to run locally is to run jekyll serve and keep gem installing plugins until it stops breaking.

Haha yes @rmloveland !
I thought I was missing something when installing...

Looks like I was missing that we do actually have a Gemfile - it seems to work if you do a bundle install followed by a bundle exec jekyll serve, so I'll close this


[BUG] cat << eof + Ctrl+C reports a ioctl warning when running in valgrind

Warning: noted but unhandled ioctl 0x5412 with no size/direction hints.
   This could cause spurious value errors to appear.
   See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper.

Copilot:

This warning message is from Valgrind, a tool used to find memory leaks and other issues in programs. The message is saying that an ioctl system call with the command 0x5412 (which corresponds to TIOCSTI) was encountered but not handled by Valgrind.
This doesn't necessarily mean there's a problem with your program. Valgrind doesn't understand all possible ioctl commands, and TIOCSTI is one of them. When Valgrind encounters an ioctl it doesn't understand, it issues a warning like this one.
The warning message suggests that this could cause spurious value errors to appear. This means that because Valgrind doesn't understand this ioctl, it might report incorrect errors later on.
The message also refers to README_MISSING_SYSCALL_OR_IOCTL, which is a document that provides guidance on how to write a "wrapper" for system calls or ioctl commands that Valgrind doesn't understand. This is typically something that a developer working on Valgrind itself would do, not something that a user of Valgrind would need to worry about.
In summary, this warning is not indicating a problem with your program, but rather a limitation of Valgrind. If you're not seeing any other issues reported by Valgrind, your program is likely fine.

Valgrind resource:
https://valgrind.org/docs/manual/dist.readme-missing.html


fix: use node 20 and add missing workdir on docker build

Hi,
There is 2 bugs on the Dockerfile in the element-desktop app.
I will see to fix it on the main repository, but as it can takes longer to be on the stable build, I added the fix on the patch script.
The issue started on this commit : https://github.com/element-hq/element-desktop/pull/1664/files#diff-9bb636bf9640838da44ea1e05710ad2aee398d4df07149c5d3bd0dc45bf6dfb9
It removes the WORKDIR on the dockerfile, so yarn run dont find the packages.json files.
Also, the development build need Node 20, and as it's the LTS current version and it builds on stable and dev version, I upgraded the dockerfile to use this version.
The patch file should be cleaned in the future when the fix in element-desktop repository will be deployed on a future stable version.
It will fix issue #11

Thank you for your contribution @tduboys


fix(approvals-satisfied): correctly handle list of users from codeowners

:pencil: Description

When codeowners is a comma-seperated list of users and not a team, the string is interpreted a single user, i.e. '@user1,@user2' rather than ['@user1', '@user2']

:tada: This PR is included in version 1.55.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


docs(Observer): add documentation to Observer interface

Description:
Since I proposed a TapObserver documentation page PR (#6944), I thought that we should document the Observer interface page as well. Although there are a guide and a glossary pages that explain most of what I wrote in this PR (which I also mentioned in this PR), I wanted to still add the basic documentation to the Observer interface page which users can encounter while roaming the docs app (which is empty for now).
This is how these changes look like:

Related issue (if exists):
None

This can be merged into master and 7.x


Cannot identify params type when define typed variables with generic arrow function

TypeScript Version:  4.2.0-dev.20201124

Search Terms: generic arrow function, type inference, contextual type
Code
// Let's assume there's a compute function in another module.
function computeFn<T>(arg: T): T {
  return arg;
}

// In non-generic arrow function use case, we can declare function type and assign it to the variable
// and `arg` will be infered as number type.
export type NormalFn = (arg: number) => number;
const normalFn: NormalFn = (arg) => {
  return arg;
};

// In generic use case, we can still do this and TypeScript will infer `arg` as T.
export type GenericFn = <T>(arg: T) => T;
const genericFn: GenericFn = (arg) => {
  return arg;
}

// However, once we need the generic type in function (ex. call another generic func)
// we have to declare generic before the arrow function
// Then, the arg will be infered as `any`, which is not (I think) the expected behavior.

const genericFn2: GenericFn = <T>(arg) => {
  // `arg` will be infered as `any`
  return computeFn<T>(arg)
}

Expected behavior:
In the third use case (genericFn2), the parameters should be infered as T, which match the variable's type.
Actual behavior:
TypeScript will infer parameter type as any.
Playground Link: https://www.typescriptlang.org/play?ts=4.2.0-dev.20201124#code/MYewdgzgLgBKC2AHArlApgMTDAvDAPACoA0MAfABQCGATgOYBcMhAlLmTLXQNwCwAUGgAeiEDVhQAnojQwA4mjBoaAS2BZcBQpS5NW7Zn0EixsUJFh1FytViYKlq9djxFSO+mxwcA3gJgwNGhQyDTYCCjoWEQedCwCAL4CAlaOtmAUAORUmSzcQA
Related Issues:
Looks similar to https://github.com/microsoft/TypeScript/issues/25293, which is wontfix. But I'm not sure if they are the same thing actually.

This is the intended behavior; there's no mechanism that would take the type parameters from GenericFn and remap them onto the function signature through contextual typing - critically, even though they're both named T, they are different type parameters and there's no clear reasoning by which they should be treated as the same.

Thanks for the reply :) I have some questions, though:

So in theory, can't contextual typing map type parameter? From a newcomer's view, the type

type GenericFn = <T1>(arg: T1) => T1;

and the function, looks so similar.
<T2>(arg) => {
  return arg;
}

Since they both have only one type parameter, can't we map the T1 in GenericFn type onto T2 in latter function and say arg is T? If we can map function parameter type during contextual typing, is it possible to map type parameter? (even though there's no such mechanism currently)

So how do we get the type parameter through contextual typing? I mean, when

type GenericFn = <T>(arg: T) => T;

const fn: GenericFn = (arg) => {
  return computeFn<T>(arg); // How do we get `T` here?
}

I don't want to typing arg additionally in parens since it can be hard to read function parameter when the type is complicated. Currently the only workaround I can think of is:
const fn: GenericFn = (arg) => {
  return computeFn<typeof arg>(arg);
}

But this looks not that good as getting T from type parameter.


feat(web): added edit profile modal

Added Edit Modal component in Components directory.
Also added root div to render modal in _document.tsx file
Also added state in user/[username]/index.tsx
to detect when modal is clicked or not. Added change from "follow" to "edit profile" and conditional to render modal depending on the state value.
Changed edit.tsx by removing navbar.
Requires css to be converted to tailwindcss in EditModal.tsx
Note: ormconfig.tsx file is not included in push request. In addition, thoughts on implementing custom Modal instead for both edit profile option and send message? Thanks!

Hello,  i forgot to add one comment about the typeof window==undefined in EditModal.tsx. This was to prevent nextjs from crashing sometimes because it  might check server side first and DOM is undefined at that point.


Found Issue, Going Next Course 'name'

Try to down the course learn git the hard way, it doesn't work
this is the address in the urls.txt   https://www.educative.io/courses/learn-git-hard-way/JYOGn0Bkv5J

I am having the same issue, how do we fix it?

Alright, I am not a Python expert by I debugged this problem and found the problem was with the below code
    print("Getting File Name")
    print("Getting File Namesss")
    meta_script_selector = "script[type='application/ld+json']"
    metadata = driver.find_elements( By.CSS_SELECTOR, meta_script_selector)[0].get_attribute('innerHTML')
    metadata = json.loads(metadata)
    if course_folder:
        file_name = metadata['name']

Just note this line
metadata = driver.find_elements( By.CSS_SELECTOR, meta_script_selector)[0].get_attribute('innerHTML')
It uses the 0th element but in my case, it was 1st element( Found out after looking through the sources)
Changing the previous line to the below line fixes the problem
  metadata = driver.find_elements( By.CSS_SELECTOR, meta_script_selector)[1].get_attribute('innerHTML')
I am not sure it's always one, but the one solution I could think of is to look through all the array elements if there is no name found.
by the way, @anilabhadatta , Thank you for this tool.

@sumant4ssm thank you for pointing out the issue.
Currently i am not well so i will try to fix it in few days.
If possible comment the latest get file name function and uncomment the previous one present just above.

thanks @anilabhadatta .  It was an easy fix and was able to fix it.

@sumant4ssm thank you for pointing out the issue. Currently i am not well so i will try to fix it in few days. If possible comment the latest get file name function and uncomment the previous one present just above.

after commenting getting below error any help is greatly appreciated
ad Webpage Function
Checking Login Function
Checking for captcha Function...
Create Course Folder Function
Getting File Name
File Name Found
Found Issue, Going Next Course slugify() got an unexpected keyword argument 'replacements'
Script Execution Complete

@zerohope @sumant4ssm @paletikoushik Test it now, should be fixed. Clone the repo again in a fresh location.

cloned the repo again in fresh location still getting below error, any help is greatly appreciated sir.
Driver Loaded
                        [Selected config: 0] Starting Scraping: 0, https://www.educative.io/courses/decode-coding-interview-cpp/qABQKQqWmmk

Load Webpage Function
Checking Login Function
Checking for captcha Function...
Create Course Folder Function
Getting File Name
File Name Found
Found Issue, Going Next Course slugify() got an unexpected keyword argument 'replacements'

@paletikoushik In my testing, i am not receiving this error.
Please answer the following?
Have you created a virtual env?
If yes, then did you install the modules from requirements.txt?
In my tool, I am using python-slugify instead of slugify. Maybe that is causing some issues.
One more note I should add, there is a bug in file naming as well. I will fix it today.

Ok sir, so I made mistake
after install requirements.txt I got selenium missing.
I did pip3 install selenium and after that got slugify missing and I used pip3 install slugify, so that is creating the problem sir now how to solve this issue sir. I tried to uninstall it by pip3 uninstall slugify and installing pip3 install python-slugify still getting same error. I tested it on mac and its working fine (as that was first time i got same error like selenium missing and slugify missing and I installed pip3 install python-slugify and its working. What should I do on my windows laptop any help is greatly appreciated.

@paletikoushik can you share your screen?

running the commands with
python chromedriver.py
python educative_scraper.py  instead of python3 chromedriver.py..... solved my issue it asked for selenium and slugify and i used python-slugify it worked like charm thanks for the scraper and many many thanks for your support.

Welcome.


Add a second (alternative) Wi-FI to connect to, when the primary is not available

Describe you new feature you'd like
Just as in Tasmota, it would be great to have the option to add a second WiFi ssid and password. That way, one could set up the module and do the initial validation at their lab/home and then complete the shade setup at the desired location.

You can still perform that operation without a second SSID.  When the configured SSID does not exist, it will open the the SoftAP mode.  At which time you can set the credentials for the final destination.
While the multi ap settings that are used in Tasmota may seem like a good idea they cause the scan to have to look for more APs.  This is problematic when supporting roaming.


navidrome: accept DataFolder option

Description of changes
In the current version of the navidrome module, the setting DataFolder is allowed to be set but the service is not able to see that directory. I made a change that allows that directory to be bound if the option is set withing the settings option.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

I think the commit message should start with nixos/navidrome: since you modified the service definition, not the package definition.

Sorry about that! This should fix the issue!

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/1206

cc @mweinelt


Fix SSAO blur range

I think blur range should include last iteration. Otherwise it will be weight shifted by one texel.

Yeah, that's correct indeed. But updating the text shaders only doesn't suffice. The samples consume the combined .spv files, so they need to be updated too.


SUSE import: Support 15.2; Parity for SLES for SAP

After this PR, the following versions of SLES will be importable:
| SLES | SLES for SAP | OpenSUSE
-- | -- | -- | --
12.4 | Existing | Existing | *
12.5 | Existing | New | *
15.1 | Existing | New | Existing
15.2 | New | New | New
*: Not importable; Version is EOL.
This PR is split one of two from https://github.com/GoogleCloudPlatform/compute-image-tools/pull/1352, which I'm splitting to simplify the review process.
Testing:

Added e2e tests:

Each major version has one registered image that is imported as BYOL (4 total), this PR.
Each minor version has an unregistered image that is imported and verified (8 total), in the on-demand PR split from https://github.com/GoogleCloudPlatform/compute-image-tools/pull/1352

Ran existing SLES and OpenSUSE tests from ci-daisy-e2e
Added Python unit test support in the utils package in linux_common. Currently they run manually; once this is pushed I'll add a prow config similar to the boot inspect pytest

Adds support for 15.2 (SLES, SLES SAP, and OpenSUSE), and adds increases supported versions of SLES SAP so that SLES and SLES SAP have the same supported versions.


Initial implementation of partial support for copying media files

This is an suggestion how to support user when they have to copy media files from the DocBook Sources to the HTML Result file structure. I think that support for this would be very helpfull, since the destination file structury may differ from the source file structure. This initial implementation covers only images (DocBook elements that lead to an html:img element) and does not include any documentation in the reference manual.
The idea is that every html:img element gets an additional attribute ghost:sourcefilename with the full path of the original media file in  the docbook source file structure. This attribute is kept in all following transformations steps up to, and including, post processing.
The value of  img/@src attribute is relative to the HTML file which includes the img element. When we know the $mediaobject-base-output-uri we can resolve the @src attribute against it to get an absolute value. The same should be possible with chunked output, but this is not implemented yet. When there are to absolute file-paths, we can generate copy-instructions, since we know source and destination.
If the function file:copy is available, the copy instructions can be executed. This is the case for users with a licence of SAXON-PE or EE including Users with Oxygen.  Otherwise, a file with copy instructions could be generated (this is not implemented, since there is a conflict with the XSpec based test mechanism: Can't do result-document while evaluating as variable.).
In don't  expect this PR to be merged into the Stylesheets, because it's  incomplete. If you think the basic idea works, I would develop the proposal further.
Greetings, Frank

revoked


Fix yaml meta data marshal

Changes proposed in this pull request:

Fix yaml meta data marshal

Pull Request Test Coverage Report for Build 10886

0 of 35 (0.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.09%) to 57.21%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

sharding-orchestration/sharding-orchestration-core/sharding-orchestration-core-metadatacenter/src/main/java/org/apache/shardingsphere/orchestration/core/metadatacenter/yaml/RuleSchemaMetaDataYamlSwapper.java
0
35
0.0%

Files with Coverage Reduction
New Missed Lines
%

sharding-orchestration/sharding-orchestration-core/sharding-orchestration-core-metadatacenter/src/main/java/org/apache/shardingsphere/orchestration/core/metadatacenter/yaml/RuleSchemaMetaDataYamlSwapper.java
1
0%

Totals

Change from base Build 10882:
-0.09%

Covered Lines:
11668

Relevant Lines:
20395

💛  - Coveralls


Tutorial and examples on how to use APIs

Hi,
I am trying to use your library to be integrated to my C program.
unfortunately I do not see any tutorial on how to use APIs and examples. Could you please refer me to one?
Thanks.

The readme contains examples which should cover basic usage. Please see test/ directory for more.
Let me know, if there's something missing.

I found some useful examples online but there is not documentation on how to update values or setting retention policy through APIs. If you could add these they would greatly help. Thanks

There's an API for executing any commands now: https://github.com/offa/influxdb-cxx#execute-cmd


[Question]: How to set system prompts in RAG?

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
It seems my configuration method might be incorrect.
I set the system_prompt parameter in OpenAILike for RAG, but I noticed in the logs of the LLM that there are two system prompts. How can I configure it to keep only one?
Here is my code：
SYSTEM_PROMPT = "system prompt 1"

Settings.embed_model = OpenAIEmbedding(
    api_base="http://localhost:6060/v1", api_key="EMPTY"
)

Settings.llm = OpenAILike(
        model="Qwen2.5-32B-Instruct",
        api_base="http://localhost:5002/v1",
        api_key="EMPTY",
        is_chat_model=True,
        system_prompt=SYSTEM_PROMPT,
    )

db = chromadb.PersistentClient(path=str(FILE_PERSIST_DIR))
chroma_collection = db.get_collection("nlp2sql")
vector_store = ChromaVectorStore(chroma_collection=chroma_collection)

index = VectorStoreIndex.from_vector_store(vector_store)

retriver = VectorIndexRetriever(index, similarity_top_k=3)
response_synthesizer = get_response_synthesizer(streaming=True,response_mode='tree_summarize')

query_engine = RetrieverQueryEngine(
    retriever=retriver,
    response_synthesizer=response_synthesizer
)

response = query_engine.query("MY QUESTION.")
response.print_response_stream()

This is the LLM's log.
{
    "messages": [
        {
            "role": "system",
            "content": "system prompt 1"
        },
        {
            "role": "system",
            "content": "You are an expert Q&A system that is trusted around the world.\nAlways answer the query using the provided context information, and not prior knowledge.\nSome rules to follow:\n1. Never directly reference the given context in your answer.\n2. Avoid statements like 'Based on the context, ...' or 'The context information ...' or anything along those lines."
        },
        {
            "role": "user",
            "content": "Context information from multiple sources is below.\n---------------------\n{some context content},\n---------------------\nGiven the information from multiple sources and not prior knowledge, answer the query.\nQuery: MY QUESTION.\nAnswer: "
        }
    ],
    "model": "Qwen2.5-32B-Instruct",
    "stream": true,
    "temperature": 0.1
}

@wfnian the prompt template for the query engine / response synthesizer includes a system prompt. Feel free to adjust it
https://docs.llamaindex.ai/en/stable/examples/prompts/prompts_rag/#viewingcustomizing-prompts


Add name attribute to 'Glacier' and 'GlacierCollection' objects

After last year's updates, the workflow to make an experiment (like the simple bed slope comparison that can be compared with goo) has changed.
Students modifying the new workflow noticed that it would be helpful to add a 'Name' attribute to Glacier and GlacierCollection objects.  This would help with bookkeeping when there are several idealized glaciers that the students are supposed to compare with one another.

Hey Lizz!
This sounds like a good addition. I can take a look at it. Spontaneously I'm thinking of adding it as an optional argument which by default assigns a random id to the glacier if no name is provided.

Sounds great.  Thank you Erik!

I've commented on the PR. I think it needs a bit more thinking as to what to do "per default", because the new default IDs will be quite unintuitive.


IGNITE-3569 - Set copyOnRead property to FALSE for marshaller cache

IGNITE-3569
Resolved

Closing test only PR. Feel free to reopen if needed.


No 'Access-Control-Allow-Origin' header is present in ListAllMyBucketsResult packet

I'm successfully configuring CORS on a bucket level, but I have an application that wants to do a GET /, aka a ListBuckets request, and I need the ACAO header to be in the response, but it's not:

For comparison (that is, for proof that CORS is working on the bucket level), here's a view of a listing for a specific bucket:

Here's how I'm starting my server:
    await new S3rver({
        port: argv.port,
        address: 'localhost',
        silent: false,
        cors: fs.readFileSync(require.resolve('s3rver/example/cors.xml')),
        directory: argv.directory,
        configureBuckets: [
            { name: 'doc-jsons', configs: [fs.readFileSync(require.resolve('s3rver/example/cors.xml'))] },
            { name: 'staging-doc-jsons', configs: [fs.readFileSync(require.resolve('s3rver/example/cors.xml'))] },
        ],
    }).run();

I don't know where I got that cors: setting from, but it doesn't seem to do anything...
Is there a way to configure non-bucket-level CORS support?

That option was from S3rver 2.x - I have no idea what S3's ListBuckets CORs behavior is other than that it's probably not configurable. It should be easily fixable though.
I can take a look at this and your #448 later tonight. Thanks for reporting these!

Have you been able to verify that you can perform this request against the real S3 endpoint? From my own testing and some quick googling it doesn't look like the service-level endpoints support CORS.

Closing as invalid.


Properly check for group, series and property override value

Addresses #48 (reopened).
Uses newly added function pmp_get_collection_override_value to check for the override value for group, series, property based on the context for a post.

Use default values for group, series and property if they are set when initially pushing to PMP.
If the value for group, series or property is explicitly set to none, honor that value even on initial push to PMP.
Allow changing the group, series, property after initial push.

NOTE: With this patch, the value for group, series and property is always saved when pushing to PMP.
What this means is that posts will be "locked" in to a value on push. For example, if you use the default group on a post and then decide to change the default group for posts via the plugin management page, the post will continue using the old default value on subsequent pushes to PMP.

Confirmed!  Fixes #48.


cert block to be able to take .pem file

It would be great if the cert block could take a .pem file as input instead of having to insert the contents of the .pem file. This is hard to manage if we are taking certs from secret stores or other locations and the certificate or private key does not get placed into the yaml file with the correct formatting indentation.
cert: path/to/cert_chain.pem

see: https://github.com/simonmittag/j8a/issues/197


9.2.0 CTRTransfer needs a warning message

9.2.0 CTRTransfer makes every console use Same-Region 9.2.0 CTRNAND image share some system files, including per-console WLAN information.
This makes Same-Region-9.2.0-CTRTransferred consoles cannot local play each other.
For those people who want to use 9.2.0 CTRTransfer instead of restoring original NAND, I think we need a warning message to mention this to those guys.

I've never seen anything about this being an issue, and to my knowledge anything that would affect local play isn't overwritten by the transfer (CTCERT, localfriendcodeseed, etc).
Have any examples?

Related: https://www.3dbrew.org/wiki/NWM_Services#Local-WLAN

OK, the unable-to-local-play-with-same-image-CTRTransferred-consoles case is caused by a non-Guide(tm) provided CTRTransfer-NAND & D9WIP steps.
Guide(tm) 9.2.0 CTRTransfer-NAND & GM9 steps makes their local play properly.
Closing this issue this side.


Spurious warning with untyped multiple declarator

Reproducer
$ echo 'cdef a, b, c' > /tmp/tmp.pyx
$ cython-lint /tmp/tmp.pyx
/tmp/tmp.pyx:1:5: comma after base type in definition

isn't this correct? shouldn't you set a type there, like cdef int a, b, c?

AFAIU, in this case Cython implicitly assumes the type is object. I have a few of these cases in mpi4py since the dawn of Cython, this probably originated in Pyrex.

BTW, if you point me in the right direction, maybe I would be able to sketch a PR.

I'd rather keep this one, thanks, it's helped find some real issues. You can specify object explicitly

closing then, but thanks for the suggestion


Authenticating 3rd party API with Request Transformer and Authorization header

Summary
I'm not 100% sure if what I'm trying to do is possible or if I've maybe found a bug with request transformer plugin.
My overall setup is an app, Kong, and a 3rd party API. I'd like to authenticate my app with Kong using key-auth which works great. I'd then like to authenticate with the 3rd part API using HTTP Basic auth by overriding/setting the Authorization header with my desired one for this 3rd party API.
Using Loggly's logging to debug I can see that the Authorization header is being set but it's not
having any effect on the endpoint.
Few observations

If I set the auth header from the app, it's passed through Kong just find and the request succeeds.
If I replace the valid auth header with the request transformer with a garbage header value, I see that it's overridden in Loggly but the request still succeeds when I expect it not to.
If I don't pass an Auth header from the app, I see it showing up when inspecting the request in Loggly but the authentication doesn't succeed as if it wasn't there at all.

Steps To Reproduce

Add Request Transformer plugin to an API that expects Basic Auth
Set the Authorization header in the request transformer
Try to access the API through Kong without passing any authorization
I would have expected it to succeed but it fails for my setup

Additional Details & Logs

Kong version (0.9.9)
Operating System: CentOS 7

@grantlucas can you elaborate a bit more on what you're seeing here? What specifically is Kong not accomplishing, that you're not seeing? When you see the request succeeds, do you mean the request from your client to Kong, or from Kong to Loggly (or something else entirely)?

@grantlucas Just a side-note, have you considered using https://luarocks.org/modules/revolsys/kong-plugin-upstream-auth-basic ?

@p0pr0ck5 A few things have changed since this issue was posted but the overall solution was if we wanted to add a header to a request, using the request transformer plugin, we first had to "remove" the header, and then "append" the header. Replacing never seemed to work.
@thibaultcha Thanks for the link! That looks like it'd help a lot instead of having to use request transforming.

Yup, thanks

but why Request Transformer is not work on adding auth header?


dylan publish removes values from package catalog

Publishing a new version of xml-parser I use the command dylan publish ../pacman-catalog.
In pacman-catalog the diff shows that "category" is empty where before there was the value "parsers" and contact is missing the email.
$ git diff v1/xm/l-/xml-parser
diff --git a/v1/xm/l-/xml-parser b/v1/xm/l-/xml-parser
index 21646e5..2a9b124 100644
--- a/v1/xm/l-/xml-parser
+++ b/v1/xm/l-/xml-parser
@@ -1,13 +1,21 @@
 {
-  "category": "parsers",
-  "contact"<EMAIL_ADDRESS>+  "category": "",
+  "contact": "",
   "description": "XML parser",
   "keywords": [],
   "name": "xml-parser",
   "releases": [{
-                 "dependencies"<EMAIL_ADDRESS>-                 "deps"<EMAIL_ADDRESS>-                 "dev-dependencies"<EMAIL_ADDRESS>+                 "dependencies"<EMAIL_ADDRESS>+                 "deps"<EMAIL_ADDRESS>+                 "dev-dependencies"<EMAIL_ADDRESS>+                 "license": "MIT",
+                 "url": "https://github.com/dylan-lang/xml-parser",
+                 "version": "0.2.1"
+               },
+               {
+                 "dependencies"<EMAIL_ADDRESS>+                 "deps"<EMAIL_ADDRESS>+                 "dev-dependencies"<EMAIL_ADDRESS>                  "license": "MIT",
                  "url": "https://github.com/dylan-lang/xml-parser",
                  "version": "0.2.0"

I'll take a look at this if you're not already working on it.

ok, it happens when the dylan-package.json file doesn't contain the "category" or "contact" options, they don't get carried over to the new package definition because of the way it is built up from the dylan-package.json file instead of modifying the original package.

http/dylan-package.json only has "category", so that makes sense with what you described.

haha, it turns out this is working as intended!  It's just been a while since I've worked on dylan-tool so I didn't understand it right away.  The idea is that package-level attributes in dylan-package.json should override package-level attributes in the catalog. So if you change "category" or "contact" in dylan-package.json you're changing it in the catalog also.
Admittedly it's very unclear which attributes are package-level attributes. I'm not sure what to do about that.

I agree that package-level attributes in dylan-package.json should override package-level attributes in the catalog.
Like user, the only problem I see is: why are not the package-level attributes in the dylan-package.json in the repository of GH?
For instance, I don't see in the http dylan-package.json file the 'license' attribute, and releasing the v1.1.1 I have deleted the MIT license of v1.1.0 that now is "unknown".

Knowing that the discrepancy could come from the initial import, on my part, there is no problem if, when updating any of the packages, any field is empty, as I can fill it in manually. With no other reason, I close the issue.


API Domain Call Issues

The Rasa X domain related API calls have some issues:

There should be a DELETE call as there is for the Stories & NLU Training data API calls
The PUT appears to do nothing unless you specify the store_templates=true param. It should update the domain like the Stories & NLU calls do as it's default (without requiring a query param).
The PUT call with store_templates=true updated intents and actions but not templates.

There is no way to delete content from the domain via the API.
Rasa X version: 0.19.5

Thanks for raising this issue, @wochinge will get back to you about it soon.

There should be a DELETE call as there is for the Stories & NLU Training data API calls

What do you need the DELETE for? We didn't have the use case yet that we have to delete a domain.

The PUT appears to do nothing unless you specify the store_templates=true param

It does so, means entities, intents and so on should be updated. Do you have an example where this wasn't the case?

The PUT call with store_templates=true updated intents and actions but not templates.

Mhm, how did your domain body look like? seems sth is wrong here.
By the way:
We are also adding new endpoints to manipulate actions in a domain in the next release 🎉

As discussed in this forum thread, the use case is where we want to reset the content of an existing Rasa X instance.
If I start with a new Rasa X instance and I want to import existing NLU, Stories and domain.
For the domain, there's no POST like there is for NLU & Stories. I use the PUT method on the following domain.yml and the following domain.yml.  The results are completely inconsistent but the status return is always 200. Sometimes it works and sometimes it doesn't. I confirm that my domain in the UI is empty. I've tried the PUT with store_templates=true and with no value. Mostly it is not working the more I test the API and review the domain in the UI.  I've probably run 10-15 tests of the PUT this morning with different store_templates options and domain files.
intents:
  - greet
  - goodbye
  - mood_affirm
  - mood_deny
  - mood_great

actions:
- utter_greet
- utter_did_that_help
- utter_happy
- utter_goodbye

templates:
  utter_greet:
  - text: "Hey! How are you?"
  utter_did_that_help:
  - text: "Did that help you?"
  utter_happy:
  - text: "Great carry on!"
  utter_goodbye:
  - text: "Bye"

I've done some more testing with templates. I'm using store_templates=true and an updated domain from the one above. I've (1) replaced utter_greet with utter_greet_greg; and (2) removed utter_goodbye and get a status 200 from the PUT.
intents:
  - greet_greg
  - goodbye
  - mood_affirm
  - mood_deny

actions:
- utter_greet_greg
- utter_did_that_help
- utter_happy

templates:
  utter_greet_greg:
  - text: "Hey! How are you Greg?"
  utter_did_that_help:
  - text: "Did that help you?"
  utter_happy:
  - text: "Great carry on!"

As you can see from this screenshot of Responses, I see the following issues:

Now two copies of utter_happy & utter_did_that_help
utter_greet should be deleted but it still exists
utter_goodbye should have been deleted

I see from some comments from #3798 that templates are really moving out of the domain and should be edited separately. Maybe there should be a separate set of calls for templates from the domain calls and just completely pull templates out of domain.

I just tried the endpoint myself and it's working as expected. Do you have an idea what could be going wrong here @ricwo ?

Hi @rgstephens, I haven't been able to reproduce the issues you mentioned. Would you mind sharing exact steps to reproduce the problem? Here's what I did:

PUT your first domain from https://github.com/RasaHQ/rasa/issues/4080#issuecomment-514263352 with ?store_templates=true
PUT your first second from https://github.com/RasaHQ/rasa/issues/4080#issuecomment-514273172 with ?store_templates=true

Result:

one of each utter_happy and utter_did_that_help
utter_greet has been deleted
utter_goodbye has been deleted

ok, so before I start, I'm going to remove my domain. Here's what it looks like before I start testing:

I make the domain PUT call without the store_templates option and nothing is deleted. I make the call again with the option and everything is removed. I expected the first call to remove my intents and actions, but the UI is clear so I'll start a new test.
I put the original domain file with the store_templates option and the templates show up in the domain UI but not the intents or actions:

I can't run step #2 without my intents & actions so I run another PUT without store_templates and I get my intents & actions.

Now I do as you request and do the PUT with store_templates but with the 2nd version of the domain:

Everything worked this time, but I had to run the PUT twice to get everything uploaded.

@ricwo can you take another look at this? feel free to close if we can not reproduce

I think this can be closed. The remaining issues in this thread are covered in #4185.


rework data-items

Feature-request
Description
The data-items are at the moment a structure of classes, where each object within the tree is created by a new-call. At least thanks to the memory-leak-tests this is no place for memory-leaks, but it is slow to create and parse in libKitsunemimiJson. It have to be reworked to a structure, where everything of the tree is already on one single byte-buffer located. That way the massive amount of new and delete is not necessary and serialization and deserialization within the project is not necessary and makes the code much faster.

is deprecated, because the old data-items were removed in context of issue #159


fix: remove naming conflict

There was a const being declared with the same name as a function in the outer scope. I think this could be responsible for #569, but in any case it’s probably worth renaming to avoid confusion/naming collisions.

- Summary

- Test plan

- Description for the changelog

- A picture of a cute animal (not mandatory but encouraged)

@jlengstorf Thanks for the PR. I've found the issue for your project, it's a different one but this was also a bug. Thanks 🎉


Creating an iOS specific build with Xcode's new multiplatform app template doesn't create .ipa

Discussed in https://github.com/fastlane/fastlane/discussions/20759

Originally posted by knlshh October 19, 2022
I'm creating a new SwiftUI app that uses Xcode's new multiplatform app template that supports building macOS + iOS apps in a single codebase. Please note that this is not a Catalyst app.
The Supported Destinations look like this in Xcode:

When I run Fastlane's gym step with the platform as ios, I'd expect the .ipa file to be created, but this isn't the case (archiving succeeds, but the .ipa file isn't generated).
If I remove the Mac destination from the above list and re-run gym, the .ipa file is created. I suspect this is because of the building_for_ios (https://github.com/fastlane/fastlane/blob/950bb820237d52e15690408083e328f739ac0ef3/gym/lib/gym/module.rb#L28) conditional.
Copied as-is from the above link:
def building_for_ios?
  if Gym.project.mac?
    # Can be building for iOS if mac project and catalyst
    return building_mac_catalyst_for_ios?
  else
    # Can be iOS project and build for mac if catalyst
    return false if building_mac_catalyst_for_mac?

    # Can be iOS project if iOS, tvOS, or watchOS
    return Gym.project.ios? || Gym.project.tvos? || Gym.project.watchos?
  end
end

While determining if Fastlane is building for ios, it checks if the project supports mac (Gym.project.mac), and if yes, returns building_mac_catalyst_for_ios. This isn't necessarily the case since a multiplatform app can be building for iOS and support Mac and still not be building Mac Catalyst for iOS.
Wondering if my understanding is incorrect or if this is a bug in Fastlane?

I am having the exact same issue.

@harrisonf-ledger Did you find a solution for this?

@knlshh No, we had to go back to having separate iOS and macOS targets.

I'm also running into this problem with my multiplatform SwiftUI app (supporting iPhone, iPad and Mac).
I was surprised that even when I explicitly specify the platform on the command line (by running my lane like: fastlane ios screenshots) an assumption is made somewhere that we're running it for the Mac platform.

I am also having this issue. In fact, to get the builds to work at all, I have to add skip_package_pkg: true because otherwise it crashes with an error [!] PKG invalid during the packaging stage. However, adding that means that packaging stage is skipped altogether, even if I add skip_package_ipa: false. If I don't skip the packaging stage, run in verbose mode, and let it generate that error, then I see a log entry: "Exported [MyApp] to: /var/folders/_j/w9jx_nvn55l1qyknr8l9_rk00000gn/T/gym_output20230328-77768-k26nb8", and if I open that folder, I see the IPA has been created, though a PKG, of course, has not.

Having this issue as well, anyone have a workaround? I'm curious how everyone is specifying the platform to build for (wasn't sure the correct way to do that), but I'm setting the sdk param to iphoneos. If that's the correct way, seems like the easiest fix in Fastlane would be to check the current sdk in addition to the platform checks it's currently doing when determining if running for iOS. Otherwise, could add a new configuration like force_platform to override the automatic platform detection to at least provide an escape hatch.


Selenium analysis - URL Not Found in the Scan Tree

Hi,
I applied maven configuration for my selenium test suite and maven goal started ZAP successfully, selenium tests went well, but when analysis goal is executed I got following stack trace:
[INFO] --- zap-maven-plugin:1.2.1-0:seleniumAnalyze (selenium-analyze) @ todo-demo ---
[INFO] Starting ZAP analysis at target: http://onet.pl
[INFO] --- Starting analysis ---
[INFO] Active Scan : http://onet.pl
[ERROR] Error running Active Scan. One possible cause to this problem is that ZAP crashes when you try to run the Active Scan without any prior navigation made on the target (i.e. Spidering or proxied navigation were not done before on the Active Scan target).
br.com.softplan.security.zap.zaproxy.clientapi.core.ClientApiException: URL Not Found in the Scan     Tree (url_not_found)
at br.com.softplan.security.zap.zaproxy.clientapi.core.ApiResponseFactory.getResponse(ApiResponseFactory.java:32)
at br.com.softplan.security.zap.zaproxy.clientapi.core.ClientApi.callApi(ClientApi.java:272)
at br.com.softplan.security.zap.zaproxy.clientapi.gen.Ascan.scan(Ascan.java:208)
at br.com.softplan.security.zap.api.analysis.BaseAnalyzer.runActiveScan(BaseAnalyzer.java:90)
at br.com.softplan.security.zap.api.analysis.ActiveScanOnlyAnalyzer.analyze(ActiveScanOnlyAnalyzer.java:16)
at br.com.softplan.security.zap.api.ZapClient.analyze(ZapClient.java:68)
at br.com.softplan.security.zap.maven.SeleniumAnalyzeMojo.doExecute(SeleniumAnalyzeMojo.java:39)
at br.com.softplan.security.zap.maven.ZapMojo.execute(ZapMojo.java:290)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:197)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
[INFO] Stopping ZAP.

There is intention to run zap proxy and monitor live http/https traffic without a need for running spiders on that host.
Here is maven property
<zap.maven.plugin.version>1.2.1-0</zap.maven.plugin.version>

Here is my maven profile:
<profile>
        <id>security-tests</id>
        <activation>
            <activeByDefault>false</activeByDefault>
        </activation>
        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <configuration>
                        <systemProperties>
                            <serenity.proxy.http><IP_ADDRESS></serenity.proxy.http>
                            <serenity.proxy.http_port>8080</serenity.proxy.http_port>
                            <serenity.proxy.type>phantomjs</serenity.proxy.type>
                            <webdriver.driver>phantomjs</webdriver.driver>
                            <serenity.browser.width>1980</serenity.browser.width>
                            <phantomjs.binary.path>${phantomjs.binary}</phantomjs.binary.path>
                        </systemProperties>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>br.com.softplan.security.zap</groupId>
                    <artifactId>zap-maven-plugin</artifactId>
                    <version>${zap.maven.plugin.version}</version>
                    <configuration>
                        <zapPort>8080</zapPort>
                        <zapHost><IP_ADDRESS></zapHost>
                        <targetUrl>http://onet.pl</targetUrl>
                        <zapPath>/opt/tools/ZAP_2.5.0/</zapPath>
                        <!-- whatever configuration -->
                    </configuration>
                    <executions>
                        <execution>
                            <id>start-zap</id>
                            <phase>pre-integration-test</phase>
                            <goals>
                                <goal>startZap</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>selenium-analyze</id>
                            <phase>post-integration-test</phase>
                            <goals>
                                <goal>seleniumAnalyze</goal>
                            </goals>
                        </execution>
                    </executions>
                    <dependencies>
                        <dependency>
                            <groupId>br.com.softplan.security.zap</groupId>
                            <artifactId>zap-maven-plugin</artifactId>
                            <version>${zap.maven.plugin.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

Could you advice whether this is configuration or code issue?
Thanks in advance
Michal

Looks like zaproxy issue @see https://github.com/zaproxy/zaproxy/issues/1918

Are you sure your tests are running before ZAP analysis starts? And are you sure the navigation done by your tests is being proxied through ZAP? This is a very common error, as it is indicated by the error message:

Error running Active Scan. One possible cause to this problem is that ZAP crashes when you try to run the Active Scan without any prior navigation made on the target (i.e. Spidering or proxied navigation were not done before on the Active Scan target).

To successfully run the Active Scan, ZAP's session cannot be empty. To prevent this, you must either run the Spider first or access your application proxying via ZAP.

@mpochwala any advance in this issue?

Hi,
I finally made it works. I think that all of the above was caused by misunderstanding of the process. My current maven profile looks like following
            <id>security-tests</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-failsafe-plugin</artifactId>
                        <configuration>
                            <systemProperties>
                                <serenity.proxy.http><IP_ADDRESS></serenity.proxy.http>
                                <serenity.proxy.http_port>8080</serenity.proxy.http_port>
                                <serenity.proxy.type>${webdriver.driver}</serenity.proxy.type>
                                <webdriver.driver>${webdriver.driver}</webdriver.driver>
                                <serenity.browser.width>1980</serenity.browser.width>
                                <phantomjs.binary.path>${phantomjs.binary}</phantomjs.binary.path>
                            </systemProperties>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>br.com.softplan.security.zap</groupId>
                        <artifactId>zap-maven-plugin</artifactId>
                        <version>${zap.maven.plugin.version}</version>
                        <configuration>
                            <zapPort>8080</zapPort>
                            <zapHost><IP_ADDRESS></zapHost>
                            <targetUrl>http://todomvc.com/examples/angularjs/#/</targetUrl>
                            <zapPath>/home/michal/tools/testing/ZAP_2.5.0</zapPath>
                            <activeScanStartingPointUrl>http://todomvc.com/examples/angularjs/#/</activeScanStartingPointUrl>
                            <shouldStartNewSession>false</shouldStartNewSession>
                            <!-- whatever configuration -->
                        </configuration>
                        <executions>
                            <execution>
                                <id>start-zap</id>
                                <phase>test</phase>
                                <goals>
                                    <!--<goal>analyze</goal>-->
                                    <goal>startZap</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>perform-analysis</id>
                                <phase>pre-integration-test</phase>
                                <goals>
                                    <goal>analyze</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>selenium-analyze</id>
                                <phase>post-integration-test</phase>
                                <goals>
                                    <goal>seleniumAnalyze</goal>
                                </goals>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>br.com.softplan.security.zap</groupId>
                                <artifactId>zap-maven-plugin</artifactId>
                                <version>${zap.maven.plugin.version}</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                </plugins>
            </build>
        </profile>```

The profile starts from creating zap proxy, than it does analyze target, my integration test are executed via the proxy and finally results are collected and report generated. I guess all works correctly as I can find in my /target/zap-report directory following files

- zap.log
- zapReport.html
- zapReport.xml
- zapSpiderResults.html
- zapSpiderResults.xml

Well, if you want to use the navigation done by your integration tests, you shouldn't run the goal analyze, since this goal will run ZAP's Spider as well (only if you want to combine your navigation with ZAP's Spider).
Two things about your configuration:

It's a little strange to start ZAP in the test phase, although it's ok. You just need to make sure it starts before the other goals and before the execution of your integration tests, so the phase pre-integration-test is usually more suitable.
It doesn't really make sense to run both the analyze and seleniumAnalyze goals. The analyze will execute the entire flow: it starts ZAP, it runs the Spider and then it runs the Active Scan. The seleniumAnalyze expects ZAP to be already running (that's why you need the startZap goal) and with a non empty session (possibly populated by your integration tests navigation), and then it only runs the Active Scan.

If you really want to use the navigation from your tests in your analysis, you should go back to your previous configuration and make sure about the things I wrote in my previous comment. If the error persists, one thing you could do is to open ZAP manually and just run your tests to make sure they're running through ZAP and populating its session.
Getting the right configuration at the first time is normally tricky, but once you get it things tend to get better :)

ad) It's a little strange to start ZAP in the test phase I totally agree, I moved this part to test phase to make it more visible that there is specific order of execution.
ad) It doesn't really make sense to run both the analyze and seleniumAnalyze goals I would agree with it if there was a comprehensive selenium suite in place that cover full navigation across the website. My assumption is that we do "just enough" selenium tests to make sure that we fit into the approach defined by Mike Cohn and his testing pyramid concept. So analyze is really nice to have and perfectly fits to my use case.
What I don't understand is why I had to set the following property <shouldStartNewSession>false</shouldStartNewSession> . It looks like that the plugin executes each targets in separately created session within a single maven build lifecycle. Is this desired? That was the quirk that I was struggling with for some time and it was the root of all my problems. Potentially there are some use cases that requires that, but by setting it default to true confused me.

I see your point. We didn't really picture hybrid strategies like yours to combine Selenium navigation with ZAP's Spider and we didn't really have a strong reason to make shouldStartNewSession to be true by default, it just made sense for us at the time. But now I agree that false might make more sense.
I feel we should have create all possible bricks to enable the creation of different strategies according to the users' need. Instead of seleniumAnalyze, we could have runSpider and runActiveScan, so you could use them and do whatever you wanted. What do you think about this?
Thank you for your feedback so far. We'll definitely take it into account for our next release.

Sounds like a plan. Additionally it would be really useful to have the ZAP distribution shipped as a maven dependency/plugin so that client doesn't need to download it separately and point it via properties.
Thanks for all your help. I will close the issue now (if that is acceptable workflow)


Enum cases reported

When only single enum case is passed, it gets reported. That is obviously not possible to typehint:
Parameter 4 should use "ShipMonk\Warehouse\PickToLight\Enum\SkipPickReason::BarcodeIssue" type as the only type passed to this method

@janedbal could you give more precise code when it shown the error? thank you.

Method
    public function skipPick(
        SkipPickReason $skipPickReason,
    ): void

called only with SkipPickReason::BarcodeIssue of
enum SkipPickReason: string
{

    case BarcodeIssue = 'barcode_issue';
    case EmptyLocation = 'empty_location';

}

@janedbal I can't reproduce issue by this PR test

https://github.com/rectorphp/type-perfect/pull/19

could you verify if something missing in the test? Thank you.

Closing as can't be reproduced, @janedbal feel free to create valid failing test case PR when you have time. thank you.

Re-open as reproduced at https://github.com/rectorphp/type-perfect/pull/19


WRQ-5674: Support to change video resolution on video player

Checklist

[x] I have read and understand the contribution guide
[ ] A CHANGELOG entry is included
[ ] At least one test case is included for this feature or bug fix
[x] Documentation was added or is not needed
[ ] This is an API breaking change

Issue Resolved / Feature Added
This feature was created by a request to enable video resolution change in our video player.
So We've created guidelines to help support this functionality.
Resolution
Add video resolution change support using hls.js to the pattern-video-player-custom sample
Additional Considerations
Links
WRQ-5674
Comments
Enact-DCO-1.0-Signed-off-by: Hyelyn Kim<EMAIL_ADDRESS>

 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.

Please update README.md file

A conflict occurred because the README content previously included in develop was missing. Since it is correct that the README content is being updated, i have added it again in the PR.

A conflict occurred because the README content previously included in develop was missing. (Merged into develop in #222, but reverted in #221) Since it is correct that the README content is being updated, I have added it again in the PR.

Okay, I also added a change that was dropped.

The resolution selection panel stays open and wait , the video control is hidden. what happens then?
I don't know which resolution we selected.
How can I go to the default? (no selection and automation)

Thank you. Instead of using overlay, I changed the implementation to dropdown.
This was resolved with a change to the dropdown. You can see the selected resolution.
Added default value 'auto'. If not selected, the default value is set to auto.

Dropdown doesn't keep the value that I've selected. For example, select the resolution 640*480 -> close the panel -> open the panel again but dropdown selects Auto.

I found an edge case. When I selected the first item in the dropdown, I checked that the index was 0, so it became a falsy value. Fixed this.


[WIP] NetUtil improvements

Please not merge this until i finish. Only for feedback atm.

@Steveice10 please give some feedback about last change.

I need some help @Steveice10.  I can't pass PacketBufferInput(Output) in Packet interface. O_o

You can't just change the type like that. The interface expects to be able to pass any NetInput/Output in, and you don't even have a way of telling it to use your special NetInout/Output class.

Well, if you not interested in other changes, gl :)

I'm fine with outside contributions, and if I don't like a change I usually give a reason why. I was fine with some of your changes, like the improvements to position reading and the addition of a NetUtil test, however they were lumped in with the NetInput/Output changes that I disagreed with. Separating changes by intent is probably the best way to get changes in. (e.g. improve NetUtil + related tests in one PR)


Adds arrow to sidebar in manage groupings

Ticket Link
GROUPINGS-1181
List of squashed commits

Adds arrow to sidebar in manage groupings
Edits comment about not editing the css file
Fixes codacy indent errors

Test Checklist

[X] Unit Tests Passed:
[X] Jasmine Tests Passed:
[X] General Visual Inspection:

Codacy is expecting 4-space indents.

Codacy is expecting 4-space indents.

I see that there was another PR trying to fix this. I guess when mvn clean sass:update-stylesheets is run, it changes the indents in the css again. Should we make it so codacy ignores the css files, so it doesn't have to be changed manually each time?

But why is mvn altering the indents and can we control Maven?
On Tue, Aug 30, 2022 at 3:56 PM KaileeHung @.***> wrote:

Codacy is expecting 4-space indents.
I see that there was another PR trying to fix this. I guess when mvn clean
sass:update-stylesheets is run, it changes the indents in the css again.
Should we make it so codacy ignores the css files, so it doesn't have to be
changed manually each time?
—
Reply to this email directly, view it on GitHub
https://github.com/uhawaii-system-its-ti-iam/uh-groupings-ui/pull/656#issuecomment-1232358851,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACX2CMHYOI2YUHIAR36BGILV323VHANCNFSM6AAAAAAQA54NJ4
.
You are receiving this because your review was requested.Message ID:
@.***
com>

But why is mvn altering the indents and can we control Maven?

Hmm I would have to research more on this. For now I fixed the indents like how Jordan said, but I think for the future it would be good to find out if we can adjust maven to keep the indents the same. There's still another codacy issue besides here that I am currently looking up how to fix.

Thanks.  The adjustment of the Codacy linter to ignore 2 spaces is not off
the table, but should be a last resort I think.
On Tue, Aug 30, 2022 at 4:32 PM KaileeHung @.***> wrote:

But why is mvn altering the indents and can we control Maven?
Hmm I would have to research more on this. For now I fixed the indents
like how Jordan said, but I think for the future it would be good to find
out if we can adjust maven to keep the indents the same. There's still
another codacy issue besides here that I am currently looking up how to fix.
—
Reply to this email directly, view it on GitHub
https://github.com/uhawaii-system-its-ti-iam/uh-groupings-ui/pull/656#issuecomment-1232379225,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACX2CMHD3KOOP5HWXSGTYP3V3272TANCNFSM6AAAAAAQA54NJ4
.
You are receiving this because your review was requested.Message ID:
@.***
com>

I'm pretty sure at one point we decided that old eyes like mine would prefer 4 space indents as much as possible. We discussed it for a number of file types. Also, no evil tabs! But I digress.

It's not the editor, but is the sass tool we use. Need to set the necessary option... whatever it is.

I looked at the source code for the tool we use. Sadly, it appears they hard card the two space indentation for the default style we use. I'm a tiny bit curious if we changed the output to "compressed" then what would Codacy think of that? We might need to live with the 2 character indentation for css, and update the linting rules accordingly.

Any downside to going with compressed?  I'm assuming that we wouldn't try
and edit the compressed output, but maybe I'm wrong.
On Wed, Aug 31, 2022 at 3:51 PM Frank Duckart @.***>
wrote:

I looked at the source code for the tool we use. Sadly, it appears they
hard card the two space indentation for the default style we use. I'm a
tiny bit curious if we changed the output to "compressed" then what would
Codacy think of that? We might need to live with the 2 character
indentation for css, and update the linting rules accordingly.
—
Reply to this email directly, view it on GitHub
https://github.com/uhawaii-system-its-ti-iam/uh-groupings-ui/pull/656#issuecomment-1233638742,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACX2CMAFVPSWEJSN3CUAACTV4AD2HANCNFSM6AAAAAAQA54NJ4
.
You are receiving this because your review was requested.Message ID:
@.***
com>

To get the compressed format, add this to our plugin configuration...
                    <sassOptions>
                        <style>:compressed</style>
                    </sassOptions>

Other options include :nested, :compact, and :expanded (seemingly the default we use now). I'm not sure what the difference is between compact and compressed.

It seems like there's merge conflicts in the mainv2_3.css.map file because of the other PR, and it can't be updated with my new changes, so I'll move these changes to another branch

For the unknown-@rule-include codacy issue, I think we need to update the eslint setting within codacy to accept @include rules.

I took a look at Codacy config for ESLint and I don't see the setting that
you suggest.  Any clues?
On Thu, Sep 1, 2022 at 5:26 PM Jordan Wong @.***> wrote:

For the @.*** codacy issue, I think we need to update the
eslint setting within codacy to accept @include
https://github.com/include rules.
—
Reply to this email directly, view it on GitHub
https://github.com/uhawaii-system-its-ti-iam/uh-groupings-ui/pull/656#issuecomment-1235027899,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACX2CMCYSJ4SVFVHEQBI7J3V4FXV3ANCNFSM6AAAAAAQA54NJ4
.
You are receiving this because your review was requested.Message ID:
@.***
com>

I took a look at Codacy config for ESLint and I don't see the setting that you suggest. Any clues?
…
On Thu, Sep 1, 2022 at 5:26 PM Jordan Wong @.> wrote: For the @. codacy issue, I think we need to update the eslint setting within codacy to accept @include https://github.com/include rules. — Reply to this email directly, view it on GitHub <#656 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACX2CMCYSJ4SVFVHEQBI7J3V4FXV3ANCNFSM6AAAAAAQA54NJ4 . You are receiving this because your review was requested.Message ID: @.*** com>

The rule is called "Disallow unknown-at rules" in eslint and we should change the parameter from true to ignoreAtRules: ["include"]

Found the rule in Stylelint.  We are using version 14.2.0.
Based on these references:
o https://stylelint.io/user-guide/rules/about/
o https://stylelint.io/user-guide/rules/list/annotation-no-unknown
I set the rules parameters to:
true, {"ignoreRules: ["include"]}
The UI rules in Codacy are now updated.  Hopefully it works.
On Fri, Sep 2, 2022 at 9:33 AM Jordan Wong @.***> wrote:

I took a look at Codacy config for ESLint and I don't see the setting that
you suggest. Any clues?
… <#m_9126143297117314922_>
On Thu, Sep 1, 2022 at 5:26 PM Jordan Wong @.> wrote: For the @.
codacy issue, I think we need to update the eslint setting within codacy to
accept @include https://github.com/include https://github.com/include
rules. — Reply to this email directly, view it on GitHub <#656 (comment)
https://github.com/uhawaii-system-its-ti-iam/uh-groupings-ui/pull/656#issuecomment-1235027899>,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACX2CMCYSJ4SVFVHEQBI7J3V4FXV3ANCNFSM6AAAAAAQA54NJ4
. You are receiving this because your review was requested.Message ID: @.***
com>
The rule is called "Disallow unknown-at rules" in eslint and we should
change the parameter from true to ignoreAtRules: ["include"]
—
Reply to this email directly, view it on GitHub
https://github.com/uhawaii-system-its-ti-iam/uh-groupings-ui/pull/656#issuecomment-1235835825,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACX2CMFDEKPZRPOEU6A6ZPDV4JI7ZANCNFSM6AAAAAAQA54NJ4
.
You are receiving this because your review was requested.Message ID:
@.***
com>

Closing this issue as i see there is another issue created https://github.com/uhawaii-system-its-ti-iam/uh-groupings-ui/pull/658


fix: add nvd fix version when versionEndExcluding provided

This could be a quick win to partially resolve https://github.com/anchore/grype/issues/1329
The thinking is, if the versionEndExcluding value is provided via NVD, then that version stated has to be the fixed version.
Not 100% sure how to use versionEndIncluding as there is no way to know what the next version of the package is so for now it seemed safer to use Excluding field.
Whilst it doesn't fix the exact okhttp issue in the original Grype issue, it helps for some of them. e.g. netty

Hey @jneate thanks for the great suggestion!
We have actually tried putting this in previously and almost immediately got negative feedback from the community because of many non-existent "fixes" that it ends up surfacing.  It also has the additional negative effect of surfacing false positives in grype output (due to overbroad CPE matching) when filtering to see only vulns with fixes. Currently that view eliminates all CPE based matches since the NVD records never have fixes.  For these reasons we ended up having to revert that change.
I do agree with your logic that it would seem that versionEndExcluding should be able to be used to infer a fix, but it seems in actuality there are many high visibility matches where it just doesn't seem to be the case.
We are considering with a future grype-db schema including some sort of a way to mark a fix as inferred so that it could be configurable in grype whether or not to use those records as an indicator of a fix.
Also, we would really like to just disable all of the CPE matching behaviour by default in grype so that nvd-based matches never get surfaced directly but only as relationships to more precise matches.  We had started by disabling for NPM but haven't gotten to others just yet.
@wagoodman - do you have anything to add here or any new thoughts on how we might be able to still include this info in the current grypedb schema without negativity affecting results in the same way as previously?

Hey @westonsteimel ,
Firstly, I want to thank you all for your efforts in maintaining grype and for discussing this issue openly. Our team is also experiencing the problem mentioned in anchore/grype#1329. The discrepancies in vulnerability detection, particularly in cases of CVEs, have caused some challenges for us.
I understand from the discussion that the suggested fix using versionEndExcluding from NVD has had issues in the past with false positives and non-existent fixes. I also noted the proposed future improvements like marking fixes as inferred in the grype-db schema and disabling CPE matching by default, which all seem like sensible strategies for improving the tool's accuracy.
Given that this issue directly affects our operations, I wanted to ask: are there definite plans to resolve this discrepancy in vulnerability detection, especially for Java images? And, if so, is there a rough timeline for when we can expect this issue to be addressed?

Hi @jneate thanks for the PR!
My concern here is that NVD doesn't consistently use versionEndExcluding to mean, "fixed in the next version. For example, at https://services.nvd.nist.gov/rest/json/cves/2.0?cveId=CVE-2023-21930, we can see:
                "cpeMatch": [
                  {
                    "vulnerable": true,
                    "criteria": "cpe:2.3:a:oracle:openjdk:*:*:*:*:*:*:*:*",
                    "versionEndExcluding": "8",
                    "matchCriteriaId": "111E81BB-7D96-44EB-ACFA-415C3F3EA62A"
                  },
... snip ...
                  {
                    "vulnerable": true,
                    "criteria": "cpe:2.3:a:oracle:openjdk:8:-:*:*:*:*:*:*",
                    "matchCriteriaId": "70892D06-6E75-4425-BBF0-4B684EC62A1C"
                  },
                  {
                    "vulnerable": true,
                    "criteria": "cpe:2.3:a:oracle:openjdk:8:milestone1:*:*:*:*:*:*",
                    "matchCriteriaId": "7A165D71-71CC-4E6A-AA4F-FF8DB5B9A5AB"
                  },
                  {
                    "vulnerable": true,
                    "criteria": "cpe:2.3:a:oracle:openjdk:8:milestone2:*:*:*:*:*:*",
                    "matchCriteriaId": "7417B2BB-9AC2-4AF4-A828-C89A0735AD92"
                  },

This has a CPE match with versionEndExcluding of 8, but then later on version 8 itself, and version 8 milestone 1 (and a ton more version 8 variants) are marked as vulnerable. So I think this PR as written would cause false negatives in this case.
That said, Grype no longer uses CPE matches for Java JARs by default, instead using GHSA. GHSA does explicitly report a fixed version, obtained by asking the GraphQL API for details about https://github.com/advisories/GHSA-83q5-whqp-r8jr:
          {
            "package": {
              "name": "org.apache.pulsar:pulsar-websocket"
            },
            "severity": "HIGH",
            "firstPatchedVersion": {
              "identifier": "2.10.5"
            }
          }

As you can see, GHSA explicitly reports a version as patched, while NVD is just reporting version ranges, and will sometimes use surprising representations, like "versions before 8, and 8 itself, and 8-milestone 1" which the approach in this PR would misinterpret.
I think it probably makes sense to close this PR, since I think the approach here will make incorrect inferences from NVD data, but if anyone has any better ideas to address this class of issue, I'd be happy to hear about it.

We appreciate the PR on this, but I'm going to close this as there is evidence that this may make some cases better but other cases worse (I think weston's point here https://github.com/anchore/grype-db/pull/112#issuecomment-1573143580 is correct).
I'm going to close this for now since this isn't actionable as-is.

Hi @jneate - thanks so much for this contribution and apologies that we were unable to merge this previously.  We'd like to reconsider that now that we have more points of control over the data quality.  We now have the https://github.com/anchore/cve-data-enrichment repo which provides a way for us to more quickly and easily enrich the raw NVD data when it is lacking, and we have also disabled CPE matching by default in grype for ecosystems which are already covered by GitHub Security Advisories, so combined we feel that this eliminates many of the cases where we received negative feedback when we tried to make this change previously.  I'm going to re-open this and rebase + push a few minor adjustments and tests.  Thanks again!

Oh nice that's great news - I'm travelling for work for the next few days so it'll be a few days before I'm in any state to commit coherently but feel free to enhance/merge without me!

Before merging, we want to do two things:

Run some experiments or code review to be sure that this won't cause wrong fixed-in information for Alpine/Chainguard/Wolfi, since those distros get some information from their own feed and some from NVD. If the change would cause bad information, fix that issue in Grype and release the fix before merging this.
Communicate on the community discourse that we're about to make a change that affects the fixed-in info (detailing the changes) and let it sit for a few days before actually merging.

Note that we need to do the time between communication and merging, not between communication and releasing, since the OSS grype db nightly job runs off main in this repo.