[WIP] Go to C# symbols

This is https://github.com/saul/visualfsharp/commit/dad493410e062e72c4ced8b231d07b8ff12acfd1

@majocha any ideas how to make the tooltip links work as well for C# symbols?

Oh wow.  A while back I promised a bounty (ok, a beer, a book, whatever) to whoever did this :) But do you get it or @saul!? :)

this is seriously nice, but the other direction is even more important since many projects want to write domain logic in F# and UI in C#. AFAIK this would require mapping the F# TAST to roslyn TAST. Is this something the F# team or the roslyn team is working on?

Is this something [anyone] is working on?

I don't think I've seen anyone on any team prototype this

sad since this was one of the promised things when the roslyn topic came up in VF# ;-) "we could benefit from the infrastructure an the roslyn team would help ..." ;-)
Anyway nice to see one direction is at least possible! Kudos!

I don't think this is much different to what I committed months ago - you can see by the number of 'todos' this isn't nearly complete! Thanks to @vasily-kirichenko for bringing it up to date

It's actually not too difficult to implement it "the other way" without us having to move everything over to the Roslyn symbol API. There's a legacy interface that is used as a fallback if Roslyn can't find a symbol - I can't find the exact name but it should be simple for us to implement.

@saul any chance you remember that interface name?

@pilche can you help?

I can't - it was @CyrusNajmabadi who told me.

@vasily-kirichenko I've found Cyrus's comment detailing how to go the other way: https://github.com/dotnet/roslyn/issues/16511#issuecomment-272642995

@saul I added a IVsSymbolicNavigationNotify impl, but it's not called on F12.
@CyrusNajmabadi any ideas? I've failed to find an example of how to expose this interface anywhere.

Ah, looks like Roslyn query IVsSymbolicNavigationNotify casting IVsHierarchy to it, so it seems we should implement the interface in one of node classes in ProjectSystem...

I tried to implement it in our ProjectNode class, the methods are not called either.

Google is your friend :) You have to register it: https://msdn.microsoft.com/en-us/library/microsoft.visualstudio.shell.interop.vssymbolicnavigationmanagerclass.registersymbolicnavigationnotify.aspx

serviceProvider.GetService<VsSymbolicNavigationManagerClass, IVsSymbolicNavigationManager>() returns null :(

According to docs.microsoft.com, "This interface is available via QueryService(Type, Object)." It looks like there's a difference between GetService and QueryService - try QueryService instead.

@saul I've tried QueryService, it returns non-zero code.

Looks like the manager isn't used in Roslyn - it's pulled off the IVsHierarchy of the open document? Or something similar:
https://github.com/dotnet/roslyn/blob/6847f1e5a909395aae9456e8f366cbf4deb86b69/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioSymbolNavigationService.cs#L172

However, according to Roslyn sources, it does not use the manager, it gets Project from Document:
https://github.com/dotnet/roslyn/blob/master/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioSymbolNavigationService.cs#L300
then tries to cast it to IVsSymbolicNavigationNotify:
https://github.com/dotnet/roslyn/blob/master/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioSymbolNavigationService.cs#L284

:) Yes. See my comment https://github.com/Microsoft/visualfsharp/pull/3357#issuecomment-317183915
I implemented IVsSymbolicNavigationNotify in ProjectNode, but it was not called.

@vasily-kirichenko that's because it's using the C# host project, not the F# one. I think Roslyn should implement the manager class, then we can register with it.

Also @vasily-kirichenko - did you try using QueryService with SVsSymbolicNavigationManager? It looks like that's what you need to use to get the service according to the docs - "Obtain an IVsSymbolicNavigationManager interface by calling QueryService for the SVsSymbolicNavigationManager service."

See the picture above - I tried to query all the three.

Got Roslyn under debugger, finally. DefinitionItem.SourceSpans is empty, so the following returns false, end of the story:

It considers the F# symbol as a metadata one:

@vasily-kirichenko you didn't try the type with the S prefix.

@saul Sorry, I did not note the S. It finally returns the service and registration does not throw, but the methods are not called:
let symbolicNavigationManager = serviceProvider.GetService(typeof<SVsSymbolicNavigationManager>) :?> IVsSymbolicNavigationManager
let cookie = ref 0u
symbolicNavigationManager.RegisterSymbolicNavigationNotify(self :> IVsSymbolicNavigationNotify, cookie) |> ignore

I start to think that providing the semantic model is the only way to make it work.

Can't we just make Roslyn use the manager? It's a simple change on their side.

It's ready to merge.

Trying to test now.  Running into issues where my hive has old Roslyn references, though.

@cartermp yes, if you test Roslyn solution, it's messed up your RoslynDev hive. You need to delete the folders.

(I tested it on 15.2, no idea how to test on 15.3)

Ah, that would be it then.  I'll try and find a way to test this out on 15.3.  I'm not convinced that you're using an API which has changed in 15.3, but it's probably good to verify that.  FWIW it built on 15.3 and launched the hive, so I'm guess it should be fine.

@vasily-kirichenko You can subscribe to nightlies on Preview 4 with this feed: https://dotnet.myget.org/F/fsharp-preview/api/v3/index.json
These are the ones that work with the preview bits

@cartermp

Probably the wrong link.  Can you try this? https://dotnet.myget.org/F/fsharp-preview/vsix
Alternatively, you could download a VSIX here: https://dotnet.myget.org/feed/fsharp-preview/package/vsix/VisualFSharp

It looks like the fsharp-preview feed isn't public on myget.  @brettfo - can you take a look?

For what it's worth I can see the links fine.

25-Jul-17 17:08:30 - Beginning to install extension to Visual Studio Enterprise 2017 (2)...
25-Jul-17 17:08:34 - Install Error : System.InvalidOperationException: Installation of Visual F# Tools failed. To install this extension please install at least one of the following components: F# language support
at Microsoft.VisualStudio.ExtensionManager.PackageInstaller.LoadComponent(IDependencyGraph dGraph, Boolean& isProductComponent)
at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.PerformSetupEngineInstall(InstallableExtensionImpl extension, Boolean installPerMachine, Boolean isPackComponent, IDictionary2 extensionsInstalledSoFar, List1 extensionsUninstalledSoFar, IInstalledExtensionList modifiedInstalledExtensionsList, IProgress1 progress, InstallFlags installFlags, AsyncOperation asyncOp, Version targetedVsVersion, IInstalledExtension& newExtension)    at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.InstallInternal(InstallableExtensionImpl extension, InstallFlags installFlags, IDictionary2 extensionsInstalledSoFar, List1 extensionsUninstalledSoFar, IInstalledExtensionList modifiedInstalledExtensionsList, AsyncOperation asyncOp, IProgress1 progress, Version targetedVsVersion)
at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.BeginInstall(IInstallableExtension installableExtension, InstallFlags installFlags, AsyncOperation asyncOp, Version targetedVsVersion)
at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.InstallWorker(IInstallableExtension extension, InstallFlags installFlags, AsyncOperation asyncOp)

@kevinransom @cartermp can we get this in? It's one of the most important features for quite a while. If we have this the other direction should be addressed.

Unfortunately, this doesn't build on vs2017-rtm, which is the branch that has correct references.  We can either rebase this on vs2017-rtm for testing now and fix the break, or wait until 15.3 ships, at which point vs2017-rtm will be merged back into master and get it into good shape.

Any plans to merge this?

@vasily-kirichenko are you testing this with a self-build VSIX, or in a VS hive?

I cannot get this to work on my machine with self-built OSS VSIX.  Double-checked that I was on the right branch, and I seem to be.  Additionally, I noticed that I would have to reload the project to get the reference to C# stuff recognized by the language service.

@cartermp I did not test it at all. Just tested. Does not work even for local F# vars.

I cannot debug it, sorry

I'm out guys. Good luck with this VFT stuff.

(I had some old review comments hanging around for the PR which I've now submitted)

@vasily-kirichenko @cartermp The reason that this isn't working is because VS is loading FSharp.Compiler.Private.dll from C:\Program Files instead of the extension directory:
FSharp.Compiler.Private.dll	FSharp.Compiler.Private.dll	C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2017\COMMUNITY\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\FSHARP\FSharp.Compiler.Private.dll	Yes	No	Skipped loading symbols.		621	2<IP_ADDRESS>	28/07/2017 16:06	29040000-29DC6000	[11396] devenv.exe	[1] DefaultDomain

I've no idea why this is happening.

@saul OK, I see, thanks.  So easiest fix is to add an FSharp.Core.xml at C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2017\COMMUNITY\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\FSHARP
Likewise we should have one in the extension at e.g. C:\Users\dsyme\AppData\Local\Microsoft\VisualStudio\15.0_3cf90a83\Extensions\gyo3oosv.d3o
BTW I'm a bit unclear as to whether FSHarp.Core docs are localized - @KevinRansom?

@dsyme that's not immediately intuitive - why does the existence of FSharp.Core.xml change which FSharp.Compiler.Private.dll is used?

I wonder whether this is because Microsoft.VisualStudio.ProjectSystem.FSharp.VS.dll is loading FSharp.Compiler.Private.dll before my RoslynDev hive F# extension is loaded?

@saul For scripts, the default reference is the FSharp.Core.dll being used to execute the F# compiler bits

@saul It would be odd and kind of disturbing if FSharp.Compiler.Private.dll is not being taken from your RoslynDev hive.  Though AFAICS there is no FSHarp.Core.xml my extension directory either (nb I'm using a nightly)

I think @saul was talking about my fault trying to set breakpoints in FSharp.Compiler.Private project, not about missing XML Doc in tooltips in scripts.

@vasily-kirichenko Ah ok, yes, I'm on the wrong issue, was thinking this was the XML docs one

In which case @dsyme do you have any ideas as to what it may be related to? cc @KevinRansom

I've wasted about 5 hours now trying to even be able to debug this - I give up. Let me know if any of you find the cause. I assume it's due to the moving around of FSharp.Compiler.Private and FSharp.Compiler.Service et al - but I've no idea why this was done and I don't think it was done correctly.

@saul Thanks for trying.

I assume it's due to the moving around of FSharp.Compiler.Private ...

I don't think this could be related to a change here, there was nothing deeply significant in what was done.

Visual Studio is loading the FSharp.Compiler.Private.dll from CommonExtensions instead of the RoslynDev hive though. It's as if VS doesn't know to resolve the assembly to the newly built extension in %localappdata% instead of CommonExtensions. I noticed that the VisualFSharpOpenSource vsix manifest has an <NGen> element that references FSharp.Compiler.Service and not one that references FSharp.Compiler.Private, but this made no difference.
Are we sure that VisualFSharpOpenSource in RoslynDev will overwrite the VisualFSharpFull in CommonExtensions? I don't understand the difference between the two vsixes.

@saul Yes, that NGen reference should be to FSHarp.Compiler.Private.dll.  I don't think it makes a difference though, either to performance or correctness - the NGen reference to fsi.exe etc. will result in that DLL also being NGEN'd
I think the redirect is meant to be implemented by this file:
AppData\Local\Microsoft\VisualStudio\15.0_3cf90a83\devenv.exe.config

or the equivalent in the Roslyn hive.
Looking at my local file, there is no entry for FSHarp.Compiler.Private.dll there (when I have a nightly installed) and I presume there is not one for the Roslyn hive either.  I had thought the freshly built ones in the extension directory for the Roslyn hive would have a different version number anyway (42.42.42 or something) but that doesn't seem to be the case - perhaps it never was and it's a false lead

To be totally honest, I haven't looked deeply at how the F# VSIX is set up.  @jasonmalinowski has done some work here for the Roslyn VSIX (with things like the ProvideBindingRedirectionAttribute).  Maybe something needs updating within the F# VSIX to ensure it overrides cleanly.

I can confirm the wrong DLL is being loaded when using Roslyn debug hive, but only for FSharp.Compiler.Private (well, also FSharp.Build).  It's odd, as surely this was working before.

Perhaps a specific entry needs to be added to vsintegration\Vsix\RegisterFsharpPackage.pkgdef like we do for FSharp.Core.dll but looking more like this:
[$RootKey$\RuntimeConfiguration\dependentAssembly\codeBase\{31BE3653-A8BD-8941-0254-DDA7D1EFAB3E}]
"name"="FSharp.Compiler.Private"
"publicKeyToken"="b03f5f7f11d50a3a"
"culture"="neutral"
"version"="<IP_ADDRESS>"
"codeBase"="$PackageFolder$\FSharp.Compiler.Private.dll"

But it doesn't feel right because

as surely something has changed which means this no longer works as before
it feels like the above should be generated automatically

@dsyme I'm testing a fix now - I think we're missing the following in the project file for FSharp.Compiler.Private.dll:
    <GeneratePkgDefFile>true</GeneratePkgDefFile>
    <IncludePkgdefInVSIXContainer>true</IncludePkgdefInVSIXContainer>

Will update if it works

@saul Ah, ok, thanks.  I think we will need to explicitly add that to the list of pkgdefs in the assets in the VSIX too, and thus not sure if IncludePkgdefInVSIXContainer is needed

After a lot more fiddling - it works! 👍 I'll open a PR now and once it's merged into master we can update this branch so we can get working again :) Thanks for the initial devenv.exe.config diagnosis that got me on the right track!

@saul Some conflicts need resolving after recent PR

I've tested it, it works (and debugger works too. @saul, thank you!)

Tested this a bit.  It works quite well!  I did notice that different constructors weren't navigated to.  Is that something you want to consider in scope for this PR?

@cartermp I'm pretty sure it does not work correctly on overloaded methods either. No, I'm not going to fix this.

Yeah I saw that it jumped to the type definition instead of the constructor (I didn't see a .ctor symbol in Roslyn though, although one obviously exists).
With regards to method overloads, we could do something smart or just present all of the possible overloads and the user can pick the correct one. I think this is out of the scope of this PR though, maybe we should get this merged and I work on the rest later?

Yes. Merge and improve later
Am 19.08.2017 12:44 schrieb "Saul Rennison"<EMAIL_ADDRESS>
Yeah I saw that it jumped to the type definition instead of the
constructor (I didn't see a .ctor symbol in Roslyn though, although one
obviously exists).
With regards to method overloads, we could do something smart or just
present all of the possible overloads and the user can pick the correct
one. I think this is out of the scope of this PR though, maybe we should
get this merged and I work on the rest later?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/visualfsharp/pull/3357#issuecomment-323515748,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADgNAsIOeNGexGfsIsezxdBvYgbRtCeks5sZryggaJpZM4OfFig
.

Actually wasn't that difficult to do - still think we should save it for another PR though.

@cartermp can we merge this now?

Needs and @dsyme / @KevinRansom review first, but experience/manual testing wise this LGTM

@saul while MS guys seem to sleep at weekends, what about a PR with your fix for constructors navigation into this PR?

Go to property goes to the property body, not its name:

Not much I can do about that, that's where Roslyn is saying the 'getter' is defined. It's not too big of a deal.
I've just realised it always jumps to the getter of a property, too. I'm going to fix that now and will submit another PR.

@saul great :) I've tested your changes, everything works perfectly.

Here's what the latest changes look like (once you merge my latest PR)

To whoever reviews this (@dsyme/@KevinRansom), it's worth pointing out that I want to add a test suite to this. I want to use the code that I've been demoing in the gifs, as it's a complete real-world use of this functionality. How best can I integrate it into our test suite?

Go to props works great 👍

Awesome!
Am 20.08.2017 9:13 PM schrieb "Vasily Kirichenko"<EMAIL_ADDRESS>
:

Go to props works great 👍
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/visualfsharp/pull/3357#issuecomment-323605348,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AYPM8Hs64hn-77rFScEWBc7fRVRnIIVHks5saIVGgaJpZM4OfFig
.

@dotnet-bot test Release_ci_part3 please

@dotnet-bot test this please

@dsyme Do you have a recommended place where unit tests could go here?  It feels like a good opportunity to create a new test project specifically for the language service, rather than adding on to the older tests which happen to test the language service alongside other changes.

@dsyme done.

@dsyme Do you have a recommended place where unit tests could go here?

I believe adding tests to tests\service\... would make sense

:)

Nice
Am 21.08.2017 7:32 PM schrieb "Vasily Kirichenko"<EMAIL_ADDRESS>
:

:)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/visualfsharp/pull/3357#issuecomment-323805265,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AYPM8GoxGcoUIkV34gDSZXkkS6SoJCzXks5sab86gaJpZM4OfFig
.


Dark Theme Obscures Item Details

Issue: Dark Theme Obscures Item Details
Description:
Users have identified a significant issue related to the dark theme mode within the application. When using the dark theme, item details are obscured, making it difficult for users to read or view important information about products or services.
Steps to Reproduce:
Open the application on a compatible device.
Enable the dark theme mode within the application.
Navigate to a section where item details are displayed, such as product listings or service descriptions.
Attempt to read or view the item details.
Expected Result:
In dark theme mode, item details should be presented in a visually clear and readable format. Users should be able to easily access and comprehend information about products or services.
Actual Result:
In dark theme mode, users find that item details are obscured or difficult to read. This issue hampers the user's ability to view and understand essential information about the items, affecting their ability to make informed decisions.
Impact:
This issue has a significant negative impact on the user experience, as it interferes with the user's ability to access and understand item details.This can lead to user frustration and potentially impact sales or user engagement.

Dear @Syedmujtaba313,
I'm happy to share that we've fixed the problem with the dark theme obscuring item details in our application.
Thank you for letting us know about this issue, and we appreciate your patience. If you come across any more problems or have more feedback, feel free to reach out.
Best regards,
@beKashif
@Ninjas-Code-official/ninjas-code


Jav 315 response out

Coverage increased (+0.1%) to 94.124% when pulling c9993608211ba95c39a1ce0ea4585c4f7db88cd5 on JAV-315_response_out into a3be7e3c2bd4fd71ca2191e780eebc142d85a5b9 on master.

Coverage increased (+0.1%) to 94.124% when pulling e50d1f06937bd7f6a1c687c2835a4b3c8b2580e0 on JAV-315_response_out into a3be7e3c2bd4fd71ca2191e780eebc142d85a5b9 on master.

Coverage increased (+0.5%) to 94.538% when pulling 11c2eebb73a07c0fcb7ce995f1cacc288dfc185b on JAV-315_response_out into a3be7e3c2bd4fd71ca2191e780eebc142d85a5b9 on master.

Coverage increased (+0.5%) to 94.549% when pulling 1763cdf9b4dd7f8017085e708804094ade48ef37 on JAV-315_response_out into a3be7e3c2bd4fd71ca2191e780eebc142d85a5b9 on master.


Add view so people could see all hacks by theme

just got a nice idea from a friend: it would be good if you could see all hacks of a certain theme (Musical, Hardware, Libraries, Apps, ..)
Currently this is quite hard as you need to go through all episodes to see them. Maybe also a view to see all hack-of-the-month's.
For this we would also need a new data field like "tags" or "type"/"theme"

Nice idea. I think adding tags/categories to pages is already possible. That would at least narrow it down to episodes that have talks that apply.
I'm not sure I understand what you mean by viewing all the hack of the months. Do you mean generating a page say with a list of all the hacks of the month only?

I'm not sure I understand what you mean by viewing all the hack of the months. Do you mean generating a page say with a list of all the hacks of the month only?

yes - kinda.
Think more like a page that has all hacks and then you can add filters e.g. for tags or hack-of-the-month

Dear all,
I'd be very happy if we could start with a page that simply has all hacks.
That alone would already be a huge improvement, and in combination
with Ctrl+F would solve almost all needs.
Any further improvements could be added later on, in a second and third step.
Best regards,
Volker
ligi wrote:

I'm not sure I understand what you mean by viewing all the hack of the months. Do you mean generating a page say with a list of all the hacks of the month only?

yes - kinda.
Think more like a page that has all hacks and then you can add filters e.g. for tags or hack-of-the-month
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/berlin-hack-and-tell/berlinhackandtell.rocks/issues/297#issuecomment-932270551

--
Volker Diels-Grabsch
----<<<((()))>>>----

yes - makes sense - created #298 as a parent/dependency of this one


useRouteLoaderData("root") returns undefined in root's ErrorBoundary/Layout when non-existent page is loaded right away.

Reproduction

Go to https://stackblitz.com/edit/remix-run-remix-fwmnkt?file=app%2Froot.tsx
Click "Go to non-existent page" link
Refresh the page

I'm not sure if the behaviour is expected but this breaks the csp nonce use-case for me since it's returned as part of the root loader's data. If this is expected, how should i get the csp nonce instead?
System Info
System:
  OS: Linux 5.0 undefined
  CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
  Memory: 0 Bytes / 0 Bytes
  Shell: 1.0 - /bin/jsh
Binaries:
  Node: 18.18.0 - /usr/local/bin/node
  Yarn: 1.22.19 - /usr/local/bin/yarn
  npm: 10.2.3 - /usr/local/bin/npm
  pnpm: 8.15.3 - /usr/local/bin/pnpm
npmPackages:
  @remix-run/dev: * => 2.8.1
  @remix-run/node: * => 2.8.1
  @remix-run/react: * => 2.8.1
  @remix-run/serve: * => 2.8.1
  vite: ^5.1.0 => 5.2.8

Used Package Manager
npm
Expected Behavior
useRouteLoaderData("root") used in root's Layout/ErrorBoundary components returns root loader's data when hitting a URL with no matching route.
Actual Behavior
useRouteLoaderData("root") used in root's Layout/ErrorBoundary components returns undefined when hitting a URL with no matching route.

This might give you the answer
https://github.com/remix-run/remix/issues/8951#issuecomment-1973321870

Thanks! Checked it out and it suggests to use the useRouteLoaderData which i'm already using. It returns undefined for a URL with no matching route even though the loader can still be run and return data without any errors. I have updated the Expected/Actual Behavior sections to make it more clear.

Take a look at https://github.com/kiliman/remix-global-data
This explains the reasons and gives a possible solution.

I couldn't find any explanation for the problem i described in the linked article. It explains why useLoaderData should not be used within ErrorBoundary and suggests to use useRouteLoaderData instead and check its result for undefined which i'm already doing. The issue is that when hitting a URL for which there is no route registered the root loader doesn't seem to run at all and therefore useRouteLoaderData("root") returns undefined.
Also, not sure the global data approach suggested by the article would work for the CSP nonce since it has to be generated on every request and not just once when the app starts.

Remix doesn't bother calling the root loader for a route that doesn't exist. That's why even useRouteLoaderData('root') returns undefined.
What data are you trying to show in your ErrorBoundary?

Well,  /non-existent is still a child of / so just logically i would expect the root loader to run for it too 🤓

The use-case for it is a layout that's shared between root route and root error boundary (what Layout export is for). Let's say there is a navbar with current user information. This information is loaded from the root route and in my error boundary i would still want to show that navbar so i need the root loader data.
Another thing is the CSP nonce which has to be provided to ScrollRestoration and Scripts components. The nonce is also loaded in the root loader. If the data is not there then the scripts execution will be blocked by CSP and Remix documentation states that at least Scripts has to be present in root error boundary.

You'll want to make sure to still render the Links, Meta, and Scripts components because the whole document will mount and unmount when the root error boundary is rendered.

Please, check the stackblitz that i provided. It highlights both of the above use-cases.

If you need 404 to execute the root loader, add a splat route and throw a 404 response. This will force Remix to go through the usual route process.
// routes/$.tsx
export function loader() {
  throw new Response('Not Found', { status: 404 });
}

export default function Component() {
  return null;
}

https://stackblitz.com/edit/remix-run-remix-z7wwii?file=app%2Froutes%2F%24.tsx

Noticed one thing though. The Layout doesn't seem to help with FOUC when going back and forth between error boundary and regular content. Here is the updated stackblitz with styles to make it noticeable:
https://stackblitz.com/edit/remix-run-remix-cqfze8?file=app%2Froutes%2F_index.tsx
This probably deserves a separate issue. There is one issue closed that looks similar to what i'm experiencing - https://github.com/remix-run/remix/issues/1136#issuecomment-1999759586

I'm going to close this out as expected since without a splat route no route paths match so there's no root match to render.  The splat route solution recommended above is the correct solution.
As for the FOUC, I believe that's expected but if you wouldn't mind opening a new issue we could use that to discuss and confirm.
From a quick look, I think it's a vite dev only issue since vite does a request for a 304 not modified response for assets in dev mode - if you do npm run build/npm run start and leverage caching headers the browser can re-use the stylesheet across the switch from UI to Error Boundary so there's no flash.
The reason the layout get's unmounted/remounted is that under the hood the React Router tree looks essentially like this:
let routes = [{
  id: 'root',
  path: '/',
  element: <Layout><RootComponent /></Layout>,
  errorElement: <Layout><RootErrorBoundary /></Layout>,
  children: ...
}];

So it's a new React.createElement call for Layout when it's being used as the component versus the error boundary.  There's not really any place "above" there to use the same instance but maybe it's possible we could investigate that as part of the new issue.
The workaround for now is to use a pathless route for the error boundary which would allow the root Layout to remain mounted when going from UI to 404 routes:
root.tsx                    // Layout
routes/_pathless.tsx // ErrorBoundary
routes/_pathless._index.tsx
routes/_pathless.$.tsx


Not able to use 0 value for rating

I have the definition like below. I use -1 as no selection in the back-end and use knockout binding. I want to use a rating as 0 (0-5 rating) and clicking on a selected value should deselect all (that is why I have  <option value=""></option>) . I tried with initialValue, allowEmpty etc. and none of them is helping. The only way I can make it work is set 0 option value to something else (e.g. 0).
Is there a way to use 0 rating?
 <select data-bind="value: rank" class="barrating">                     <option value=""></option>                     <option value="-1"></option>                     <option value="-99">0</option>                     <option value="1">1</option>                     <option value="2">2</option>                     <option value="3">3</option>                     <option value="4">4</option>                     <option value="5">5</option>                 </select>

This worked for me, I basically added a hidden option with 0 to my select and added allowEmpty the options. Not sure if it's the best approach, but it worked for what I needed.
e.g:
<select class="rating" data-current-rating="0" name="rating">
	<option hidden="" value="0">0</option>
	<option value="1">1</option>
	<option value="2">2</option>
	<option value="3">3</option>
	<option value="4">4</option>
	<option value="5">5</option>
</select>

I also added this to my options:
allowEmpty: true,
emptyValue: 0,

Sorry, that is not helping. If I don't have <option value=""></option> it will not let me  unselect

Are there any update on this?

any updtae on this?


Feature debug_asset_server causes freeze/infinite loop on startup

Bevy version 978f7cd8bf9423961f663725cba18fb3ed75b46d.

Something is wrong with nesting multithreaded schedules. I was able to workaround the issue with
debug_asset_app
    .edit_schedule(CoreSchedule::Main, |schedule| {
        schedule.set_executor_kind(ExecutorKind::SingleThreaded);
    })
    .edit_schedule(CoreSchedule::Startup, |schedule| {
        schedule.set_executor_kind(ExecutorKind::SingleThreaded);
    });

This is fixed as of #7825.


feat(limit): support dynamically update limit configuration

What type of PR is this?

feat
Check the PR title.

[x] This PR title match the format: <type>(optional scope): <description>
[x] The description of this PR title is user-oriented and clear enough for others to understand.
[x] Attach the PR updating the user documentation if the current PR requires user awareness at the usage level. User docs repo

(Optional) Translate the PR title into Chinese.
支持限流的动态更新
(Optional) More detailed description for this PR(en: English/zh: Chinese).

en:
zh(optional):
(Optional) Which issue(s) this PR fixes:

(optional) The PR that updates user documentation:

It's not the best way to solve the problem.
The core problem is that if we provide a limit.Option with zeros limits, Kitex will only create dummyLimiters, which don't support anymore.
We'll solve it by implementing the UpdateLimit() in limit handler and setting it as the updater.


Syntax highlighting, intellisense, go-to-definiton...etc stop working and extension crashes after some time

v 2.0.6
script-setup, typescript

It seems that the volar extension has recently become rather fragile, it crashes regularly now. Go to definition, autocompletion, syntax highlighting...etc all stop functioning after some time.

service 5 crashed on file:///[SNIP]/client/src/features/campaigns/components/CreateCampaignFinalize.vue?virtualCodeId=template SyntaxError: Unexpected non-whitespace character after JSON at position 518 (line 18 column 3)
at JSON.parse ()
at IZ (c:\Users\Douglas.vscode\extensions\vue.volar-2.0.6\dist\server.js:10029:9539)
at Wu (c:\Users\Douglas.vscode\extensions\vue.volar-2.0.6\dist\server.js:10029:9233)
at Object.YNe [as getComponentNames] (c:\Users\Douglas.vscode\extensions\vue.volar-2.0.6\dist\server.js:10029:9052)
at s (c:\Users\Douglas.vscode\extensions\vue.volar-2.0.6\dist\server.js:469:18792)
at J7 (c:\Users\Douglas.vscode\extensions\vue.volar-2.0.6\dist\server.js:469:18559)
at Mw (c:\Users\Douglas.vscode\extensions\vue.volar-2.0.6\dist\server.js:469:18042)
at Object.provideInlayHints (c:\Users\Douglas.vscode\extensions\vue.volar-2.0.6\dist\server.js:10027:992)
at async c:\Users\Douglas.vscode\extensions\vue.volar-2.0.6\dist\server.js:19:610
at async ck (c:\Users\Douglas.vscode\extensions\vue.volar-2.0.6\dist\server.js:3:18551)

This happens regardless of the component I'm in, the component name int he error is whichever one I'm looking at.
Even if I remove the entirety of my template contents so it's just a div the error persists. If I remove all my code, same deal.
After some time the extension just stops working entirely and I have to reload vscode.

Seems related to #4060

Duplicate of https://github.com/vuejs/language-tools/issues/4060


Corrected

Sysprep is run on the VM before it's deallocated, not at the creation of a new VM from that image

@ubikusss : Thanks for your contribution! The author, @spelluru, has been notified to review your proposed change.

@ubikusss - Thank you for the update.
#sign-off


Header Forwarded (RFC 7239)

Does express support the Forwarded: header as described in this rfc? I would be willing to write tests for it in a PR if it isn't supported ATM.
Examples:
Forwarded: proto=https
Forwarded: for=<IP_ADDRESS>;proto=http

Express uses the the forwarded module, which uses X-Forwarded-For currently.  I am interested is how much adoption the linked RFC has?  If it is trending up then I think it would be worth supporting in some fashion, maybe this issue would be better opened over on that repo?

Cool, thanks :) I wasn't sure about adoption. I'll open up issues there if I see more adoption in common proxies (like nginx and such).


add minio support

add minio support - testcontainers

Many thanks for the contribution! Would you mind also adding the corresponding docs in src/main/docs/guide?

Thanks for the feedback. The docs have been added.


Unable to parse SQL (Dialects.POSTGRES)

Bug description
I just upgraded from version 2.1.3 to 4.1.1 and everything looks great, except that I have problems with some very particular queries, queries like for example:
select lpad(cast(field as text),4,'0') as "Original_field"
from schema.table

These queries worked without problems in superset 2.1.3 and not being able to execute them has made my users go crazy because they have hundreds of queries with the same problem, if I remove the double quotes the query runs without problems, but this is unacceptable for my users because their queries generate tables that in turn are used in other queries which would force them to rework a lot.
This is what the logs show me:
2024-12-05 16:20:26,759:WARNING:superset.sql_parse:Unable to parse SQL (Dialects.POSTGRES): Template(body=[Output(nodes=[TemplateData(data='select lpad(cast(field as text),4,\'0\') as "Original_field"\nfrom schema.table')])])

It is worth mentioning that this only happens if the role is given permissions on a certain schema, that is, if I give it permissions on the entire database this does not happen, in that sense it is similar to what was reported by #31183.
Screenshots/recordings
This is what sql_lab shows me.

Superset version
4.1.1
Python version
3.10
Node version
16
Browser
Chrome
Additional context
No response
Checklist

[X] I have searched Superset docs and Slack and didn't find a solution to my problem.
[X] I have searched the GitHub issue tracker and didn't find a similar bug report.
[X] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Working on a fix for this.

Fix is out, as a workaround you can enable the ENABLE_TEMPLATE_PROCESSING feature flag.

Thank you so much @betodealmeida,  we really appreciate your support.


KAFKA-7538: Reduce lock contention for Partition ISR lock

Check for ISR updates using ISR read lock and acquire ISR write lock only if ISR needs to be updated. This avoids lock contention between request handler threads processing log appends on the leader holding the ISR read lock and request handler threads processing replica fetch requests that check/update ISR.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Test metrics from the test included in the PR:
PartitionLockTest#testNoLockContentionWithoutIsrUpdate: delays: append=300, check=10, update=50
(note that these are unrealistic delays introduced to create a stable automated test)
Old code:
  Metrics: appendAvg=315.73 appendMax=318.65 replicaFetchUpdateAvg=309.72 replicaFetchUpdateMax=326.00
  Time taken for 300 records with 2 fetchers and 3 producers : 97087 ms.

New code:
  Metrics: appendAvg=304.50 appendMax=328.19 replicaFetchUpdateAvg=11.67 replicaFetchUpdateMax=14.60
  Time taken for 300 records with 2 fetchers and 3 producers : 30525 ms.

PartitionLockTest#testNoLockContentionWithoutIsrUpdate: delays: append=0, check=0, update=0:
(the test results vary between runs here since there are no delays, but average numbers are close in the two cases, but the maximum is consistently better with the new code)
Old code:
Time taken for 3000000 records with 2 fetchers and 3 producers : 68884 ms.
Metrics: appendAvg=0.035 appendMax=13.993 replicaFetchUpdateAvg=0.017 replicaFetchUpdateMax=13.997

New code:
Time taken for 3000000 records with 2 fetchers and 3 producers : 48904 ms.
Metrics: appendAvg=0.033  appendMax=11.72 replicaFetchUpdateAvg=0.011 replicaFetchUpdateMax=11.138

@hachikuji @ijuma Thanks for the review. I have rebased the PR on trunk. There is overlap between this PR and @bdbyrne 's PR https://github.com/apache/kafka/pull/7921. I haven't reviewed that yet, but perhaps we could merge the two.

@rajinisivaram I think we should probably just merge this one and close #7921. I will review this morning.

@hachikuji Thanks for the review. I have addressed the comments and also rewritten the test to avoid reliance on run time,

@hachikuji Thanks for the review, have addressed the comments.

retest this please

@hachikuji Thanks for the review, merging to trunk. Streams test failure is not related.


Grain parent child supervision

Hi,
I was wondering if it's possible to start several children in a grain, which themselves are grain. I am specifically wondering if there is a parent child supervision type mechanism when using grains in this way.
The background is that I am starting several grains, but a parent grain drives them. In case that shuts down, I would like to propagate the shutdown to the children. I am doing this because in one case the actors are indeed grains and will run somewhere in the cluster, but in a specific case it's desirable for them to run together and be supervised by one parent actor.
Is there away to do this, or should I implement everything as direct actors instead? Thanks!
EDIT:
It seems if I do something like this:
              props := actor.PropsFromProducer(func() actor.Actor {
			              return &grain.Actor{
				              Timeout: 0,
			              }
		  })
		pid, _ := ctx.SpawnNamed(props,Id)

		client := getNamespacedGrainGrainClient(cl, ctx.Self().Id,Id)

From the parent grain, where getNamespacedGrainGrainClient resolved the client to the same identity, then i can force the grain to run as a child of the parent grain.
Is this an anti-pattern?

Sorry for late response here.
No, there is no way to apply supervision for grains. or have any type of parent-child relation between grains.
Grains are fully managed by the IdentityLookupProvider used, eg. disthash.


License Server SSL Cert Expired

Describe the bug
The certificate for license.crawlab.cn is expired
To Reproduce
curl -vvl https://license.crawlab.cn
Expected behavior
The SSL certificate would be returned as valid.

Hi @SamTheGeek , you can pull the latest image "crawlabteam/crawlab-pro:latest" as it won't validate through the license server. This should solve the issue.

Will give that a shot! Thanks @tikazyq


Enhance Request for Memory Watch Window in the Emu Debug windows.

Would it be possible to have a "Watch Window", a bit like the data preview,  but for cross banks etc. ?
It would allow "variables" to be tracked during runtime, and would be a huge QoL upgrade.

Included in release V0.23b


Requesting "passport-azure-ad" migrate off of the deprecated "request" package for getting openid connect metadata.

Core Library
Passport Azure AD (passport-azure-ad)
Wrapper Library
Not Applicable
Description
The "request" package is still used in the passport-azure-ad library. This hurts the ability of an application to maintain a high level of security and reduce CVE's.
https://www.npmjs.com/package/request
https://github.com/request/request/issues/3142
I believe that these could easily be migrated to the node native https module since Azure AD should not be available from a non-secure location. This package shouldn't really need to be an isomorphic library as a passport middleware.
Source
External (Customer)

@ryansh100 We are working on a new token validation library which is moving to a more up-to-date https module. Currently we are not adding new features on passport-azure-ad since we plan to move away soon. cc @jo-arroyo to add more context.

Hi @sameerag ,
any idea of a timeline or maybe reference to that replacement? There currently seem to be some security issues within currently used packages. E.g. related issues #4633 and #4705. Does this mean they won't be addressed within passport-azure-ad?

@erik-neumann We will be addressing these dependencies soon. No exact ETA yet.

This will be addressed in passport-azure-ad as this is a security vulnerability @erik-neumann. We have picked this up and will update the issue with the PR once we have it ready.

Seems this should now be resolve with the release of version 4.3.3
@erik-neumann

Correct, 4.3.3 was released yesterday without request.


[Feature request] Scale checkboxes with font size

Current behaviour
Checkboxes have a fixed size regardless of the font size. This means when the font size is big (e.g. to be readable on mobile), the checkboxes are still small and hard to tap.
Desired behaviour
Bigger text has correspondingly bigger checkboxes and vice versa.
Screenshots

Probably according to line height right?

I mean max line height - even on the same line you may have different font size


feat(fretboard): scaffold progression service

Foundations for generating practice sequences

:tada: This PR is included in version 1.4.0 :tada:
The release is available on:

GitHub release
v1.4.0

Your semantic-release bot :package::rocket:


Fix

fix bugs in post/macos/shell/suspend, post/unix/shell/getpid, post/windows/misc/message_box
[-] An error occurred in module: 'NoneType' object has no attribute 'send_command'!

@thecakeisfalse That's fine, but you need to remove self.print_error("Invalid session ID") and change if session is not None to just if session.

@enty8080 I think that users should know if they are trying to «attack» session with invalid id

@thecakeisfalse Yes, I already did it here - https://github.com/EntySec/HatSploit/blob/f023ccfb37bfc5667508e4a429f9fab91aa21347/hatsploit/lib/modules.py#L200

@enty8080
it don't show me any messages about session
(hsf)> use post/windows/misc/message_box
(hsf: post: Windows Invoke Message Box)> run
(hsf: post: Windows Invoke Message Box)> show options

Module Options (post/windows/misc/message_box):

    Option     Value             Required    Description
    ------     -----             --------    -----------
    MESSAGE    Hello, Friend!    yes         Message to show.
    SESSION    0                 yes         Session to run on.

(hsf: post: Windows Invoke Message Box)>

@thecakeisfalse Hmmmmmmmmmmmmmm*1024, maybe you should type run?

@thecakeisfalse Ok, I'll take a look

@enty8080 lol
the second line of output contains run

@enty8080 and you also have bug #60

@enty8080 if I understand your code right, function compare_types works only when you use set in hsf. it doesn't work when you use run

@thecakeisfalse Of course I know this, I wrote code, lol :)

@thecakeisfalse Bug fixed, next time fill in the bug report form:
issues -> bug report


How to use Awesome Powerline font or Nerd font with Spaceship Theme

I knew that Spaceship uses Emoji for its glyph, but I wonder if there is a way to use Awesome Powerline font or Nerd font with Spaceship.
For reference:

https://github.com/ryanoasis/nerd-fonts

These fonts look really good in terminal and are tailor-made for developers.

You could configure SPACESHIP_*_SYMBOL to use nerd-fonts. In #193 @AramC92 has displayed using nerd-fonts with spaceship-prompt.

Thank you so much. I fixed that. Should I submit a pull request to instruct people like me?

That's great 👏 . I think configurations would better fit to our presets wiki. If there are any instructions or troubleshooting guidelines feel free to open a PR.

Mind to share your conf with screenshot @luongvo209 ?

@salmanulfarzy yes yes. Just give me sometimes I am busy with deadlines right now 😅😅

@luong-komorebi Could you share it? I hope you are less busy with deadlines now 😱

@hugo-vrijswijk Sorry this got forgotten for too long. I have now moved away from the system that i used a year ago. Below is a very small part of what's left:
# Git symbol
SPACESHIP_GIT_SYMBOL=$'\uf113 '
SPACESHIP_GIT_STATUS_PREFIX=' '
SPACESHIP_GIT_STATUS_SUFFIX=''
SPACESHIP_GIT_STATUS_UNTRACKED=$'\uf059 '
SPACESHIP_GIT_STATUS_ADDED=$'\uF055 '
SPACESHIP_GIT_STATUS_MODIFIED=$'\uF06A '
SPACESHIP_GIT_STATUS_RENAMED=$'\uf45a '
SPACESHIP_GIT_STATUS_DELETED=$'\uf056 '
SPACESHIP_GIT_STATUS_STASHED=$'\uF01C '
SPACESHIP_GIT_STATUS_AHEAD=$'\uF01B '
SPACESHIP_GIT_STATUS_BEHIND=$'\uF01A '
SPACESHIP_GIT_BRANCH_PREFIX=$'\uf113 '
SPACESHIP_GIT_STATUS_DIVERGED=$'\uf47f '

Basically, the trick here is the \u part. For example, github icon has the code :

But when you config spaceship, you cannot paste the symbol or the code alone, you have to do it like :
SPACESHIP_GIT_SYMBOL=$'\uf113 '

This helped me in the past. Not sure if there are any other problems that I did solve (and forgot 😢 )

@luong-komorebi Very cool! Thanks a lot!

Oh, so it did solve your problem? Glad to hear that, you re welcome @hugo-vrijswijk


Frontend: skintype screen

git fetch origin
git checkout 17-frontend-skintype-screen

[x] static skintype screen
[x] implemented logic to create skintype screen based on skintype
[ ] fetch appropriately


Fix README for SrcPort and DstPort

Same fix as https://github.com/cloudflare/goflow/pull/106

Thank you!


Convert from glide to go dep

this fix changes the vendoring tool from glide to go dep, and includes a bugfix that had been pending as well as a makefile fix.

For some reason, wercker did not work on this, I have been able to test successfully.


Place compartments in scene as ingredients

Use Case
For nesting compartments in new schema, we want to be able to pack them with the same collision detection as we do with ingredients.
Solution
We need to detangle the code.
Steps:

Create ingredients and create compartments (should a compartment be a attribute of an ingredient?)
create recipes
calculate volume of each compartment, and each compartment needs to know it's children
calculate the available volume of each compartment, ie env bounding box minus the volume of any children compartments
set counts for all objects
Build only environment grid
place any compartments that are children of the grid
build the children compartments
Iterate through nested compartments until all are placed
Pack non compartment ingredients

https://trimesh.org/trimesh.collision.html#trimesh.collision.CollisionManager
This feature might be useful towards implementing this!


tinyows support?

Hello,
I would like to use ol3 rather than ol2 to connect to tinyows. The mapserver example uses ol2.  Has anyone had success using tinyows with ol3?
Thanks,

Should not be a problem. It is just WFS-T. See http://gis.stackexchange.com/questions/155394/using-wfs-t-in-openlayers-3 for a thread with good explanations.

Right, I've been working with examples from that thread as well.  I think the issue is that all the examples (or all the ones that I've found anyway)  that use ol2/tinyows do so via a proxy.  However, all the ol3/geoserver examples use no such proxy.  So, I guess the question is can ol3 work with tinyows without a proxy? or is a proxy still necessary?  I haven't found anything on the web that describes how to do either configuration.


improve documentation

@timarney hi, Tim! still remember me? I commented on your medium post while ago.
BTW, I think this awesome project needs a little touch on its docs.
Hope the changes will make user feel easier to integrate react-app-rewired in to their project.
☕ 😄

Nice thanks for taking time to do this.
Something that was recently added some where in the docs...
You can now use injectBabelPlugin vs searching for the plugin option in the config
const {injectBabelPlugin} = require('react-app-rewired');
module.exports = function override(config, env) {
  return injectBabelPlugin('pluginName', config);
}

@timarney cool! nice to know


Interrupt callback

Is there an event or callback for interrupt, I would like to do something when user interrupts.
My config:
IdleProvider.interrupt('keydown mousedown touchstart')
Is it possible to do using ng-idle or I have to manually bind to those events, would that be reliable?
$('html').on('keydown mousedown touchstart', function(e) {    // do something });

There was a pull request to broadcast an event upon interrupt. I'll have to see where that went.

@HackedByChinese I think, here you are referring to this pull request - add broadcast for user activity #99


Update aws-core, http-client-spi, ... to 2.17.116

Updates

software.amazon.awssdk:aws-core
software.amazon.awssdk:http-client-spi
software.amazon.awssdk:netty-nio-client

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

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

labels: library-update, early-semver-patch, semver-spec-patch

Superseded by #35.


Fix by-value self-inclusion in C++

This IDL is fine for languages where everything is by-reference. But for C++, it tries to embed a class by-value into its self, which cannot succeed, and results in compilation failure. See https://github.com/jaegertracing/jaeger-idl/issues/35
This has been worked around by patching the IDL-generated code; see https://github.com/jaegertracing/cpp-client/issues/45 .
It turns out we can just tell Thrift to include the optional member by-reference. See the comment in https://issues.apache.org/jira/browse/THRIFT-4484  about cpp.ref. Apparently that's now spelled & in Thrift IDL. I don't know what effect it has for other languages, the documentation is sparse at best, and doesn't mention this at all.
If this doesn't break other languages I think it's the correct fix for the IDL.

I'm abandoning this due to https://issues.apache.org/jira/browse/THRIFT-4484?focusedCommentId=16349662&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16349662 .  Looks like a Thrift bug.
Instead I intend to split the Crossdock support out from jaeger cpp-client, since this problem appears to be restricted to the crossdock support related IDL. If not building with crossdock, we can pretend the problem isn't there.


Improve the cosignatory display styles

I don't think the => symbol is standard UI, users won't know what it means. In this case I think a colon (or even nothing at all) would suffice.

@segfaultxavi I agree with you. The idea is to make it similar to the the mobile wallet view

Related to https://github.com/symbol/desktop-wallet/issues/1453


Add instance ID to StateUpdate metadata sent to hub

This PR:

Adds instance ID to StateUpdate metadata.
Adds example-publish.py to facilitate local development with AMQP.
Updates README.md.

What is the problem that this PR is trying to fix?
Addresses https://github.com/travis-pro/gcp-ddos-detector/issues/1
What approach did you choose and why?

Added an instance field to the amqpJob type
If instance isn't null, copy its ID to the meta field of the body created in createStateUpdateBody

How can you test this?
The easy way
AMQP_URI="amqp://" go test -v . -test.run TestAMQPJob_createStateUpdateBody
The hard way

From the aj-docker-bits branch of travis-hub, run docker-compose up
Export the environment variables that have been added to the README in this PR
Run travis-worker
Run example-publish.py to add an example queue message
Run docker-compose exec rabbitmq bash

In the container:

enable management plugin: rabbitmq-plugins enable rabbitmq_management
apt update && apt install wget python
wget localhost:15672/cli/rabbitmqadmin
chmod +x /rabbitmqadmin

You should be able to see an extra key in the payload metadata:
root@2dffdc25e3c9:/# /rabbitmqadmin get queue=reporting.jobs.builds requeue=false -f long

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

     routing_key: reporting.jobs.builds
        exchange:
   message_count: 0
         payload: {"id":623773,"meta":{"instance_id":"unknown instance","state_update_count":2},"queued_at":"2017-09-08T12:12:36Z","received_at":"2017-10-11T18:23:30Z","state":"reset"}
   payload_bytes: 166
payload_encoding: string
     redelivered: False

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

What feedback would you like, if any?

Running this locally, I get an instance ID of null. I assume that's because I'm not GCE. Should this work on cloud VMs?

If so: Do I need to do something similar for the HTTP queue as well?

I'm not really convinced this is a good approach :[ It doesn't feel right.
And in the case of sudo-enabled jobs, I get the feeling this will return the hostname of the instance worker is running on, rather than the instance the job is running on. No?

I'd say that this is good to go! Add CHANGELOG.md entry and merge?


Consider EffectPass.needsUpdate flag

Is your feature request related to a problem?
For three-filmic, I'm extending EffectPass with a custom pass that (a) applies the user's specified effects, then (b) applies a selected view transform / tone map. The filmic view transforms are more complex than those built into three.js — e.g. involving LUTs — and several internal Effects are used to structure them. This makes maintenance much easier, as I can reuse LUTPass rather than rewriting it into a more complex pass.
The code is working, but there are some wrinkles in the API that I'd like to smooth out:
const filmicPass = new FilmicPass(camera, ...userCustomEffects);
filmicPass.view = View.FILMIC;
filmicPass.lookLUT = await lut1DLoader.loadAsync('path/to/lut_1d.cube');
filmicPass.desatLUT = await lut3DLoader.loadAsync('path/to/lut_3d.cube');
filmicPass.build();

The .build() method makes a few internal updates to this.effects and then calls this.recompile(). Several issues here:

Would this be the only pass with a required .build() method? Might confuse users.
We could call .build() automatically when a property changes, but then we'll do a lot of extra work, e.g. above when setting three properties in a row.
Within .build(), I have to check whether this.renderer exists yet before calling this.recompile() or an error is thrown. this.renderer is a deprecated property.

Describe the solution you'd like
I think my ideal solution would be a dirty flag, and for Pass.js or EffectPass.js to recompile just before rendering if that flag is true:
filmicPass.needsUpdate = true;

This way we only recompile once, and there's no need for my custom pass to have internal knowledge of whether it's safe to call .recompile() or not. The needsUpdate property could be protected rather than public if that's preferable.
Describe alternatives you've considered
Alternatively, perhaps some kind of onBeforeRender hook that the pass can implement, which will be called before rendering giving the pass a chance to recompile itself if needed.

Would this be the only pass with a required .build() method? Might confuse users.

As an alternative, you could override recompile which is already part of the public API.

We could call .build() automatically when a property changes, but then we'll do a lot of extra work, e.g. above when setting three properties in a row.

Effect merging/compilation is pretty fast. I'd probably go with this approach until performance becomes an issue. At that point it'd be easy to switch to a dirty flag solution.

Within .build(), I have to check whether this.renderer exists yet before calling this.recompile() or an error is thrown. this.renderer is a deprecated property.

That's a bug; verifyResources should check if the renderer is null.

I think my ideal solution would be a dirty flag

The EffectPass used to use a private needsUpdate flag to perform material recompilations in the render method, but I didn't like the approach and changed it. Now Effects dispatch change events to trigger immediate recompilations. This basically works like point 2. If you'd like to use the needsUpdate approach, you could implement it in FilmicPass by overriding the render method:
render(renderer, inputBuffer, outputBuffer, deltaTime, stencilTest) {

	if(this.needsUpdate) {

		this.recompile();

	}

	super.render(renderer, inputBuffer, outputBuffer, deltaTime, stencilTest);

}

I just realized that I probably shouldn't have made effects protected. The EffectPass listens for change events on all effects and if those effects are removed from the effects list, they will still dispatch events to the pass. I could use a second array to check which ones were removed in updateMaterial, but I'd rather not :upside_down_face:  Since this is still fresh, I think it should be fine to revert the visibility change in favor of a setEffects method that properly unregisters the pass from old effects.

Thanks! This all sounds good to me. No problem about reverting the visibility change and switching to setEffects.


Change default value from 0.001 to 0.01

Fixes #1

You'll need to update the registry too, because the hashes will have changed

Have updated. Merging.


Use the ORC version that corresponds to the Spark version [databricks]

[BUG] Spark 3.3.0 test failure: NoSuchMethodError org.apache.orc.TypeDescription.getAttributeValue #4031
This fixes #4031

Use the ORC version that corresponds to the Spark version.
Make the test module depend on the aggregator jar instead of the dist jar.
Temp comment a test case in OrcScanSuite, will check it later.
Currently keep shading the guava, orc, etc, will update the shade scope in the issue #1398 .
Will add some comments later.

build

build

build

Additionally, how are the concerns about varying ORC classifiers pulled in by different Spark builds, as detailed in https://github.com/NVIDIA/spark-rapids/issues/4031#issuecomment-991157488, being addressed?

I'm not clear on the end goal of this PR. It looks like it is going to compile against different versions of ORC yet still pull ORC into the dist jar. How is that going to work in practice -- won't the different ORC versions from different aggregator jars conflict when we try to pull it all together into the dist jar?

"binary-dedupe.sh" is used to compare the class binary, so there is no conflict for multiple ORC versions. Of cause, there will be more class files.

If the intent is to use the same version of ORC and Hive that Spark is using, why are we pulling in these dependencies explicitly rather than getting them transitively from the Spark artifacts? The risk of putting them explicitly here is that they change versions for Spark snapshot artifacts and we fail to notice.

Sometimes the transitive jar is not the same as the Spark runtime, so explicitly specify.
You are right, for the Spark snapshot, it's better to use the transitive jar.

Additionally, how are the concerns about varying ORC classifiers pulled in by different Spark builds, as detailed in #4031 (comment), being addressed?

To address this concern,  I have no good idea, it's better to use the current strategy of shading the ORC with the hive code.
The PR of #1398 will create a new module to collect the necessary ORC and hive classes to minimum the shading scope.
Seems the rapids plugin only used the orc-core, hive-storage-api and protobuf-java, I'll shade the ORC input/output class.

build

build

Can we retarget this to 22.04?  Reason being we ought to wait for the fix for https://github.com/rapidsai/cudf/issues/9964 to go in before we merge this.

Updated, but still a draft, need to find a way to compute the version by examining the Spark jar dependencies.
Sent a mail to discuss If shade is needed.

build

@res-life  Please put the issue description for the PR in the first post.

build

Changed the solution of aligning Orc versions PR after investigated the history of shading ORC.
Now do not shade ORC again, updated for all the Spark versions: 3.0.1 to 3.3.0, 301db, 312db and 311cdh.
After this change, the aggregator jar reduced size from 13M to 6.8M.
And do not need to handle the refine Orc shade issue.

build

After 11/24/2019 and from ORC-1.5.7 Spark no longer use "nohive" classifier ORC jar again for Hive 2.0+.
If our product aims Spark v3.0.0+ and Hive 2.0+ without Hive 1.x, then it's safe to remove the shade configuration of ORC.
So, let's trying to remove it and do some regression tests before merging the code.
Details:
cd spark-source-path
git checkout v3.0.0
git log -p ./dev/deps | grep -20 orc-core-1.5

ORC 1.6.11+ failed to prune when reading ORC file in Proleptic calendar which was written in Hybrid calendar.
The ORC file in the issue was created by Spark CPU version and ORC 1.5.10 behavior is correct.
Filed a ORC bug: https://issues.apache.org/jira/browse/ORC-1083

build

build

Added flat buffers dependency into dependency management.
Removed Guava dependency across the whole project.
Rebased for branch 22.04.

Since this PR stops shading ORC, it should also update NOTICE-binary to remove the sections that we're no longer shading.

build

build

build

build

build

build

build

build

build


Vulnerability in markdown

The example here is a vulnerability that still exists using this package.
[some text](javascript:alert('xss'))

Rather than filtering the HTML before rendering the markdown, we should be filtering it after the markdown is processed, but before it is added to the DOM.

@tivie Thanks for the link ... it looks like, at least in this case, the extension should be of type output rather than lang.

Yes, it would make more sense in order to run the library after the output was completely generated.
Our current extension mechanism does not support this (yet?) but ideally your extension should be the last thing to run before the output was return.
Maybe add an extension order or priority? Or an event mediator and trigger some events like "before ouput return"

If we implemen this i aill let you know


Question - Any plans to support local LLM models?

Hi Team,
Thanks for making this tool. Are there any plans to support local LLM model for this as an alternative to GPT?
Pentest contains sensitive info and it would be good to not share this with a SaaS solution and keep it local. An configuration option to have connect to local model would be great to have.
Thanks!

Hello, is there any progress on this? Is it possible to use the tool with other models like LLAMA?

@busraoguzoglu Yes. Please check the latest commit. We have supported GPT4All models.
Note that during the testing, we notice that all the open-source models are not as good as GPT4.

@busraoguzoglu Yes. Please check the latest commit. We have supported GPT4All models. Note that during the testing, we notice that all the open-source models are not as good as GPT4.

Good point, its best to stick with GPT4API For now until specific models can be trained I've ran some testing using Vicuna and LLaMa2 and the results were negligible..

@SATUNIX fine-tuned Vicuna-13b looks fine, but other than that, all the open-source models below 13B are kinda not working at all.

I'll merge this issue to #69 and implement further features.


Single axis scaling works inconsistently across axes

e.g.

https://m3.cdnmk.net/imgw/loc/100x/uploads/product_image/2016/07/005/ae021b15-858b-4b66-af0c-b23528dc414e_67605c9b13ae4fe34b3bf08685405c3a_1x1.jpg (locked width, free height) scales to fit, as expected, ie. returns a 100x139 image.

https://m3.cdnmk.net/imgw/loc/x100/uploads/product_image/2016/07/005/ae021b15-858b-4b66-af0c-b23528dc414e_67605c9b13ae4fe34b3bf08685405c3a_1x1.jpg (locked height, free width) returns a 100x100 image, scaled to fill. That kinda defeats the purpose, if I'd wanted both of the axes locked, I'd request exactly that in the first place.

Hi. Yes you're right. This commit closes it https://github.com/shifr/vips/commit/40943c8d3c3d137e01203e73221841a8fdcac8eb.
Thank you for your contribution


Loading a pdf with HotPdf constructor

Feature:
Make the initialization call to hotpdf hotpdf_obj = HotPdf() accept a string/file parameter and load directly a document.
hotpdf_obj = HotPdf("my_document.pdf")

Bug:
Right now there is no explicit handling of loading a document in a hotpdf instance with an already loaded document.
We should add the expected behaviour in the docs and also support the reloading
@krishnasism

go ahead :)


Fix Caffe search paths in Windows

This pull request fixes the problem that happens in Windows platforms when DIGITS tries to find where Caffe is installed, based on CAFFE_ROOT environment variable. Currently, the official Windows Caffe version is (https://github.com/bvlc/caffe/tree/windows), in which once the installation folder is generated (typically it should be a folder called "install" within the Caffe root folder), the caffe.exe executable is in the folder called "bin" and not in "build/tools" and pycaffe files are in the "python" folder inside it.

Thanks!


Allow every diagnostic to define a documentation url

Similar to how we have that for linter rules each diagnositc should be able to define their documentation url.
With this PR https://github.com/microsoft/typespec/pull/4141 this would allow user to dig into more info very easily
 "digit-expected": {
    severity: "error",
+   url: "https://typespec.io/compiler/diagnostics/digit-expected"
    messages: {
      default: "Digit expected.",
    },
  },

est: 3


Expected container size?

After the initial setup up I noticed that the container took all available diskspace even though I only used a country extract, not the whole planet file. The container size now is 131 GB.
ways.bin has 31 GB
nodes.bin has 51 GB
nodes.map has 35 GB
Does this sound expected for using a country extract (Germany) only?

Did you enable compression? I have 11GB for Poland extract with compression enabled, but when it was ~40GB previously and I'm not sure, if the compression was enabled properly in previous versions. And Germany osm.pbf extract is more than twice as big as Poland's one, so these sizes are nothing unexpected.

I just ran the default example commands, so yes (using gz). Closing this issue then. Thanks!


Add secondl1ght to the list

Hello, I would like to add myself to the list if possible. Thanks!

If I missed a requirement to be added just let me know!

ACK.


Discuss the need from a TorXakis language

@pjljvandelaar wrote:

With all the change requests from Kostas and with the advanced capabilities of Haskell we are learning, I can't suppress the feeling: did we make the right decision when we conclude that Haskell could not provide us with the needed reflective capabilities and our own torxakis language was unavoidable. Sbv also solves functions using smt solver so reflection on functions has to be possible.....

That was my question as well about half a year ago ;) However I don't know who the users of the TorXakis language are, what is the existing "install base", which requirements do we want for a (domain-specific) language, etc. So @pjljvandelaar if you feel this needs to be discussed with @tretmans we could use this issue for this purpose.
All in all, if we decide that we shouldn't develop the TorXakis language further I will feel a bit silly for having spent so much time in redesigning the compiler :P

I at least have learned that we should better document our architectural decisions. I keep my doubts since I can't revisit the decision.

Well, github can help us in keeping track of the architectural decisions ;)


Suggestion to register import has .ts extension

When following the suggestion to import a controller:

The import is always added with the .ts extension (the file is .ts). However, this only works if the current tsconfig.json setting allowImportingTsExtensions. If this is set to false (default), the import fails.

An import path can only end with a '.ts' extension when 'allowImportingTsExtensions' is enabled. ts(5097)

Thanks for reporting @SleeplessByte! That's an interesting one. I guess ideally we could just never include the file extension. That should work for both JavaScript and TypeScript in most cases.

I dont know if there are cases where the extension is required. There probably are but i would wait for the bug report to support it 😄

I don't think I added the extension on purpose, it was more a side effect while dealing with files/paths.


Use es6 modules and webpack in prep for NPM publish

A lot of changes. I tried to do the messy change of removing and re-indenting files on the first commit and then fixes on the following commits to make it a bit easier to see, but it is still hard to see the changes :(

Great! Adding ?w=1 to github diff url ignores whitespace so wasn't too bad to see changes :) Few thoughts:

Maybe I missed it but are we not exposing nwt publicly? Some examples like (http://forio.com/contour/gallery.html#/chart/scatter/scatter-trendline) depend on a few functions from that so we should?
We should probably export it as Contour.utils instead?
Can we replace the lodash functions in contour-utils with the actual lodash imports? We can import those specific functions without bundling all of lodash.

Also, in the spirit on modernizing jshintrc -> eslintrc ?

What're the before/after file-sizes of contour.min.js?

I added Contour.utils to expose nwt to the rest of the world.
I think we can keep the custom lodash replacements for now..  I think breaking up with lodash should be complete :)
I have another branch with eslint and all the fixes for linting but I think we should finish and merge this branch first
The size of the new min.js file is ~82k, the previous one was ~78k, so is ~4K larger for the stuff that webpack injects I guess

Also, for publishing to npm, you'll need to create an npm user for forio and make sure the author info in package.json matches with the user, so we can publish it.

Looks good!

Lodash is overkill for the isObject etc of course, but why not use it for the merge, defaults etc? The less code under our maintenance purview and the more we handoff to established libraries the better, unless there's a reason not to?

We should whitelist IE11 in preset-env.

Lodash... Yeah, it makes sense.
IE11... I was thinking the same thing last night, I guess I forgot to do it :)

One more thing to note. I removed the /dist folder from the repo, this means that you will no longer be able to use bower install since it does not have a post-install build. Just to make sure you're ok completely dropping support for bower.

I'd forgotten bower existed till I tried to build contour last week :)
Tangentially, we've given up on making millions with Contour-advanced so contents of that repo should go somewhere public, just not sure where. Thoughts? Just new showcase examples? (I'll get you access to the advanced repo in a bit).

Moved to use lodash.merge and lodash.defaults (increase in size of the minified file by ~13k). Also added ie11 to the env in babel and fixed 267 & 268.
Regarding advance viz, I think it would be good if they had their place in te showcase and then you could just install them like npm install contour.drawable or something like that

I'm having second thoughts about not including dist, though more about workflow than anything technical.
For new PRs it's useful to have devs include a jsfiddle in their example pointing to a jsfiddle demoing their change, for e.g. see https://github.com/forio/contour/pull/251 which has http://jsfiddle.net/3yqyvdud/4/ which points to a build contour file for that PR. This really reduces the friction of testing PRs, and puts the onus of making sure it builds/works on the submitter.
Thoughts/ suggestions for a better workflow?

Hey, I see the point of evaluating PRs from a jsfiddle, but I think you'd end up with unnecessary  merge conflicts  which is minor, but the bigger problem I think it is that you end up with a very confusing versioning, since the /dist folder no longer contains the "official" released version, it has what ever the latest merge put there if it didn't forget to build it... for example in cases where the PR does not need to be js tested (ie. changes to less files or docs), then the /dist folder is not even the latest/edge version, is just a random snapshot.
There is one posible solution, but it would mean to drop the bundle of the lodash merge/default functions. The solution is to include the /src/scripts/index.js file as a <script type="module"> that way (with some tweaks) it works, but it limits to import only files addressable from the src folder (ie. no node_modules).
(I did a proof of concept here)[http://jsfiddle.net/f48123x1/1/]


python311Packages.identify: 2.5.27 -> 2.5.28

Diff: https://github.com/pre-commit/identify/compare/refs/tags/v2.5.27...v2.5.28
Description of changes

Things done

Built on platform(s)

[ ] 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
[ ] 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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 254787 run on x86_64-linux 1

6 packages built:

pre-commit
pre-commit.dist
python310Packages.identify
python310Packages.identify.dist
python311Packages.identify
python311Packages.identify.dist


request_repaint panics when used from a Web Worker

Describe the bug
Using request_repaint (or any of its variants) from a Web Worker panics. The panic info points here:
https://github.com/emilk/egui/blob/a8501c963dba0f14a8feff28ed91ff245956662c/crates/eframe/src/web/mod.rs#L60-L67
It seems like eframe ends up trying to get the time, but the now_sec function uses the JS Window object which isn't available from a Web Worker.
Right now, my workaround is to force my app to run at 60fps continuous during the loading time, instead of repainting when needed.
Screenshots

Desktop (please complete the following information):

Chrome 123, Firefox 124

Interesting!
The fix could be for NeedRepaint::repaint_after to try to get the current time and on failure set repaint_time to -INF to just force a repaint asap. ctx.request_repaint_after(…) would not work properly from a web-worker though. Not sure how to handle that case.

It's possible to get the time though, chrono::Local::now() works from the web worker. But eframe is using the Performance api which isn't exposed by js-sys for workers apparently (though the object is useable from workers). Either we could write some kind of wrapper for that that calls the Performance api without using the window object, or when called from a web worker request_repaint could use the low resolution time.

web-sys exposes the Performance API for workers as web_sys::WorkerGlobalScope::performance. You just need to be using web-sys 0.3.65 or later and have the Performance and WorkerGlobalScope features enabled.

web-sys exposes the Performance API for workers as web_sys::WorkerGlobalScope::performance. You just need to be using web-sys 0.3.65 or later and have the Performance and WorkerGlobalScope features enabled.

Thanks, that was it! Performance was already listed by eframe but not WorkerGlobalScope, adding it fixed the problem. I think mentioning that in the docs somewhere (for other people who'd like to use egui along with Web Workers) could be good

Thanks for describing the fix! I'll re-open this as a reminder to add docs, or add WorkerGlobalScope to eframe

Hi @zdimension, I'm curious to know more about the original code you were writing when you encountered this issue. Were you running an egui application inside of a web worker? Or was your egui application running on the main browser thread and you were somehow sharing an egui::Context between the main thread and the web worker? If it's the latter, how did you do that?

Hi @zdimension, I'm curious to know more about the original code you were writing when you encountered this issue. Were you running an egui application inside of a web worker? Or was your egui application running on the main browser thread and you were somehow sharing an egui::Context between the main thread and the web worker? If it's the latter, how did you do that?

Hi, here is the commit where I fixed my issue, you can see a bit how it works: https://github.com/zdimension/graphrust/commit/43913282e5367339857b4c2f4df3e8becb3a3c65
My project is an app that runs egui on the main thread, and offloads data processing to threads (or, on the Web, workers). The workers regularly report their progress to the UI (as percentages or status messages).
Once cloned, an egui Context can be moved to another thread.
My current design uses channels which is not perfect but it's simple and fast enough.


OSPP 2021: Wechaty Piggy Bro

Please make sure to check the following boxes creating your pull request, thank you very much!

[*] Add Blog Header, including title, author, image, categories, tags, etc.
[*] Keep all filenames lowercase, and use - to connect words instead of space. e.g. 2017-10-06-wechat-pc-impactor.md instead of 2017-10-06-WeChat PC Impactor.md
[*] Embed video/pdf from YouTube/Bilibili/local (if there's any) by using {% include iframe.html src="URL_or_PATH" %}. (Learn more about how to embed file/url in the post by reading this blog post
[*] Save photo to local before publishing, to a folder named by ${MONTH}-${YOUR_BLOG_SLUG}/ under /assets/2021/ directory.
[*] Select a beautiful and meaningful teaser image for your blog
[*] Create your contributor profile (if you are a first time contributor)

ping @ReiKohaku

LGTM！
Please get your mentor approval then I will merge this PR.

My mentor don't know how to do this...

Thank you very much for your contribution!
You are welcome to join Wechaty Contributor Program
1. Join Wechaty Organization

You've invited ReiKohaku to Wechaty! They'll be receiving an email shortly. They can also visit https://github.com/wechaty to accept the invitation.

I have invited you to join our Wechaty GitHub Organization, please accept it by following the above message.
2. Update Your Wechaty Contributor Profile

Please open Contributor Hall of Fame and add yourself to the end of the list, so that other contributors will know you better!
Please add yourself to our Website Contributors by creating a PR and refer to this PR link as well.

3. Join The Contributor Only WeChat Room
We also have a WeChat room for contributors only which can discuss Wechaty at a deeper level, you are welcome to join and if you are interested.
Please add my: wechat: ruirui_0914 and send this pr link to me. I will invite you into Wechaty Contributor Room
Link to https://github.com/wechaty/PMC/issues/16
Cheers!


UITapGestureRecognizer doesn't work

I'm using the mapView as the background for my login screen. I added a UITapGestureRecognizer to self.view but it hardly works. The Selector just does: self.view.endEditing(true) yet it only works very rarely after tapping the screen multiple times.
My only assumption is that since the screen is rotating; tap gestures are not always recognized. I tried implementing all different types of gestures and overriding UIGestureRecognizerDelegate methods but nothing seems to work.
Any ideas?

When you call self.showLocationRequestController(...) a new UIViewController loaded from the UIViewController and presented modally above your current UIViewController. So if you add a UITapGestureRecognizer on your self.view the TapRecognizer will not be called on the modally presented STLocationRequest-ViewController.
A possible workaround for your problem would be that you add a MapView on your ViewController and use the c,ass inside STLocationRequest called "STRotatingCamera" and add it to your MKMapView by calling var rotatingCamer = STRotatingCamera(mapView: self.mapView). For a example you can take a look inside the STLocationRequestController.swift file.
Another possible solution to dismiss the keyboard in a login screen would be to use the UITextFieldDelegate Method textFieldShouldReturn, when the user tapped the return key on the keyboard. For further help, a code sample of your application would be great.


Validator brakes when passed nothing

The following code is throwing an error whereas it should return false:
var validator = require("email-validator");
validator.validate();

Thanks and thanks for the pull request

My pleasure :wink: !


Define what data would make us concerned about wallet server performance and how we will detect and be alerted of this

fixed in #2389


Ship unrecoverably crashed after hitting loom limit via HTTP file upload & eyre cache insertion

I have a files app that takes a file via an HTTP POST request, saves it in state and inserts it in the Eyre cache for quick access via the browser. I repeatedly uploaded large files until it presumably hit the loom limit and crashed with bail:meme. Upon attempting ship restart it just crashed again, and will no longer start. Crashing is perhaps understandable but it presumably shouldn't permanently brick the ship.
initial crash:
bail: meme
home: bailing out
pier: EOF
~zod:dojo> pier: work exit: status 0, signal 6

on reboot:
❯ ./piers/zod/.run
~
urbit 3.0
boot: home is /home/mike/piers/zod
disk: loaded epoch 0i109
loom: mapped 2048MB
boot: protected loom
live: mapped: MB/760.184.832
live: loaded: KB/16.384
boot: installed 967 jets
---------------- playback starting ----------------
play: events<PHONE_NUMBER>09
allocate: reclaim: half of 3 entries
allocate: reclaim: half of 1 entries
allocate: reclaim: memo cache: empty

bail: meme
home: bailing out
zsh: IOT instruction (core dumped)  ./piers/zod/.run

this was after uploading a 100mb file repeatedly

Can you meld or run with a larger loom?


Implementation for use with WSGI server

Let's assume that someone built a high functioning api with pistache. How would you go about deploying it? Using nginx to proxy back to the pistache server or using something similar to a wsgi between nginx and pistache?

I use Apache to frontend mine, but I already had an Apache server on the system, so this wasn't a big deal.  Apache by itself is a bit overkill, so I would assume using nginx.

@SammieH21, can I ask what you need the WSGI server for? Is it for load balancing? Are you running into performance issues with Pistache?

@dennisjenkins75 thanks for your recommendation! @kiplingw  I am currently learning about machine learning methods and the deployment of statistical models and come from a background of using flask, wsgi, and nginx to do so. In case I ever used c++ for performance-based model deployment, I would like to hear your recommendations (and others) as to what would be most viable option to do the same at scale.

Got it. I don't think Pistache really needs any of those for a typical use case. A load balancer perhaps, depending on your expected demand. But you don't need nginx to make it work in general.
 It's quite lightweight already. What you have those endpoints do is entirely up to you.

Many thanks for your recommendations and suggestions, @dennisjenkins75 and @kiplingw! Good luck!

No problem @SammieH21 and good luck with your project.


Update parallel raytracing .gitignore

Running the build script creates some *.d.ts files and a snippets folder. Adding these to the .gitignore.

I'm not really sure why raytrace-parallel (and wasm-audio-worklet) puts its output into the current directory in the first place. All the other (non-Webpack-based) examples put their output into pkg instead: changing raytrace-parallel to do to the same would get rid of the need to even have this .gitignore, since pkg is already ignored by examples/.gitignore.

All the other (non-Webpack-based) examples put their output into pkg instead: changing raytrace-parallel to do to the same would get rid of the need to even have this .gitignore, since pkg is already ignored by examples/.gitignore.

Sure! But since this now involves changing build.sh or the future build.py, I'm going to rebase this atop #3603 to avoid skew.

Sure! But since this now involves changing build.sh or the future build.py, I'm going to rebase this atop #3603 to avoid skew.

Oh, um... heads up that I had rebased this on #3603. This is because I thought #3603 would be merged first, and because the .gitignore depended on us storing everything in pkg, which happened in a change I made to build.py.
The end result of all this is that you have already merged most of #3603, probably without realizing it😬

... I sincerely apologize, I've somehow missed that, this is most definitely not your fault.
I will revert this so we can properly continue in #3603.

I included this change in #3603, so you don't have to re-open this.


etcd-tester: do not resolve localhost

DNS resolution seems to be rate limited on OSX. It can take up to 10 seconds to resolve localhost to <IP_ADDRESS> which cause a bunch of failures in the tester.
@fanminshi Although this is the root cause, but I found a few other issues in the tester code that shadow this problem. That is why it is so hard to debug... I will fix shadow issues in other prs.

Merging since this is low risk.


[ClientTelemetry] Client telemetry tests are flaky

ClientTelemetryTestsBase has logic that is timing dependent. This causes the tests to be flaky.
The test also appears to be making real network requests, presumably to a server outside the node that tests run on.
Ideally, the WaitAndAssert method should be rewritten to correct these deficiencies.
To Reproduce
This reproduces in the PR builds.
Expected behavior
Tests should not use calls to Task.Delay or make network requests outside the node that they run on. The outcome of a test should be deterministic.

@sourabh1007 can you please take a look?

:eyes:

If we can't prioritize this and identify a fix within this week, we should disable these tests until we can. It unduly impacts the productivity of the entire team.


Toast: Make progress color a prop

Is your feature request related to a problem? Please describe.
I am frustrated that currently there is no prop to allow changing the progress bar color.
 "progress": "absolute bottom-0 left-0 right-0 h-1 bg-primary-500 dark:bg-primary-400",
Toasts are typically used to notify the user of either success or failure outcomes. currently the toast only supports the primary color. so in case of a failed outcome the user will be shown and error with the primary color which can confuse them.
Describe the solution you'd like
I would like to notify the user in case of a failed API call with a red (danger) progress bar that the action did not go through, a yellow progress bar for a warning and primary for success. Kind of like how Bootstrap has done
Bootstrap alerts

I've made a PR that follows the same specs as Avatar, Button and Badge. Let me know what you think!

@benjamincanac Love it. Merci Beaucoup!


Document all environment variables used by Mixer & friends.

Find all uses of RegisterXXXVar in the Mixer code base and provide a suitable description for each environment variable.
This documentation will be published to istio.io

I didn't see any use of RegisterYYYVar in the mixer codebase ($ git grep -e "Register.*Var" mixer/), but I found the following:
$ git grep os.Getenv mixer/
mixer/adapter/kubernetesenv/kubernetesenv.go:           if clusterNs = os.Getenv("POD_NAMESPACE"); clusterNs == "" {
mixer/pkg/config/mcp/backend.go:        if os.Getenv("USE_MCP_LEGACY") == "1" {
mixer/pkg/protobuf/yaml/dynamic/auth.go:                if os.Getenv("BYPASS_OOP_MTLS_SAN_VERIFICATION") == "true" {
mixer/test/client/env/envoy.go: debugLevel := os.Getenv("ENVOY_DEBUG")
mixer/test/spybackend/nosession_integration_test.go:    if len(os.Getenv("RACE_TEST")) > 0 {
mixer/tools/mixgen/cmd/adapter.go:      goPath := os.Getenv("GOPATH")
mixer/tools/mixgen/cmd/template.go:     goPath := os.Getenv("GOPATH")

I just pushed the change to introduce use of this function. If you rebase, you'll see 'em

@geeknoid and you didn't document them as you were adding them 😆 ?


Some folders don't appear on Local Disk in Files app

Describe the bug
In Local Disk (E:) I have 205 GB and it's full/ only 7.42 GB free. The problem is not of these files is shown in Files - Preview.
even the app reads it's full. and on Files explorer everything is ok.
To Reproduce
Steps to reproduce the behavior:

Go to 'Drivers'
Click on 'Local Disk'
See error

Expected behavior
I should see my files.
Screenshots

**Desktop (please complete the following information): **

OS:
Edition	   |   Windows 10 Pro
Version       |  20H2
OS build	   |  19042.630
Experience  |  Windows Feature Experience Pack 120.2212.31.0

App version: [v0.21.0]

Additional context
I use Microsoft store version
Log file
debug.txt
debug_fulltrust.txt

@ahmedWaelSalem thanks for this report.
Do the folders appear if you enable "show hidden files" in Files settings? (even if those folder are not hidden)

Yes, when I enable show hidden files and folders, folders appear. But I have on other drivers hidden files and folders appear correctly.
those folders and files aren't hidden. there is only 1 hidden folder and 2 unhidden

It's a fix for now but I don't need to show hidden files.

Thanks for the confirmation, and yes this is just a temporary workaround


Fix race condition building extension properties

There is a race condition when building multiple ufs configuration concurrently. Extension properties of the same name that are not built-in will be created as custom property but can throw due to duplication in the property registration.
Fixed by synchronizing registration of custom properties .

@madanadit @calvinjia PTAL.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/6693/
Test PASSed.

alluxio-bot, merge this please.

alluxio-bot, cherry-pick this to branch-2.1 please


Feature: global tags

Proposed Changes
Test tags give you further flexibility to customize which Flows are executed in a test suite. This can also be configured in the config.yaml file:
# Include all Flows tagged with onboarding
includeTags:
  - onboarding

# Exclude any Flows that are tagged with subflow
excludeTags:
  - subflow

Let's not include it in the 22 yet, this needs some Cloud changes to be made


test: test [run-ui-tests]

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (e4250fd) 83.94% compared to head (07a0384) 83.94%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #961   +/-   ##
========================================
  Coverage    83.94%   83.94%
========================================
  Files           28       28
  Lines         2031     2031
========================================
  Hits          1705     1705
  Misses         326      326

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


Wrap calls to secrets in e2e to prevent leaking

This is a simplified solution to #619.
There are also places in pipelines for actual deployment (not e2e) that have similar, do we wish to enable set -x for those two, and extend the wrap to those?

Closing for higher-prio issues


Track reactions in the council-queue

Something that might be useful to reduce the burden on finding if someone is inactive or not is to track the last time someone added a reaction in the council-queue. By doing this, we can partially automate the council-queue in that, if a council members stops adding reactions, we can determine if they are inactive (eg if the last time someone added a reaction was a month ago, remove the role automatically).
This could potentially lead the way for automating the addition of the role when a suggestion is fully approved in a similar way, making it easier on police overall.

Currently, the bot only tracks the number of upvotes and downvotes — not who added them. This will require a restructure of the bot's database schema.

CC @FrostLuma

[ ] Restructure the bot's internal schema
[ ] Add code to track users who react somehow
[ ] Make sure that this only applies to #council-queue, not #approval-queue
[ ] Add a command to view who upvoted/downvoted an emoji
[ ] Automatically warn/remove roles, etc. maybe with some human intervention


Update desktop-test-app and template to use iui-layouts

Update the desktop-test-app and the cra-template-desktop-viewer to use itwinui-layouts-react

Fix css for SelectItwin component
Before:

After:

References: https://github.com/iTwin/presentation-rules-editor/blob/76923b734bfe63861e67a92ce628adbed10b6045/app/frontend/src/app/IModelBrowser/ITwinIModelBrowser.tsx

this pr, can still use some work; take a look at this layout: https://itwin.github.io/iTwinUI-layouts/#/page-layout-2
also, fix the ci failure coming from i imagine is the audit failure

this pr, can still use some work; take a look at this layout: https://itwin.github.io/iTwinUI-layouts/#/page-layout-2
also, fix the ci failure coming from i imagine is the audit failure

Should I make a separate PR to bump it like Ben did in core yesterday?


ionic-angular:  NX   Both project and target have to be specified

Describe the bug
When running nx run myApp android I do get the following error
NX   Both project and target have to be specified
I did correctly configure it by following this documentation and I have the following code in my project.json file
    "run": {
      "executor": "@nxext/capacitor:cap",
      "options": {
        "cmd": "run"
      },
      "configurations": {
        "ios": {
          "cmd": "run ios"
        },
        "android": {
          "cmd": "run android"
        }
      }
    },

To Reproduce

Init an angular application nx g @nx/angular:application [name] --directory=apps/[name]
update the configuration nx g @nxext/ionic-angular:configuration -> select the newly created app
run nx build [name]
run nx sync [name]
run nx run [name] android
See the error in the CLI

Not: I tried to do that with the
Expected behavior
Running and opening AndroidStudio
Additional context
    "@nx/angular": "19.8.4",
    "@nx/devkit": "19.8.4",
    "@nx/eslint": "19.8.4",
    "@nx/eslint-plugin": "19.8.4",
    "@nx/jest": "19.8.4",
    "@nx/js": "19.8.4",
    "@nx/playwright": "19.8.4",
    "@nx/web": "19.8.4",
    "@nx/workspace": "19.8.4",
    "@nxext/capacitor": "19.1.0",
    "@nxext/ionic-angular": "^19.1.0",

Run is a native Nx command, so you must execute nx run my-project:run:android.

@edbzn thx again :)


Optimize FastJsonRedisSerializer serialize & deserialize

@lihengming PTAL see FastJsonRedisSerializer  serialize() and deserialize()

good.

Codecov Report

Merging #2153 into master will decrease coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master    #2153      +/-   ##
============================================
- Coverage     81.67%   81.67%   -0.01%
+ Complexity     6784     6782       -2
============================================
  Files           140      140
  Lines         25360    25368       +8
  Branches       6055     6055
============================================
+ Hits          20713    20719       +6
  Misses         2930     2930
- Partials       1717     1719       +2

Impacted Files
Coverage Δ
Complexity Δ

...stjson/support/spring/FastJsonRedisSerializer.java
80% <100%> (+21.17%)
6 <0> (ø)
:arrow_down:

...libaba/fastjson/support/config/FastJsonConfig.java
100% <100%> (ø)
21 <0> (ø)
:arrow_down:

src/main/java/com/alibaba/fastjson/JSON.java
89.91% <0%> (-0.55%)
121% <0%> (-1%)

...c/main/java/com/alibaba/fastjson/util/IOUtils.java
86.07% <0%> (-0.51%)
116% <0%> (-1%)

Continue to review full report at Codecov.

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

@wenshao PTAL~

good


update_swiftdate_from_master_to_newest_release

CalendarView SwiftUI
Reason:
Changes:

What's change?
Why change?

Impact:

[ ] Build Passing?
[ ] Build On Real Device?

@iletai please merge it to allow use it in projects. Currently it throws error:
Dependencies could not be resolved because package ‘x’ is required using a stable-version but ‘x’ depends on an unstable-version package

Thank you for help @PawelSkrzypkowski . I'm also busy to migration it.


Remove inaccurate installation instructions

The longer instructions are no longer valid

Yeah we should probably have a link to the releases page and a docker usage description (in the Readme.md). Everything else can be moved into a Contributing.

Yeah we should probably have a link to the releases page and a docker usage description (in the Readme.md). Everything else can be moved into a Contributing.