Proton/WINE Build?

Thanks so much for this tool. I wanted to use it with Proton/WINE. I have tried using WINEDLLOVERRIDES to get it to load but unfortunately, it doesn't work. The process crashes.
Would it be possible to build this against WINE/Proton's dinput8.dll?

I'm wondering if there's an incompatibility with vkd3d.
I got this error message: [error] Failed to create D3D12 Dummy DXGI SwapChain
Tested with several builds, including the latest AppVeyor build as of writing, and the error message has always been the same.
re2_framework_log.txt

I made an attempt at making this work with MHR and it appears that there are two issues here:

DXVK doesn't implement CreateSwapChainForComposition, so this call always fails. In order to fix this, REFramework should retry with CreateSwapChainForHwnd if the first attempt fails (and perhaps log a warning if so).
DXVK wraps returned swapchain with a dispatcher to fix Origin overlay. This prevents REFramework from finding command queue offset because there is one more level of memory indirection. We can probably work around this by introducing a dxvk.conf config option that disables the wrapper and returns VKD3D's swapchain directly.

For now, a hack like this will let REFramework load (and, afaict, work) properly, though it will crash on exit because it's obviously wrong and broken otherwise (there is no warranty, don't use it with other games):
dxvk-reframework-hack.diff.txt
Resulting dxgi.dll can be dropped next to the game binary and it will automatically be loaded instead of the one shipped with Proton.

I made an attempt at making this work with MHR and it appears that there are two issues here:
1. DXVK doesn't implement `CreateSwapChainForComposition`, so [this call](https://github.com/praydog/REFramework/blob/a448631d74e24973b235d23fe6984bd7585d56b6/src/D3D12Hook.cpp#L129) always fails. In order to fix this, REFramework should retry with `CreateSwapChainForHwnd` if the first attempt fails (and perhaps log a warning if so).

2. DXVK wraps returned swapchain with a dispatcher to [fix Origin overlay](https://github.com/doitsujin/dxvk/issues/1996). This prevents REFramework from finding command queue offset because there is one more level of memory indirection. We can probably work around this by introducing a `dxvk.conf` config option that disables the wrapper and returns VKD3D's swapchain directly.

For now, a hack like this will let REFramework load (and, afaict, work) properly, though it will crash on exit because it's obviously wrong and broken otherwise (there is no warranty, don't use it with other games):
dxvk-reframework-hack.diff.txt
Resulting dxgi.dll can be dropped next to the game binary and it will automatically be loaded instead of the one shipped with Proton.

I've addressed your first point in 29e407f0119e84bb44c5d59121e5542fd4498252.
Please let me know if this allows VKD3D to get further on in the hooking stage.

I've attempted to address the second problem in 066d6993fd2b6561f998a3ce6cf2367958ba04ed
I can see the REF overlay pop up and it's interactable, but after the initial loading screen with Magnamalo, it seems to crash. I don't know if this is because I'm on Windows using DXVK and VKD3D. Maybe some different behavior happens on Linux?

With only 29e407f0119e84bb44c5d59121e5542fd4498252, I see [error] Failed to find command queue offset in the log, then an attempt to hook D3D11 and shortly afterwards the game dies for some other reason. I can patch DXVK's DXGI to achieve the result described below, making 066d6993fd2b6561f998a3ce6cf2367958ba04ed unnecessary to proceed in this casse.
With 066d6993fd2b6561f998a3ce6cf2367958ba04ed it sometimes works. When it does, I can see the menu, load into the village, activate free cam and fly around. When it doesn't, I don't even see the first frame of loading screen, just black for a few seconds while the dump file is being written to disk. Not sure what's the problem here but I'm afraid debugging that one is above my skill level :confused:
Here is the dump file and log files to compare:
reframework_crash.zip
re2_framework_log-crash.txt
re2_framework_log-working.txt
Seems to have a higher chance of working when I disable MangoHud Vulkan layer so maybe some kind of race condition?

Oh, and it still crashes on exit like this on successful attempts:

I've done some testing with the latest version of REFramework and haven't had any issues when using proton-experimental with the exception of the crash when closing the game that was mentioned in the previous comment.
When switching to proton-7.0rc6-GE-1 the game crashes after a few seconds, but I don't know whether that's an issue with REFramework or proton-GE.
re2_framework_log-proton-ge.zip
re2_framework_log.zip
reframework_crash-proton-ge.zip

Currently, when using the appveyor build of REFramework, I cannot get the main menu to appear or the plugin folder to be created. Seems like a regression to the state before the two commits mentioned here.

How are people loading this now? I updated to Proton 7 and copied the dinput8.dll but it still doesn't get loaded. WINEDLLOVERRIDES?

With WINEDLLOVERRIDES it definitely initializes (I could have realized that was my issue...), but I cannot get past the initial loading screen - I get a similar runtime error message as people have reported for the game closing, but the game's barely started. Proton version doesn't seem to matter. Without the override env var the game starts just fine.

Currently, when using the appveyor build of REFramework, I cannot get the main menu to appear or the plugin folder to be created. Seems like a regression to the state before the two commits mentioned here.

I'm not sure how old the appveyor build is, but if you get one of the nightly after the mentioned commits were made it should work. I'm currently using version 1.1.197 I think and it's working great, sometimes it crashes on startup or just don't initialize but rarely, and it crashes when you try to close the game but it doesn't affect anything, game still saves correctly etc.
I'd recommend getting the version I mentioned from Nightly Developer Builds and trying again, just keep in mind it might not open properly every time.

I actually got it to work, and the answer was in front of me the whole time - disabling MangoHud makes it go through the loading screen.... sometimes, and it seems like everything works now. But at least I'm caught up to everybody else in the thread.

Using the 1.1.202, 1.1.201, 1.1.199 nightly builds caused a memory leak which lead to system seizure within ~35 minutes. The crashes stopped after removing the mod.
re2_framework_log.txt
I haven't tested other proton version combinations, just 7.1 GE-2 that I currently play on.

I've been trying to get this to work on proton-7.0 and REFramework 1.2, and it fails to initialise. Log attached.
re2_framework_log.txt.zip

I've been trying to get this to work on proton-7.0 and REFramework 1.2, and it fails to initialise. Log attached. re2_framework_log.txt.zip. Key unique error lines:
[REFramework] [error] Failed to initialize REFramework on DirectX 12
[REFramework] [error] Null Command Queue
[REFramework] [error] Exception thrown in REMethodDefinition::invoke for getTrg

I am having a similar (or possibly the same?) issue playing MHR Sunbreak with REF, however my mods do appear to load and work as intended - it's just the overlay doesn't appear. Attempting to load on Proton GE 7-24 using VKD3D with WINEDLLOVERRIDES="dinput8=n,b". Perhaps this issue is relevant as well:  #433.
It spams the log with the "Null Command Queue" error message, causing it to rapidly increase in size. "Failed to initialize REFramework on DirectX 12" is printed near the start of the log.
Log file below, truncated to reduce size (truncated text consists entirely of repeating lines as described above).
re2_framework_log.tar.gz

Perhaps someone more familiar with the internals of VKD3D can chime in here. I had fixed the command queue problem months ago, maybe they changed it again recently?

Have you tried using Proton Experimental? Seems to work perfectly for me with nightly RE2Framework.

Aha! After much trial and error I have managed to get Experimental working - thank you for the suggestion. I needed to add a couple more launch parameters to get it to work, specifically PROTON_ENABLE_NVAPI=1 and PROTON_HIDE_NVIDIA_GPU=0. Not entirely sure why, but otherwise it would crash as soon as I got to the loading save game screen.
So my final launch command, for anyone who might have the same issue (and is also running an nvidia gpu):
WINEDLLOVERRIDES="dinput8=n,b" PROTON_ENABLE_NVAPI=1 PROTON_HIDE_NVIDIA_GPU=0 %command%
Combined with Experimental gets the overlay to appear and everything seems to work properly.

Well, that was short-lived. Booted up today and the game has updated, now the same error is happening as before with no overlay displayed.
Tried the nightly but same issue.
re2_framework_log.tar.gz

okay, I figured out my issue with Proton Experimental was an outdated nvidia driver. Now on Experimental, I get a few screens into the loading, with the overlay interface, but then a crash. PROTON_ENABLE_NVAPI_ and PROTON_HIDE_NVIDIA_GPU_ do not seem to affect me.
 Now on Experimental, I get a few screens into the loading, with the overlay interface, but then a crash. PROTON_ENABLE_NVAPI_ and PROTON_HIDE_NVIDIA_GPU_ do not seem to affect me.

REFramework works fine in Linux/Proton for me even without the experimental Proton release, in Proton-7.0-3.
But if you're using MangoHUD with REFramework, make sure MangoHUD's window isn't hidden at startup.  The "no_display" option should not be enabled in the MangoHUD config or the REF window will not show.
Further, you must let the MangoHUD window stay up until the REF window shows up.  If you hide it via a keybind before REF has shown up, REF will not show up.  There is some weird interaction between the two.
Other than that all non-plugin REF mods JustWork(tm).  Which is fantastic.

I tried everything you mentioned to no avail, but oddly the thing that ended up working was removing the PROTON_ENABLE_NVAPI and PROTON_HIDE_NVIDIA_GPU launch commands. I have no idea why I needed them yesterday, and they stop it working today. I guess this is the Linux experience I chose.

The game crashed on "Loading... Do not quit the game" after the Sunbreak update. I got it fully working as well as mods with the following steps:

Go to Properties > Local Files. Delete the following files
shader.cache2
vkd3d-proton.cache
vkd3d-proton.cache.write
dinput8.dll
Go to .../steamapps/compatdata/ and delete the 1446780 proton prefix folder.
Go to .../steamapps/shadercache/ and delete the 1446780 shader cache folder.
Launch the game to compile shaders from scratch and get to the main menu, quit afterwards
Download the latest nightly build MHRise.zip REFramework and place the dinput8.dll into Properties > Local Files
Run the game with the dll override launch option inside Steam
mangohud gamemoderun WINEDLLOVERRIDES="dinput8.dll=n,b" %command%

This got my mods to consistently load together with the REFramework Overlay.

The errors in your log indicate you're using an old version of the mod with a new version of MHRise, or the other way around.

Thank you, that hint helped. Now I'm testing on the nightly reframework, nvidia driver 510.73, and latest MHR. On my setup, Proton GE-20 doesn't load reframework, but Proton Experimental does. On top of that I seem to need DXVK_FILTER_DEVICE_NAME="Quadro P2000" PROTON_ENABLE_NVAPI=1.

The game crashed on "Loading... Do not quit the game" after the Sunbreak update. I got it fully working as well as mods with the following steps:

My game now crashes once the Magna/Malz splash screen shows up, and the REF window doesn't even appear anymore. I previously was able to get as far as the Health Warning screen, but after following your steps, I'm crashing sooner.

Have you cleared all the mentioned caches and started the game with no dinput8.dll present before re-applying the override as well as copying the latest nightly build of the dinput8.dll into the game folder?
A friend managed to duplicate my results following along. Maybe it is due to the combination of my described steps and the latest custom Proton-GE.
What Proton Version are you using? Does the game launch without the DLL override and/or when the dinput8.dll is not present in the game directory?

I followed the steps as you listed. I deleted the two folders, allowed the game to run once, placed the latest nightly dinput8 file in the folder, then entered the launch command. I have my game set to launch with Proton Experimental.

Do you also have mangohud and gamemode installed? Not that their absence is causing the issue here.
Proton experimental 7-0 from July 6th runs fine on my end with the steps.

Are your graphics drivers, vulkan, vkd3d etc. up to date?

I have neither, just REF. I removed the two from the launch command, but nothing changed.
I'm pretty sure my drivers are up to date? I just allow the Steam Deck to keep itself automatically updated.

I have neither, just REF. I removed the two from the launch command, but nothing changed.
I'm pretty sure my drivers are up to date? I just allow the Steam Deck to keep itself automatically updated.
Adding log file. re2_framework_log.txt
I compared our logs and it appears that the Steam Deck does not get past the DirectX 12 hook error, while on my system it does. I omitted duplicate lines of the error as it appears a few dozen times.

[2022-07-10 03:21:59.560] [REFramework] [info] Resuming 592
[2022-07-10 03:21:59.628] [REFramework] [info] Hooked DirectX 12
[2022-07-10 03:21:59.628] [REFramework] [error] Failed to initialize REFramework on DirectX 12
.
.
[2022-07-10 03:22:01.552] [REFramework] [error] Failed to initialize REFramework on DirectX 12
[2022-07-10 03:22:01.586] [REFramework] [info] Attempting to initialize DirectX 12
[2022-07-10 03:22:01.586] [REFramework] [info] [D3D12] Creating command allocator...
[2022-07-10 03:22:01.586] [REFramework] [info] [D3D12] Creating command list...
[2022-07-10 03:22:01.586] [REFramework] [info] [D3D12] Creating RTV descriptor heap...
[2022-07-10 03:22:01.586] [REFramework] [info] [D3D12] Creating SRV descriptor heap...
[2022-07-10 03:22:01.586] [REFramework] [info] [D3D12] Creating render targets...
[2022-07-10 03:22:01.586] [REFramework] [info] [D3D12] Back buffer format is 28
[2022-07-10 03:22:01.586] [REFramework] [info] [D3D12] Initializing ImGui...
[2022-07-10 03:22:01.586] [REFramework] [info] Initializing WindowsMessageHook
[2022-07-10 03:22:01.594] [REFramework] [info] Hooked Windows message handler
[2022-07-10 03:22:01.594] [REFramework] [info] Resuming 308
.
.
[2022-07-10 03:22:01.595] [REFramework] [info] Resuming 584
[2022-07-10 03:22:01.595] [REFramework] [info] Entering DInputHook::hook().
[2022-07-10 03:22:01.595] [REFramework] [info] Got DirectInput8Create 0xa609c0
[2022-07-10 03:22:01.595] [REFramework] [info] Got IDirectInput 0x5ba80468
[2022-07-10 03:22:01.609] [REFramework] [info] Got IDirectInputDevice 0x5bbd0a50
[2022-07-10 03:22:01.609] [REFramework] [info] Attempting to hook 0x3080543c0->0xa599b0
[2022-07-10 03:22:01.609] [REFramework] [info] Hook init successful 0x3080543c0->0xa599b0
[2022-07-10 03:22:01.617] [REFramework] [info] Hooked 3080543c0->a599b0
[2022-07-10 03:22:01.617] [REFramework] [info] DInputHook hooked successfully.
[2022-07-10 03:22:01.617] [REFramework] [info] Starting game data initialization thread
[2022-07-10 03:22:01.617] [REFramework] [info] REFramework initialized

Here are your last few lines of the log file as the error does not get past the DirectX 12 hook error
[2022-07-09 18:06:17.825] [REFramework] [info] Resuming 580
[2022-07-09 18:06:17.863] [REFramework] [info] Hooked DirectX 12
[2022-07-09 18:06:17.863] [REFramework] [error] Failed to initialize REFramework on DirectX 12
[2022-07-09 18:06:17.863] [REFramework] [error] Exception occurred: c0000005
[2022-07-09 18:06:17.863] [REFramework] [error] RIP: 7fbc5f38d6f1
[2022-07-09 18:06:17.863] [REFramework] [error] RSP: 5bb6ea60
[2022-07-09 18:06:17.863] [REFramework] [error] RCX: 1
[2022-07-09 18:06:17.863] [REFramework] [error] RDX: 7fbbc40264b0
[2022-07-09 18:06:17.863] [REFramework] [error] R8: 0
[2022-07-09 18:06:17.863] [REFramework] [error] R9: 7ffc6a7571b0
[2022-07-09 18:06:17.863] [REFramework] [error] R10: 90886
[2022-07-09 18:06:17.863] [REFramework] [error] R11: 3e7
[2022-07-09 18:06:17.863] [REFramework] [error] R12: 0
[2022-07-09 18:06:17.863] [REFramework] [error] R13: 7fbc502072e0
[2022-07-09 18:06:17.863] [REFramework] [error] R14: 0
[2022-07-09 18:06:17.863] [REFramework] [error] R15: 7fbc502072e0
[2022-07-09 18:06:17.863] [REFramework] [error] RAX: 0
[2022-07-09 18:06:17.863] [REFramework] [error] RBX: 5bb6f140
[2022-07-09 18:06:17.863] [REFramework] [error] RBP: 7fbbc4086b80
[2022-07-09 18:06:17.863] [REFramework] [error] RSI: 7f9ddec0
[2022-07-09 18:06:17.864] [REFramework] [error] RDI: 7fbbc4086b80
[2022-07-09 18:06:17.864] [REFramework] [error] EFLAGS: 10206
[2022-07-09 18:06:17.864] [REFramework] [error] CS: 33
[2022-07-09 18:06:17.864] [REFramework] [error] DS: 2b
[2022-07-09 18:06:17.864] [REFramework] [error] ES: 0
[2022-07-09 18:06:17.864] [REFramework] [error] FS: 0
[2022-07-09 18:06:17.864] [REFramework] [error] GS: 0
[2022-07-09 18:06:17.864] [REFramework] [error] SS: 2b
[2022-07-09 18:06:17.864] [REFramework] [error] Module: Unknown
[2022-07-09 18:06:17.864] [REFramework] [error] Attempting to write dump to Z:\home\deck\.local\share\Steam\steamapps\common\MonsterHunterRise\reframework_crash.dmp

I am not sure why it behaves like this on your Steam Deck and don't know how to fix it without having a Steam Deck myself to test things on. Hopefully someone else can help you out with this info I found.

Tried again using the new build that was posted 2 hours ago. Still no dice.
re2_framework_log.txt

Tried again using the new build that was posted 2 hours ago. Still no dice. re2_framework_log.txt

Temporarily delete any REFramework mods you're using.
Start with the plugins. Delete the charm editor in reframework/plugins and try again.
If that doesn't work. Delete all of your scripts in reframework/autorun. If that works, try and narrow down the script causing it and I might be able to come up with something.

I've also heard REFramework Direct2D (reframework-d2d.dll) is not compatible with Proton.

This is it. I had one mod using Direct2D. Removing Direct2D and that mod got it working. Luckily the mod creator uploaded a non-D2D version, and that one works.

Unfortunately for me re-framework doesn't even produce a crash log for me, It gives me error 0x2000000 in the mhrise crash report dialog. Doing some digging in the generated crash report says it tried to access invalid memory.
Z:\mnt\gamedrive0\SteamLibrary\steamapps\common\MonsterHunterRise\MonsterHunterRise.exe
ExceptionPointer: 000000014EF6E970
ExceptionRecord:
ExceptionCode   : C0000005
ExceptionFlags  : 00000000
ExceptionAddress: 000000015E851EE6

Got the same error after the Sunbreak Update, did not check if REframework had a log though. Did you try https://github.com/praydog/REFramework/issues/229#issuecomment-1179620995 ?

Got the same error after the Sunbreak Update, did not check if REframework had a log though. Did you try #229 (comment) ?

No I have not.

While the overlay was able to load fine after setting the DLL overrideas a launch option
On resident evil 2 openxr and openvr were not detected in the overlay.
Even though I believe proton has support for both

While the overlay was able to load fine after setting the DLL overrideas a launch option
On resident evil 2 openxr and openvr were not detected in the overlay.
Even though I believe proton has support for both

Adding to my previous comments it seems until the following is implemented in proton it is unlikely that this and other mods will work on Linux through proton https://github.com/ValveSoftware/Proton/issues/4121


feat(starlette): add graphql.operation_name tag

Set a custom tag 'graphql.operation_name' if operationName is present in the JSON body or as a query parameter.
This allows GraphQL operations to be search for and alerted on in Sentry. Previously, no searchable tag existed because all GraphQL queries/mutations are typically served from the same route and url.

Does it seem reasonable to set graphql.operation_name as a custom tag? I started out by setting the transaction tag, but that results in a conflict with other integrations over what the transaction should be. Using a custom tag seemed like the least-intrusive action.

Could you please have someone consider this contribution?

Hi @mmiermans, thank you for the PR and sorry for the wait. We're currently looking into improving our GraphQL support in general (better errors and spans) so there are changes on the way that will supersede this PR, adding better support for GraphQL queries not just in Starlette but other frameworks as well.
I'll close this now but stay tuned for the GraphQL support package coming soon (tm)!


Basic example for pytest

Just an example. Not prescriptive.
Run with poetry run pytest tests/
Sorry about the shuffling in the pyproject.toml. It's the VSCode toml plugin.

Look into saved response fixtures in actual json files.
E.g.
fixtures/
    Enyaq 60 2024/
        airconditioning/
            already_running.json
            unavailable.json
        charging/
        other-endpoints/
    Octavia 6 2019/

Moved fixture to file

Merged this! Thank you!


window.sessionStorage cannot be used if cookies are disabled

Duplicate of #397, this time with code.
I created https://github.com/andi5/history/tree/session-storage-not-available , but I do not know how to create a pull request against a not-yet-existing v3.x branch.
Similar to #215, but the try-catch-blocks added there does not cover all the cases.
Reproduction:
use google Chrome (v55.0.2883.87 atm)
block cookies for all websites
visit any page that uses DOMStateStorage.(read|save)State from history v3.2.1
=> Uncaught DOMException: Failed to read the 'sessionStorage' property from 'Window': Access is denied for this document.
"sessionStorage" in window would simply return true, whereas using window.sessionStorage throws the exception from above. The code does so without try-catch.

What's stopping you from upgrading to 4.x? I'd rather not maintain a 3.x branch if we can avoid it. AFAICT, you're the first person who's asked for it.

We are not using history directly, but rather through dependencies:

https://github.com/ReactTraining/react-router/releases does not offer a stable release using history >= 4
https://github.com/taion/react-router-scroll/releases does not offer any release using history >= 4

These are not dependencies we would like to reimplement or experiment with. Instead we are waiting for them to update or hope that history 3.x will be maintained in the meanwhile.

I also faced this issue. Safari and Opera also throw an exception if cookies are disabled.
It's a bit rare situation when the user disables cookies and usually, developers don't check their code in browsers with disabled cookies.
As far as I know it could be fixed by replacing if (window.sessionStorage) with if ('sessionStorage' in window') or wrapping the whole condition in try/catch block.

Same here. Can we help out in any way to provide a fix for history 3.x.x?
We're depending on react-router and react-router-scroll which in turn depends on history 3.x.x.

I'm not supporting version 3 any more. Please send a PR if you'd like to see this fixed.

I've created #439 with fix for this error


Display files in proj order for F# projects, matches VS

Motivation
Improve the F# experience by matching fsproj file ordering with Visual Studio.
Current Behavior
The solution view sorts files alphabetically for all project types
Behavior after PR
F# files are not sorted in the solution view. They remain in the order they were discovered using the fsproj file.
This matches Visual Studio. I also verified behavior for project items that match multiple files.

I think we could probably close #131. F# files are properly added, renamed, and removed from fsproj files. Not as part of this PR, but it must have become supported by some previous work.
Follow up work
It'd be good to either

Add move up and move down commands for F# projects
OR make it a bit quicker to access the proj file where we can edit the file order

It's also a bit unintuitive that new fs files add to the last item group and not to the item group containing other Compile project items. Perhaps we could modify XmlManager.checkCurrentItemGroup to prefer a group containing the same kinds of items before defaulting to the last item group?

I opened another PR for an optional switch to opening project files on click
#269


UI concepts #1. 23rd June, 2017

UI font changed to Lato.
Implemented auto thumbnails for cards without thumbnails. A substring of the title (5 characters or the length of the title, whichever is less) will be displayed over a random background colour from a set of predefined colours.
Moved thumbnails to the top of the card.
Moved the title, publisher and price to the bottom of the card.
Moved the description to a semi-transparent overlay over the thumbnail, which will be displayed on card mouse over
Reduced card width.

Thanks for this @akinwale! Will have some feedback on this Monday.

@kauffj Pushed a new commit. Here's a summary of the changes.

Added a CardMedia component with title and thumbnail properties. Can be included in any component where a title and a thumbnail can be specified. Currently used in the FileCard and FileTile components.
Changed the font back to Source Sans Pro.
Replaced the percentage font sizing with em font sizing and increased the minimum font size. The font sizes may still require some tweaking based on the average length of title strings that need to be displayed on the cards.
Removed magic CSS.

I took another look at this. I like the CardMedia change a lot and the code looks shippable.
I like the idea of reducing the card with, but am not sold on the current hover behavior. I'd like to look at more options here, Including looking at a different hover style that introduces more additional info on hover.
Could you split the CardMedia part out into it's own PR? And then either open the remainder in another PR, or discuss with me on Slack and we can come up with some other options.

@kauffj I've created a new pull request for the CardMedia implementation with auto thumbnails at https://github.com/lbryio/lbry-app/pull/349. I suppose you could close this pull request and then I'll discuss with you on Slack regarding options for hover display, and the card size before I create another one.


refactor: Getcontext as stream

This is implemented in https://github.com/spotify/confidence-openfeature-provider-java/pull/108


Reporting module does not properly HTML encode characters show they show up looking like u0026 in the report

🐛 Summary
When running ScubaGear against AAD I found that the HTML output report contained instances of the text "u0026" in the report inside some of the conditional access policy names. This should show as "&" instead.
To reproduce
Steps to reproduce the behavior:

Create a conditional access policy with a special character such as & in it
Run the tool and examine the related policy outputs in the report

Expected behavior
The report should show the "&" character or whatever character is used in the names of various tenant objects displayed by ScubaGear.
For example, if I have a CA policy named "Ted & Lars" the report should display the name as "Ted & Lars" but right now it would display "Ted u0026 Lars".
Any helpful log output or screenshots

Reviewed 12/14
This is still valid and seems like a minor fix.

Closing because #604 seemed to resolve the issue


Locally installed application does not work - (startApp.js:113 Uncaught (in promise) TypeError: Failed to fetch)

Applications launched from local storage (using file:// locator) does not work.
Chrome, Version 83.0.4103.61 (Official Build) (64-bit) generates the following message/errors:
startApp.js:130 Fetch API cannot load file:///home/sw/public_html/refapp2-2/settings.json. URL scheme must be "http" or "https" for CORS request.
getSettings @ startApp.js:130
(anonymous) @ startApp.js:46
(anonymous) @ startApp.js:221
Promise.then (async)
(anonymous) @ startApp.js:218
sequence @ startApp.js:213
startApp @ startApp.js:41
(anonymous) @ startApp.js:251
startApp.js:137 No settings.json found.  URL scheme must be "http" or "https" for CORS request.
getAppMetadata @ startApp.js:113
(anonymous) @ startApp.js:56
(anonymous) @ startApp.js:221
Promise.then (async)
(anonymous) @ startApp.js:218
sequence @ startApp.js:213
startApp @ startApp.js:41
(anonymous) @ startApp.js:251
startApp.js:113 Uncaught (in promise) TypeError: Failed to fetch
    at getAppMetadata (startApp.js:113)
    at startApp.js:56
    at startApp.js:221
getAppMetadata @ startApp.js:113
(anonymous) @ startApp.js:56
(anonymous) @ startApp.js:221
Promise.then (async)
(anonymous) @ startApp.js:218
sequence @ startApp.js:213
startApp @ startApp.js:41
(anonymous) @ startApp.js:251

This error is caused by browser policies that don’t allow fetch or xhr requests from the local filesystem. It exists as a security measure.
startApp.js uses fetch to dynamically load settings and metadata, simulating the way the Metrological App Store works during local development.
We recently released version 1.6.0 of the Lightning CLI that introduces a new lng dist command (https://github.com/rdkcentral/Lightning-CLI#dist). lng dist generates a distributable version of the App and doesn’t reply on startApp.js, so that should solve this exact issue.
However as soon as the App code itself uses fetch or xhr to retrieve data, you will run into the same issue. For that reason it is recommended to always run Apps using a (local) webserver.


feat(electric): JWT expiration

When the client authenticates, Electric sets a timer that expires on the time specified by the token's "exp" (expiration) claim. When that timer is fired, the client's socket is closed with a status code 4000 and reason "JWT-expired".
The TypeScript client is also modified to handle socket close events due to JWT expiration. When the socket is closed because the JWT expired, this is signaled to the developer through an AuthStateChange through the notifier. The AuthState was extended such that it includes an AuthStatus which can be UNAUTHENTICATED, AUTHENTICATING, AUTHENTICATED, EXPIRED. The lifecycle of the auth status is depicted below:
stateDiagram-v2
    direction LR
    [*] --> Unauthenticated
    Unauthenticated --> Authenticating
    Authenticating --> Unauthenticated
    Authenticating --> Authenticated
    Authenticated --> Expired
    Expired --> [*]

Note: in general, the JWT should be renewed before it expires. Renewing the JWT is currently not supported and will be the subject of a follow-up PR.
Questions

Electric supports top-level JWT claims and namespaced claims. Should exp always be a top-level claim? (currently implemented that way)
Should the exp claim always be present? It seems so because it is listed in required_claims but it seems that Electric does not complain when that claim is omitted. Either, it should be required and Electric must complain if it is not present, or, it is not required and Electric must use a default expiration.

@alco can probably answer these questions

@kevin-dp Hey, nice work on the Elixir code!
I've simplified it a bit and pushed a bunch of commits to the branch. See commit messages for explanation.
Regarding your question about the exp claim, it is a standard claim, so it is always at the top level. I'm not sure how you got the server to accept a token without this claim in the secure mode. There is a unit test that verifies server's handling of this claim - https://github.com/electric-sql/electric/blob/e11501d8d3eb7c77ccf49451893926e8adc09ae8/components/electric/test/electric/satellite/auth/secure_test.exs#L179-L201.

@balegas I modified the implementation as discussed over our call some time ago. User's now get notified of the JWT expiration through the connectivity status which is set to disconnected on expiration together with an error message, i.e. the connectivity state now has the following type:
export type ConnectivityStatus = 'available' | 'connected' | 'disconnected'
export type ConnectivityState = {
  status: ConnectivityStatus
  error?: string // reason for `disconnected` status
}

I think for the scope of this patch we should just close the client and throw an error.

I modified the implementation such that on JWT expiration, we close the Satellite client and process.
I'm not sure about closing the process. Perhaps it would be enough to close the client if the user has a way to re-connect with a new token (without having to re-electrify the database). Re-connecting with a new token should work as long as it has the same user ID. If that's possible, we can envision re-connection and renewal to look like this:
connect(token: AuthToken) // only possible if client is disconnected, must preserve user ID
renew(token: AuthToken) // only possible if client is connected, must preserve user ID

I added the possibility to renew the JWT. The new state diagram looks like this:
stateDiagram-v2
    direction LR
    [*] --> Unauthenticated
    Unauthenticated --> Authenticating
    Authenticating --> Unauthenticated
    Authenticating --> Authenticated
    Authenticated --> Authenticated: renew
    Authenticated --> Expired
    Expired --> [*]

The JWT should be renewed before it expires. If the JWT expires, the Satellite client and process are closed; the user will need to re-electrify the database with a new JWT.

Modified the implementation as suggested by @balegas such that the user does not need to re-electrify when the token expires but can reconnect with a new token. The new state diagram looks like this:
stateDiagram-v2
    direction LR
    [*] --> Unauthenticated
    Unauthenticated --> Authenticating
    Authenticating --> Unauthenticated
    Authenticating --> Authenticated
    Authenticated --> Authenticated: renew
    Authenticated --> Expired
    Expired --> Authenticated: reconnect

Example usage:
function fetchJWT() {
  // oracle that fetches your JWT somehow
}

// Electrify the DB
const electric = await electrify(conn, schema)
// Fetch our JWT
// this example assumes it expires in > 1 hour
const token = fetchJWT()
// Connect to Electric
await electric.connect(token)
// Renew the JWT every hour
const oneHour = 60 * 60 * 1000
let stopRenewing = renewPeriodically(electric, oneHour)

// Subscribe to connectivity changes to detect JWT expiration
electric.notifier.subscribeToConnectivityStateChanges(async (x) => {
  if (x.connectivityState.status === 'disconnected' && x.connectivityState.error === 'JWT expired') {
    console.log("JWT expired, reconnecting...")
    stopRenewing() // NOTE: the connectivity state change event is async and is fired after the socket to Electric is closed. Between the socket closing and this event firing, we may have tried to renew the token which will fail
    const newToken = fetchJWT()
    await electric.connect(newToken)
    console.log("connection restored")
    stopRenewing = renewPeriodically(electric, oneHour)
  }
})

// Renews the JWT periodically
// and returns a function that can be called to stop renewing
function renewPeriodically(electric: Electric, ms: number) {
  const id = setInterval(async () => {
    // Renew the JWT
    const renewedToken = fetchJWT()
    await electric.renew(renewedToken)
    console.log("Renewed JWT")
  }, ms)
  return () => {
    clearInterval(id)
  }
}


paper

Thank you for good work! I'm very interested in it and want to further learn the details of DOQ. Please provide the Manuscript. Thanks!

We will release our paper after ECCV result comes out(or I can e-mail you)

https://openaccess.thecvf.com/content/CVPR2022/papers/Qu_Distillation_Using_Oracle_Queries_for_Transformer-Based_Human-Object_Interaction_Detection_CVPR_2022_paper.pdf


fix(graphql): operation name support in introspection query

Current state
Some GraphQL server requires a operation name (operation name is mandatory).
Changes introduced here
Add operation name to introspection query for compatibility reasons.

@MikeBild could you please rebase and reword your commit message to adhere to conventional commits format?

@ZauberNerd arrrg yes, that's right. thx!


python3Packages.hassil: 0.2.4 -> 0.2.5

https://github.com/home-assistant/hassil/releases/tag/v0.2.5
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[x] 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.05 Release Notes (or backporting 22.11 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@ofborg build python311Packages.hassil python310Packages.hassil hassil

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

2 packages built:

hassil (python310Packages.hassil)
python311Packages.hassil


Fix typos

Fix typos

PR-Codex overview
This PR fixes typos and minor errors in code documentation and contributing guidelines.
Detailed summary:

Fixed typos in code documentation in Utils.md and Builders.md.
Corrected grammar in CONTRIBUTING.md.
Fixed a typo in CONTRIBUTING.md.
Corrected a spelling mistake in CONTRIBUTING.md.
Fixed a typo in CONTRIBUTING.md.
Updated a section header in CONTRIBUTING.md.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

thanks for catching these typos @omahs!
it looks like you removed the PR template, which we need for all PRs. could you please add it back in and fill it out? you can copy it from one of the other PRs

@varunsrin oops sorry, I just added the template


fix: make aggregate safer

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

v1.48.0
GitHub release

Your semantic-release bot :package::rocket:


fix: Service Account Mitigation for CNS on k8s Windows 2022

Reason for Change:

Service Account Mitigation for CNS on k8s Windows 2022
Issue Fixed:

Requirements:

[X] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests

Notes:

what was the issue that this fixes?

what was the issue that this fixes?

Hoping this will resolve those SA issues for host process containers
e.g. failed to get nnc kube-system/aksnpwin000000: nodenetworkconfigs.acn.azure.com "aksnpwin000000" is forbidden: User "system:node:aksnpwin000000" cannot get resource "nodenetworkconfigs" in API group "acn.azure.com" in the namespace "kube-system"


[client] Upgrade fyne version to fix freezing routes window

Describe your changes
Issue ticket number and link
Checklist

[x] Is it a bug fix
[ ] Is a typo/documentation fix
[ ] Is a feature enhancement
[ ] It is a refactor
[ ] Created tests that fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

Fyne says v2.5 introduces international support, system font lookup. Maybe we can drop some of the font code we have?

need to test and change in a different PR

I need to validate the Linux and issue a fix in another PR


feat: Add  prop

closes REM-576

Just pushed docs changes. Feedback welcome!

thanks @kentcdodds!

yup, giving them a read now! thanks again!


Update dependencies

Update deps, mainly Armeria, in order to fix this

There's a major breaking change in 0.95.0 for how annotated services are run https://github.com/line/armeria/releases/tag/armeria-0.95.0
We need to add @Blocking to all annotated services that don't return HttpResponse or CompletionStage - I think in this codebase, it's just the query API that returns AggregatedHttpResponse, also can't forget in the kafka code to add it to all the methods returning a JSON object.


Update ResponseConverter.java

Fix: Wrong way to judge Http1.1

Hi, thank you for your contribution! Before we can accept the patch, we'll need you to virtually sign the CLA as outlined here: https://github.com/google/cronet-transport-for-okhttp/blob/master/CONTRIBUTING.md#contributor-license-agreement


Not all user attributes are available in userInfo in JSPs

Describe the bug
Additional user attributes are not available in in JSPs via userInfo.
To Reproduce
Steps to reproduce the behavior:

Configure an external user attribute source
For testing, modify greetings.jsp and add ${userInfo} near name
Log in with user that has extra attributes
See that attributes are missing in output but are present in uPortal

confirm through logs or as admin using User Portlet tool

Expected behavior
Additional attributes should be present in ${userInfo}
Additional context
Default user attributes, displayName, user.login.id, impersonating are usually present
There may be some hidden configuration that filters attributes in userInfo, but it is not apparent from documentation, reviewing context files, or searching source.
Consider adding the following to logback.xml for debugging:
 <logger name="org.apereo.services.persondir.support" additivity="false" level="TRACE">
    <appender-ref ref="PORTAL"/>
  </logger>

To avoid this problem i use the personManager bean into jspInvoker

This is a great writeup -- all of them should be this good.
There may be some hidden configuration that filters attributes in `userInfo`

Are the missing attributes listed here?...

https://github.com/Jasig/uPortal/blob/master/uPortal-webapp/src/main/webapp/WEB-INF/portlet.xml#L1160

Yeah, in my rush, I forgot about the portlet configuration. I will add documentation around this.
Thanks!

IMHO this episode makes a nice anecdotal example of how portlets are frustrating.

Yep, I agree

Folks -- I'm going to close this ticket because the thing it describes is actually "working as intended."
If Benito (or anyone) adds documentation that helps in this area, that would be welcome.


Ignite fails to download kubectl and failed to create kubelet.service

When I built the docker container using DockerFile in phase2 and use that as .phase2.installer_container  , ignite fails to download kubectl and failed to create kubelet.service.
Here is output which I got while running kubernetes-anywhere,
null_resource.master (remote-exec): INFO     : files: createFilesystemsFiles: createFiles: op(11): op(12): [started]  GET "https://storage.googleapis.com/kubernetes-release/release/v1.3.4/bin/linux/amd64/kubectl"
null_resource.master (remote-exec): DEBUG    : files: createFilesystemsFiles: createFiles: op(11): op(12): GET result: OK
null_resource.master: Still creating... (59s elapsed)
null_resource.master (remote-exec): CRITICAL : files: createFilesystemsFiles: createFiles: op(11): op(12): [failed]   GET "https://storage.googleapis.com/kubernetes-release/release/v1.3.4/bin/linux/amd64/kubectl": net/http: request canceled (Client.Timeout exceeded while reading body)
null_resource.master (remote-exec): CRITICAL : files: createFilesystemsFiles: createFiles: op(11): [failed]   fetching file "/usr/local/bin/kubectl": net/http: request canceled (Client.Timeout exceeded while reading body)
null_resource.master (remote-exec): CRITICAL : files: failed to create files: failed to create files: failed to resolve file "/usr/local/bin/kubectl"
null_resource.master (remote-exec): Failed to execute operation: No such file or directory
null_resource.master (remote-exec): Failed to start kubelet.service: Unit kubelet.service failed to load: No such file or directory.

I'm able to access that URL from a few networks I just tried.
Are you having network problems?  GET "https://storage.googleapis.com/kubernetes-release/release/v1.3.4/bin/linux/amd64/kubectl": net/http: request canceled (Client.Timeout exceeded while reading body)

@colemickens No. When I download it manually inside the VMs it works.

You've tested what multiple times? Running the whole deployment / ignition container? Or manually calling curl/wget in the VM? Or both?
What phase1 are you using?

I have tested both. I am using vSphere Cloud Provider for phase1.

I don't really know then.
Can you start a busybox one of the vsphere vms and try to manually download? Maybe something about docker's networking is not configured as needed for the vsphere phase1.

I guess you contributed the vsphere phase1... Was it not working at one point in time?

I tested with busybox and downloaded it manually, it worked fine. Yes, I contributed to vSphere phase1, it was not working at that time. So, I removed from ignite.json and build docker container docker.io/ashivani:v3  and download it using curl in phase1.

Did you find the same issue with Azure?

No, can't say that I've seen it or had anyone report it. I'm not really sure what could be going on other than intermittent networking issues to be honest.

@colemickens I think this is timeout issue for large files from ignition https://github.com/coreos/bugs/issues/1390. I tested this by adding small file to master.jsonnet and deployed kubernetes again, small file got download but large one failed. This is resolved here. But this change is not there in ignition version we use right now.

I'd merge a PR that upgraded the version of ignition used.

Especially if you validate that it fixes your problem.

@colemickens I tested with updated version of ignition and it works fine. I think it solves this issue too.
Now, to update iginition in kubernetes-anywhere, I can upload binary at some location and provide it in DockerFile as we do it now. Yet the vanilla oem is not upstream to coreos/ingnition it resides on @mikedanese fork. I believe that it is good idea to upstream onto main repo because it will be easy to maintain and update. For instance, to update the version I had to make lot of changes to the code since interface for provider is changed in coreos/ignition.
@mikedanese Can I upstream vanilla oem since I have recent changes?

@abrarshivani yes please go ahead.

Thanks @mikedanese. I created  PR which adds vanilla oem in coreos/ignition.


qca-ssdk: Disable port learning (roaming fix option A)

The switch in the IPQ807x/IPQ60xx devices will automatically learn the mac addresses behind a port. But it will not unlearn this entry when some mac switches from the ethernet port to the CPU port. This will for example happens when a device roams from on AP to another AP. At least when both are APs are bridging the wifi traffic directly or indirectly (mesh) to the same ethernet broadcast domain.
As result, the roaming device can no longer receive any ethernet packets which the AP is expected to receive on the ethernet port. This state will be kept for a couple of minutes until the entry in the FDB is dropped automatically. But it is still possible for the wifi device to send data via the ethernet during this whole time.
One solution is to just disable learning on all ports. The other option would be to enable the qca bridge-mgr which takes care of gathering the events from the bridge and forwards it to the qca-ssdk (to manipulate the state of the switch). The first option was chosen here for simplicity.
This is option A. Option B can be found in #258

using option B, closing this one, Thanks !


mmm-moon-phases module prevents ALL other modules from working.

I have an issue where after installing your module it will prevent all other MM modules from working and will display a black screen. If i comment out the moon-phases module in the config.js file then it works. Below is what I have for the moon phases module
/*		{ 			"module": "mmm-moon-phases", 			"config": { 				//"height": 200, 				//"width": 200 			}, 			"header": "Current Moon Phase", 			"position": "top_center" 		}, */

I have exactly the same issue... probably it is due to a require in the node_helper.js (require('del'))
but still didn't find a way to correct it ...

Same for me here - Jasperfr74 you are absolutely right, the logs show "cannot find module del"...

node_helper.js (require('del'))

Hopefully soon will be fixed !!

Not working. Delete!

I had a similar issue, but my entire screen was blank. It not only prevented all other modules from working, I didn't even get the phases of the moon displayed.

Hey guys, I was able to fix this by changing a line in the config.js file from:
address: "localhost",

to:
address: "<IP_ADDRESS>",

By default it's only listening to the loopback address, which means it can only accept "remote" connections from itself. This lets it listen on all interfaces.
If, instead, you only want it to listen on one interface (for example, just the wired interface, or just the wireless interface) then replace <IP_ADDRESS> with the IP of that interface.

Since this module doesn't seem to be maintained anymore I created a new one that uses a new API.
https://github.com/dannoh/mmm-redd-moon-phases

Since this module doesn't seem to be maintained anymore I created a new one that uses a new API.
https://github.com/dannoh/mmm-redd-moon-phases


feat: add Nukesor/pueue/pueue

Nukesor/pueue/pueue:

Did you run cmdx s Nukesor/pueue/pueue?

The pre built binary doesn't work on my laptop (M3 Pro). 🤔
$ /Users/shunsukesuzuki/.local/share/aquaproj-aqua/pkgs/github_release/github.com/Nukesor/pueue/v3.4.0/pueue-darwin-aarch64/pueue-darwin-aarch64 --help
zsh: killed      --help

Maybe I'll revert this pr because the pre built binary doesn't work on my laptop (M3 Pro).

I reverted this pull request once.

https://github.com/aquaproj/aqua-registry/pull/21621


Interrupt is not killing the child process tree

It only kills the root child process. Tested on OS X.

Actually, that's the expected behavior -- the root child process should be responsible for intercepting SIGINT and killing its children.


2021.1/ENG-5704 fix the issue with renew notification message on the first item in dropdown

ENG-5704

@jernejcic, thank you!

@jernejcic, thank you!


negative index list slices

Hi,
this adds negative index list slicing - does it look ok?

Hi @uranusjr and @eliasdorneles
I added Math.max and extra tests - how does it look now?

Oh, the build failed because a test which wasn't passing before is now passing -- yay, that's good! =)
@Nasreen123 can you remove the line with test_subscr_slice in: https://github.com/pybee/voc/blob/master/tests/datatypes/test_list.py#L604 ?
The build should be green after that and the PR will be ready to merge!


link coverage file extraction

Is there a way to extract a .bed or .wig coverage file from the .hic file?

Yes, it's possible. Run smth like  dump norm VC ${hic_file} assembly BP ${bin_size} "coverage_wide.wig"
Closing since this is not an issue report. Please consider using forum (aidenlab.org/forum.html) for inquiries.
Thanks, -Olga


Add empty spec key for ovncontroller sample

make ovn_deploy fails since [1] as oc kustomize
fails with missing path.
This patch adds empty spec key to get it working,
alternative would be to update install_yamls to
create kustomization.yaml specific to ovn.
[1] https://github.com/openstack-k8s-operators/ovn-operator/pull/64

/test ovn-operator-build-deploy-kuttl

Thank you for taking care of the breakage.


Improve DEVELOP.rst

Hi there,
this is an overhaul of "DEVELOP.rst". The patch brings in a better document structure and a more concise walkthrough in order to get started in development mode more quickly.
With kind regards,
Andreas.

Hi Justine,
thank you for your extensive review. I applied all of your excellent suggestions without further ado.
With kind regards,
Andreas.


Module memory leaks on every execution of widget

It appears that every time we execute our widget, a new copy of the module is instantiated, and subsequently leaked.
You can replicate this with a module that includes a large const such as:
import anywidget
import traitlets

class LeakyWidget(anywidget.AnyWidget):
    _esm = """
    const buffer = new ArrayBuffer(100000000);

    function render({ model, el }) {
      let div = document.createElement("div");

      div.innerHTML = `Buffer is is ${buffer.byteLength} bytes.`;

      el.classList.add("leaky-widget");
      el.appendChild(div);
    }
    export default { render };
    """
    _css = """
    .leaky-widget button { background-color: #ea580c; }
    """
    value = traitlets.Int(0).tag(sync=True)

Repeatedly executing LeakyWidget() in a cell will leak  ~100MB per run.
You can see this in a browser tool inspector by taking snapshots after each execution of the cell and seeing newly created ModuleEnvironmentObjects:

Ideally, we would have some mechanism to simply cache and re-use the same module across all widget instances, but it would be acceptable for them to at least get freed correctly.

Thanks for opening the issue and for the clear, reproducible example. This is certainly a bug and something I want to fix.  I've been preparing for an anywidget tutuorial and talk at SciPy, which has been taking some time.

Ideally, we would have some mechanism to simply cache and re-use the same module across all widget instances, but it would be acceptable for them to at least get freed correctly.

Completely agree. I've been intending to migrate to this type of execution model since introducing the lifecycle hooks in v0.9.0. At that point we need to officially remove support for the prior named export however. So planning for v0.10.0.

Thanks for the context, and good luck at SciPy.
FYI, for now we ended up working around this on our end by pushing our widget.js to our CDN in our build process and then by default referring to it via url instead of using the normal inlined approach. This hits the load-from-url codepath and correct caching behavior ensues.
Here's the PR in case anyone finds the approach informative: https://github.com/rerun-io/rerun/pull/6680
Given how large our widget.js bundle is, this also seems to have other benefits, in particular, in Colab notebooks where we were seeing a pretty lengthy load-process on every execution. If every instance of anywidget is isolated it may be tricky to implement caching using any approach other than a hosted asset.

Ok I got some headway with this experimenting in a standalone HTML file. Below is an example of basically what anywidget does behind the scenes:
<!doctype html>

		<meta charset="utf-8">
		<title>Memory Leak</title>

Memory Leak

		<button id="add">Add</button>

Clicking the button will leak memory for every click.
I was able to support freeing memory by having the module export a "free" method:
<!doctype html>

		<meta charset="utf-8">
		<title>Memory Leak</title>

Memory Leak

		<button id="add">Add</button>
		<button id="remove">Clear</button>

Also thank you for sharing the idea CDN work around. I think that's a good idea for others experiencing this kind of issue or who have "large" widgets on the frontned

I was very confused by this behavior when investigating it, because anywidget doesn't actually do anything that would result in a memory leak. It turns out that this is a behavior of all major JS engines.
Modules are not collected until their realm is, even if the module and its exports are not reachable anymore. It's hard to dig up any concrete information about this, but here's one thread I found: https://esdiscuss.org/topic/are-es-modules-garbage-collected-if-so-do-they-re-execute-on-next-import
It makes sense, because modules may be re-imported using the same specifier at any time. If they were evicted from cache, the browser would have to re-evaluate the module, including its side-effects.
For URLs created using URL.createObjectURL which are subsequently revoked, the cache could evict the module, because it isn't possible for it to be re-imported anymore. No browser does that, though. You can actually continue to import an object URL even after it's been revoked:

Memory Leak

    <button onclick="leak()">Add</button>

To fix this in anywidget, the ESM should not be reloaded every time a widget is initialized. Because anywidget supports hot-reloading, it would still have to reload it in case the source has changed, which will continue to leak memory.

Thanks for the response.

To fix this in anywidget, the ESM should not be reloaded every time a widget is initialized.

Completely agree. We should load ESM once, upfront for the widget class. The changes I have for this may break packages that depend on Widget._esm (i.e., not many widgets but libraries like ipyreact that build on anywidget's core). But I'd like to postpone that release until after our SciPy tutorial.

Because anywidget supports hot-reloading, it would still have to reload it in case the source has changed, which will continue to leak memory.

Unfortunately, I think we'll have to accept that anywidget's built-in hot-reloading for development has a memory leak. I can add a section to the documentation explaining this caveat and suggest that you use a separate development server for very large bundles (e.g., Vite with the anywidget vite plugin). The ergonomics of having built-in HMR for prototyping is just too nice, and perhaps the memory leak is an acceptable trade off for the time being since it happens only in development.

Agreed. A documented memory leak to support hot-reloading during development cycles seems well worth it. Also for probably 95% of users developing small JS-only packages the memory leak is not nearly as problematic.
Granted, as wasm continues to gain popularity this kind of issue will probably start to show up more often.

It might be helpful to think of this less like a memory leak and more of an issue of documenting / clarifying the widget lifecycle. A basic counter example demonstrates the current behavior as well.
class Widget(anywidget.AnyWidget):
    _esm = """
    if(!window.numModules) window.numModules = 0;
    if(!window.numGlobalInit) window.numGlobalInit = 0;
    if(!window.numGlobalRender) window.numGlobalRender = 0;

    window.numModules += 1;

    let numLocalInit = 0;
    let numLocalRender = 0;

    function initialize() {
        numLocalInit += 1;
        window.numGlobalInit += 1;
    }

    function render(view) {{
        numLocalRender += 1;
        window.numGlobalRender += 1;

        const h1 = document.createElement("h1");
        h1.innerText = JSON.stringify({ numModules, numLocalInit, numLocalRender, numGlobalInit, numGlobalRender });
        view.el.appendChild(h1);
    }}
    export default { initialize, render }
    """

We should load ESM once, upfront for the widget class

It might need to involve some kind of string hashing to ensure that widget development can still occur directly in a notebook

For URLs created using URL.createObjectURL which are subsequently revoked, the cache could evict the module, because it isn't possible for it to be re-imported anymore. No browser does that, though. You can actually continue to import an object URL even after it's been revoked

I created an issue on the chromium bug tracker (https://issues.chromium.org/issues/350426234), and finally got a response from someone who understands the spec. This behavior is actually spec compliant, and evicting the module from the module map would be a regression.
revokeObjectURL will cause any subsequent dereferences of the Blob URL to fail with a network error, according to the spec - but the blob URL is just a plain string, and any subsequent imports of the same blob URL do not dereference the blob URL, they only retrieve the same module from the cache using the blob URL as the module specifier. So that does not result in a network error, and there is no way to be sure that the module is never going to be imported again.

Is there a reason this cannot be resolved by reusing the same widget instance on the Python side?

I created an issue on the chromium bug tracker ~2 weeks ago

Thanks for doing that and sharing the response.

Is there a reason this cannot be resolved by reusing the same widget instance on the Python side?

Widget ESM is defined on the class but we grab it from the front end from each class instance. I have branch to change the behavior to reuse ESM (i.e., load once) and share it across all instances in the front end. For HMR we will just have documentation that there is a memory leak and point to this issue for explanation.


Feature/presenter auth api

endpoint for querying the presenter auth api via the gateway
presenter auth url passed in via env vars
returns 200 if account is found, 401 if not

Both valid points, fixing now


Since V1.26.0, there is a RegExp BUG in IE10/11

Information:

Prism version: V1.26.0+
Environment: IE10/11 in Windows7/10

Description
V1.25.0 In IE is fine, but Since V1.26.0, IE can't work, the problem is this line :
element.className = element.className.replace(RegExp(lang, 'gi'), '');
Example
Because the type of lang is RexExp, but in IE, RegExp() function, the first parame only can be a String, so it cant't run.
Maybe We can do this to solve it : element.className = element.className.replace(RegExp(String(lang), 'gi'), '');
In addition, the modifier of lang is 'i' : var lang = /(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i;,
but here it is changed to 'gi', I am really worried about whether it will cause an error in some case.

You'd need lang.source, i believe.

(Also note that if you use the es5-shim/es6-shim, this scenario is handled properly)

RegExp.prototype.source will return the RegExp text part, no include flags, so is :
element.className = element.className.replace(RegExp(lang.source, 'gi'), '');


XML processing: is it possible to select what parts should be enriched?

Is it possible to identify in an XML document the parts that should (not) be enriched? I am asking since many XML formats contain fields that are not suitable for enrichment. See attached ONIX file, the related request and output.
onix-input.txt
request3.txt
out3.txt

I'm not an expert of XML files. I think that if we agree on a special attribute, I can discard those text units embedded in a tag with such attribute. The final result would be that those text units are not inserted in the final NIF file and therefore they won't be enriched.
Anyway I don't know if defining such an attribute is feasible.

If that is feasible for your workflow, I would suggest the following: allow
an XPath expression (including setting of XML namespace prefixes) that
selects what parts should be used for enrichment. The user would provide
that XPath erpression calling e-Internationalisation.
The approach
"text units embedded in a tag with such attribute."
would require changing the XML content itself - this is probably not
feasible.
The XPath exxpress is not needed for roundtripping, btw. And: this would be
an extremly powerful feature IMO, since users can adapt "their" XML
vocabulary for FREME on the fly.
2015-10-28 20:29 GMT+09:00 borriellom<EMAIL_ADDRESS>
I'm not an expert of XML files. I think that if we agree on a special
attribute, I can discard those text units embedded in a tag with such
attribute. The final result would be that those text units are not inserted
in the final NIF file and therefore they won't be enriched.
Anyway I don't know if defining such an attribute is feasible.
—
Reply to this email directly or view it on GitHub
https://github.com/freme-project/e-Internationalization/issues/25#issuecomment-151808920
.

@fsasaki addressing content with XPath is fine, but that would work only with XML and XML based formats, but not RDF/NIF.
What about introducing ITS and corresponding NIF property for selection of elements for processing? Then, it can be re-used in XML/ITS but also in RDF/NIF.
What do you think?

Hi Milan, on
"What about introducing ITS and corresponding NIF property"
this makes sense too, but from the XML people it is a different use case. E.g. in an XML file like this
http://mariage.uvic.ca/anth_doc.xml?id=la_femme_battant
you may want to process only the "p" elements with FREME. So it makes sense not to send the whole file to FREME, which would also slow down the FREME / NIF processing. Now, in a specific "p" element you may want to say "this sub string should not be translated" - which you can do with the ITS representation of RDF/NIF, and e-Translation allows that already, AFAIK. But you would still send the whole sub string to FREME (which would then benefit from the RDF/NIF + ITS information). Wrt to XPath, it seems this will not end up in e-Internationalisation but in the batch processing tool.

Just to give an idea how the preprocessing works using XPath via XSLT, see here
http://fsasaki.github.io/stuff/freme-xml-processing-example/
the demo allows to process TEI (XML relevant for digitial humanities) with FREME. The XML processing is done via a XSLT pre-processing step

Very nice demo!
As for the new property proposal - If I understand well the use case, by using XPath there is no need to intervene in the XML (add instruction properties what to and what not to process). Yes, this makes sense to me.
And yes, I agree, this is smth for the batch processing tool.


Bug: Can't change the unifi user.

When I try to create the service with the user admin I receive the following error when the service try to start:
ansible@unifi-controller:~$ sudo service unifi status
* unifi.service - unifi
   Loaded: loaded (/lib/systemd/system/unifi.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sat 2019-08-03 17:53:59 EDT; 10s ago
  Process: 7441 ExecStop=/usr/lib/unifi/bin/unifi.init stop (code=exited, status=1/FAILURE)
  Process: 8472 ExecStart=/usr/lib/unifi/bin/unifi.init start (code=exited, status=1/FAILURE)
 Main PID: 7188 (code=exited, status=0/SUCCESS)
    Tasks: 41 (limit: 4915)
   CGroup: /system.slice/unifi.service
           `-7418 /usr/lib/jvm/oracle-java8-jdk-amd64/jre/bin/java -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dapple.awt.UIElement=true -Xmx1024M -XX:+Exit

Aug 03 17:53:58 unifi-controller unifi.init[8472]: unifi cannot start. Please create unifi user, and chown -R unifi /var/lib/unifi /var/log/unifi /var/run/unifi
Aug 03 17:53:58 unifi-controller systemd[1]: Failed to start unifi.
Aug 03 17:53:58 unifi-controller systemd[1]: unifi.service: Unit entered failed state.
Aug 03 17:53:58 unifi-controller systemd[1]: unifi.service: Failed with result 'exit-code'.
Aug 03 17:53:59 unifi-controller systemd[1]: unifi.service: Service hold-off time over, scheduling restart.
Aug 03 17:53:59 unifi-controller systemd[1]: Stopped unifi.
Aug 03 17:53:59 unifi-controller systemd[1]: unifi.service: Start request repeated too quickly.
Aug 03 17:53:59 unifi-controller systemd[1]: Failed to start unifi.
Aug 03 17:53:59 unifi-controller systemd[1]: unifi.service: Unit entered failed state.
Aug 03 17:53:59 unifi-controller systemd[1]: unifi.service: Failed with result 'exit-code'.

My guess is you forgot to edit the .service file with the good user.

Support for changing the unifi user has been dropped. It adds unnecessary complexity and with 7.x the user is already set to unprivileged "unifi".


Edit an appointment's report

Maybe disable from the tutors to change and update the fields of the report such as "tutor", "term" and even "course" ?
I think there is no need for the tutor to change these fields since they should be correct from the beginning. Imagine me having an appointment and then change it and assign it to you and even change the term that I'm not supposed to have working hours.
@rdok

@Geoskar wtf
this is a critical bug man!

Im not at home right now but if you say so it must be really critical
Στις 29 Μαΐ 2015 9:37 ΜΜ, ο χρήστης "Rizart Dokollari" <
<EMAIL_ADDRESS>έγραψε:

@Geoskar https://github.com/Geoskar wtf
this is a critical bug man!
—
Reply to this email directly or view it on GitHub
https://github.com/sass-team/sass-app/issues/83#issuecomment-106899280.


Failed rendering AnimalLogic USD Lab

Loading the AnimalLogic USD Lab results in a single collection with no objects to manipulate, also the scene is flipped -90 degrees and cannot be rotated or moved to a custom position.

Hi. Thanks, we will take a closer look at this scene.

@IRONIC3D can you please try to use Transform node to rotate the scene in USD nodetree?

Hi @bnagirniak , opening the USD node is crashing Blender for me. I've updated to 2.93.7 since last reported it. Updating to 2.93.8 today to see if that solves the crash.
The crash is not happening to other scenes.


How to sign out of the beta and use a stable version?

How to sign out of the beta and use a stable version?
I can't find anywhere to sign out the beta and use the stable version of steemconnect

there is only the beta at the moment


Running Total of Accepted/Completed Tasks + Pay

Hello there. So after sifting through some comments & the platform, it looks like there should be a running total of tasks that are accepted by workers as well as ones that are completed, with a running sum of the total pay they should receive.
I think we may have already some sort of implementation of this, but it's buggy?

ccing @dmorina

Theres a little bit of a lack of transparency here that workers are not thrilled by. I'm not sure we can really provide a solution to that, but it might be nice to offer some kind of way they can get more information about pay on the tasks they are done with.

A way we might improve this is if the 'My tasks' list shows the price of accepted work in a task, or something similar.
Many workers are complaining that they can't see what has been accepted easily and can't see how much they should be being paid for it.

@dmorina how hard would that be to add?

per task should be relatively easy, i can add that

closing as irrelevant to release 1.0


Headless: Make a new base-2019 headless theme

I think the API needs to be more finalised before we begin work on this


Typographic Hierarchy

Here all font styles... please don't care about the proposed variables.
InVison link:
https://zalando.invisionapp.com/d/main#/console/10454474/227049636/preview

Is there an option to switch away from Acumin pro and just use a Google font to make the integration easier?

Update on Fonts:
inVision
https://zalando.invisionapp.com/d/main/#/console/10454474/237837901/preview

Font style Update:

Line hight of fonts in tables are 3rem (instead of 2rem).
Changed variable name of "Value XXL" in to "Value XXXL".
Added a new label style (Label XXL with 3rem line hight.

changed also color of following elements, on step darker (no. 4 of used color theme):

Link
Toggle button on
invisible Button
selected font in filter panels

@myueksel Please review the EDI-Re-Order Frontend with regards to adding heading sizes.

EDI Re-Order design update is done. Current font styles are matching all EDI frontend issues.
InVision:
https://zalando.invisionapp.com/d/main/#/projects/prototypes/10411531

So a new header with 1.6... rem was added?


Syntax highlighting in docs

Hi @murisceman, much love for creating & maintaining Pruvious! ❤
Here's a small (and sorta vague) bug that I did not know how to work around for days and it was making the docs-browsing experience really bad from a legibility point.
By default, if my system theme gets picked up as dark theme, the Shiki theme remains as light. Once I click on the theme toggle in the header/nav, it corrects itself (this is the workaround I wasn't aware of at first).

You can test it out with incognito, for example over at
https://pruvious.com/docs/blocks

Hey @andreasvirkus, thanks for the kind words and reporting this bug! It's fixed now.


Foundation Ingestor

Closes: #6.
Works for both fixed priced and dynamic priced mint.

Thank you for this submission!! 🥳 🙏
We've gotten a little behind on reviewing these, but will be spending some time over the next 48 hours, so look out for some feedback soon! Thank you! 🙏

There's a small merge conflict with main which you'll need to update, but then it looks like one of the test simulations is failing:
  foundation
    ✔ supportsUrl: Returns false for an unsupported URL
    ✔ supportsUrl: Returns true for a supported URL
    1) createMintTemplateForUrl: Returns a mint template for a supported URL with frame contract
    - createMintTemplateForUrl: Returns a mint template for a supported URL with fixed price contract
    2) createMintTemplateForUrl: Returns a mint template for a supported URL with dynamic price contract
    ✔ supportsContract: Returns false for a non supported contract (54ms)
    ✔ supportsContract: Returns true for a supported contract (65ms)
    FoundationIngestor-auto
      ✔ supportsUrl: Returns true for a supported URL
      ✔ supportsUrl: Returns false for unsupported url (https://foundation.app/mint/eth/0xcc5C8eb0108d85f091e4468999E0D6fd4273eD99)
      ✔ supportsUrl: Returns false for unsupported url (https://foundation.app/mint/base/the-billows)
      ✔ supportsContract: Returns true for a supported contract (153ms)
      ✔ supportsContract: Returns false for an unsupported contract (53ms)
Error Simulating: undefined, {"calls":[{"type":"CALL","from":"0x965ef172b303b0bcdc38669df1de3c26bad2db8a","to":"0x62037b26fff91929655aa3a060f327b47d1e2b3e","value":"0x0","gas":"0x80000000000000c0","gasUsed":"0x8f7a","input":"0x334965c2000000000000000000000000cb6b679f5cd8e5c153cdc627f16c730f91e1fbfd00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000cc9601298361e844451a7e35e1d7fcd72750e470000000000000000000000000000000000000000000000000000000000000000","output":"0x974bcaec","error":"execution reverted"},{"type":"DELEGATECALL","from":"0x62037b26fff91929655aa3a060f327b47d1e2b3e","to":"0x75b37ba1409dbe6f583b27c0d7a98ae2b71d0629","value":"0x0","gas":"0x7dffffffffff8ef8","gasUsed":"0x1d3e","input":"0x334965c2000000000000000000000000cb6b679f5cd8e5c153cdc627f16c730f91e1fbfd00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000cc9601298361e844451a7e35e1d7fcd72750e470000000000000000000000000000000000000000000000000000000000000000","output":"0x974bcaec","error":"execution reverted"}],"logs":[]}
      3) createMintTemplateForUrl: Returns a mint template for a supported URL
      ✔ createMintForContract: Returns a mint template for a supported contract (317ms)

If this is because the mint is no longer available, you can set the blockhash to simulate the transaction at, like here:
https://github.com/floornfts/mobile-minting/blob/main/test/ingestors/prohibition-daily.test.ts#L27
Looking forward to getting this one in!

@chrismaddern Fixed the merge conflict.

Hey @pbkompasz
I'm seeing something different on my end...

Any idea what's going on?

This is what I get:

I don't know what the issue could be, I tried removing node_modules and do a fresh install or cloning the repo again, but I don't run into failing tests.

Okay I just figured it out, when I add SIMULATE_DURING_TESTS=true one test fails. I will fix it later today.

@chrismaddern
Can you check if tests(including simulations) pass now?
The issue was that Foundation imports contracts from Highlight, like this one.
These interact with the same contract as in #29, so I added a check for the contract type and throw an Unsupported contract for non-Foundation native mints.

@chrismaddern  The issue was with the timezones. The API response returns a string but the timezones are not specified. I converted all of them to UTC. Can you check if the tests pass on your end?

Hi @pbkompasz tests now pass! 🥳  (you'll need to merge main in to resolve conflicts before we can merge though)
I did a quick spot check on a couple mints, and this mint seems not to work when I would expect it to — do you know what's going on?
https://foundation.app/mint/base/0xFf82B9D1873C7A252CB9A2712318422fAafc5297

@chrismaddern That mint and a couple more are created with Highlight. I opted to throw an error in such cases.
These can be minted using the Highlight ingestor, should I add maybe a more descriptive error, This mint is originally from Highlight. Try the following command: ...?

@chrismaddern That mint and a couple more are created with Highlight. I opted to throw an error in such cases. These can be minted using the Highlight ingestor, should I add maybe a more descriptive error, This mint is originally from Highlight. Try the following command: ...?

Ah, thanks! I see (and you did mention that!)
We can accept this as is, and then will take a look and see if we can extend this to ETH. Almost all drops on Foundation seem to be on mainnet 🤷
Thanks. Once you've completed the form, we can process both bounties.

@chrismaddern Great! Are you still accepting ingestors for #11? If so, are there any specific ones you would like to have added? I was thinking of adding support for Madic Eden, although in only has only a few mints on Base (7 current or upcomming and 25 in the past). It fits the requirements (10 prior Base mints with over 100 unique collectors), but just slightly.

@pbkompasz happy to accept Magic Eden. You may want to make sure that it's possible to support a mintTo method before you get too far, as I have no idea whether it's compatible.

@chrismaddern I tried Magic Eden, but I am afraid it's not possible. The minting workflow requires a cosignature, which can be optained by making a POST request here. This is deployed to Cloudflare and the server-side requests are blocked. I tried using superagent and different clients, but no success.
Would you consider an ingestor for Coinbase Wallet instead, like this?


Add system icons for the built-in entity types and use them in the entity list of the catalog-import plugin

Add default system icons for the most common entity types. The catalog-import plugin already introduced common icons for the kinds, however they were not replaceable nor extendable with a custom kind. It now uses the system icons feature of the app.

Is this a good idea and do you agree with my chosen naming schema (i.e. the plain entity name as icon name)?

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[x] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Thoughts on naming these catalog:api, catalog:location etc? Starting to fear semantic collisions in here...

Thoughts on naming these catalog:api, catalog:location etc? Starting to fear semantic collisions in here...

@freben Yes that is a valid point that I also thought about, and I like the catalog:<kind> syntax. It could also be kind:<kind> or entity:<kind>. Would you generally think a <plugin>:<icon> pattern would make sense? Not sure if that is actually a really common need for many plugins to use custom icons. Each individual plugin should then of course have some kind of logic to find a reasonable default. The app won't be able to be shipped with the default icons for all plugins.

Hm no, that's a good angle, I wasn't at all thinking in general plugin terms, just threw catalog out there as a prefix but maybe kind is better. Either way it does tie catalog-isms into it, but I think we're at a point where the catalog model is so entrenched in things that it's probably fine to let it have a unique position among core things.

I changed it to kind:<kind>. It find this namespaced approach indeed cleaner and less overlapping.

Yep, much nicer!


docs: update changelog

📜 Documentation
Changelog updates for 0.10.6.

mmm. It didn't pick up 😞 perhaps because the angular changelog do not take style:


Add rultor

We should add .rultor.yml ASAP.

@EugeneDar As far as I remember only owner of this repository can do it.
@yegor256 Can you help to invite Rultor to this repository?


Document deprecation of partial channel lists in webclient/render_image call

While https://github.com/ome/omero-web/pull/443 is not changing the existing behavior of the render_image and render_image_region web API calls, one of the recommendations from the discussion was to deprecate the support for partial channel lists in the query string and requiring either a full channel list or no channel specifications at all.
Since there is no practical way to mark part of a web API call as deprecated, we should just add notes to the documentation of the respective calls.

File to update: https://github.com/ome/omero-documentation/blob/develop/omero/developers/Web/WebGateway.rst


Splunk Documentation

@deniseschannon feel free to review and let me know if you are content with the changes.

Instead of concepts, can we move this to tasks?

@deniseschannon should be good to go, let me know if anything else needs to change.

@bmdepesa I updated the changes you wanted, anymore suggestions?

Just one small change on the link to HEC documentation (comment added). Everything else looks good!

Okay thank you, let me get back to you when I have some time. Thanks for your review 💯

@bmdepesa okay I updated the change, should be good to go.


How to i cd in Nodegit?

[How do i delete issue?]

@CreatorVilius If you made a mistake, then just close this issue. It's not a big deal.


RENI++ for environment completion

Hi! First of all thanks for the very nice work!!
I would be very interested in using RENI++ for environment map generation. In particular, i would like to use to outpaint environment maps from single images.
I already installed reni (within nerfstudio) and download the pretrained models you provided!
What steps would i need to take in order to train the latent codes for my env maps and evaluate the method?
Thank you very much in advance!!!

Hi, thanks for your question and for checking out RENI++!!
I've just added a notebook to the repo that gives an example of using RENI++ to outpaint given a masked equirectangular image.
Let me know if you have any issues!

Hi James!!
Thanks a lot for the quick response!!!


Question - I can't seems to find a way to use basic 'Auth' (Username/Password) whilst making Get call, do we have a smiliar method?

I can see an example to add Auth : BearerToken in when making Http GET Request like below, However finding difficult to understand how to add 'Auth'(UserName/Password).
Do you've an example for this please ?
Following one is from Maestro guide:
const response = http.get('https://example.com', {
headers: {
Authorization: 'Bearer MyToken'
}
})

Example of basic auth:
'Authorization': Basic <base64_encoded_string>
where base64 encoded string represents your credentials in the format, "username:password".

Thank you @bchow68 :)


Good job with the tests

Nice work on these tests. I like the use of toBeCloseTo().

I like the decision to throw an error in some methods to express bad input rather than return a value which could cause problems.


[ISSUE] Python split( ) function

Python split function not working correctly.

Hi @rakesh4real:
for i in 0..<ns.count {
  print(ns[i])
}

This code doesn't work because i has type Int but PythonObject.subscript(_:) takes a PythonObject representing an index value. PythonObject.Index is PythonObject.

Swift actually has an elegant solution to this! Use ns.indices instead of 0..<ns.count.
The Collection protocol defines a bunch of requirements for manipulating indices, including Collection.indices. Using these APIs avoids unexpected/incorrect behavior, and leads to shorter code here:
import Python
var string: PythonObject = "hello world"
var slices = string.split(separator: " ")
var ns = slices[0]
for i in ns.indices { // notice `ns.indices` here
  print(ns[i])
}
// h
// e
// l
// l
// o

For reference: here's a related mailing list reply on Swift indexing APIs.


bug: workflow_id is missing

github_job{event="push",head_branch="master",head_sha="0144e8d5a573c5ea9a5b1d92f597e3318310fb6c",id="497499385",instance="localhost:9183",job="github_actions",node_id="MDExOldvcmtmbG93UnVuNDk3NDk5Mzg1",repo="unicode-org/cldr",run_number="1120",status="completed"} | 1
github_job{event="push",head_branch="master",head_sha="0144e8d5a573c5ea9a5b1d92f597e3318310fb6c",id="497499386",instance="localhost:9183",job="github_actions",node_id="MDExOldvcmtmbG93UnVuNDk3NDk5Mzg2",repo="unicode-org/cldr",run_number="660",status="completed"} | 1

I just realized that the workflow_id is missing.  So as you see above, I get two duplicate entries.
Ideally the workflow's name would be given, not just the numeric id (which isn't very helpful)

should use this API to get and cache a list of the repo's workflows: https://docs.github.com/en/rest/reference/actions#list-repository-workflows

should use this API to get and cache a list of the repo's workflows: https://docs.github.com/en/rest/reference/actions#list-repository-workflows

I'll look at how to implement this.

I'll look at how to implement this.

github_job{event="push",head_branch="master",head_sha="5ab74d5af9eb533e6564996bde43528175092591",id="63984311",node_id="MDExOldvcmtmbG93UnVuNjM5ODQzMTE=",repo="Spendesk/github-actions-exporter",run_number="3",status="completed",workflow="Release",workflow_id="470256"} 1

We have workflow_id and workflow.
It's not released yet.

github_job{event="push",head_branch="master",head_sha="5ab74d5af9eb533e6564996bde43528175092591",id="63984311",node_id="MDExOldvcmtmbG93UnVuNjM5ODQzMTE=",repo="Spendesk/github-actions-exporter",run_number="3",status="completed",workflow="Release",workflow_id="470256"} 1

We have workflow_id and workflow.
It's not released yet.

Hello, It's fixed with the latest version.

Hello, It's fixed with the latest version.


Add integration tests using labels

https://github.com/grafana/pyroscope-java/pull/139 added some integration tests running as java agent
we should have tests running sdk from java code + using labels

Also add tests using different event types https://github.com/grafana/pyroscope-java/pull/145


How do I go about after signing up a user, to get the current user server side?

I am aware parse-express-cookie-session doesn't carry over to Parse Server and Parse.User.current isn't carried over as well.
Im wondering how do I go about after signing up a user server side to then get the current user?

Hey, thanks for reporting this issue.
Can you please add all the info specified in the template? This is necessary for people to be able to understand and reproduce the issue being reported.


LspInfo: fix display when client cmd contains newlines

Closes #660
@coxackie
I realize it's not pretty (yet), I'll add new line trimming, I just want to make sure this fixes the issue in all cases and doesn't add weird corner problems (it shouldn't)

It works, but I may just rewrite some things to make it keep the new lines, as it currently looks pretty ugly.

It works, but I may just rewrite some things to make it keep the new lines, as it currently looks pretty ugly.

I dont think it's ugly but focusing the floating window may not be evident for everyone, maybe creating a new tab as checkhealth does is better.

I dont think it's ugly but focusing the floating window may not be evident for everyone, maybe creating a new tab as checkhealth does is better.

The newline problem will still be an issue with displaying in a tab, so this PR will still be necessary and the "ugliness" will remain (which I kinda fixed). I can get rid of the floating window. I personally find floating windows less disruptive, since it's easily dismissed with esc by clicking.

The newline problem will still be an issue with displaying in a tab, so this PR will still be necessary and the "ugliness" will remain (which I kinda fixed). I can get rid of the floating window. I personally find floating windows less disruptive, since it's easily dismissed with esc by clicking.

Fixed.

Now that this command is solidifying, I should probably move it out of lspconfig.lua into it's own module and clean things up a bit, but I'll do that in it's own PR. @coxackie, do you want to test?

Fixed.

Now that this command is solidifying, I should probably move it out of lspconfig.lua into it's own module and clean things up a bit, but I'll do that in it's own PR. @coxackie, do you want to test?

Sure thing. Thanks.

Sure thing. Thanks.

No, this PR is updated.

No, this PR is updated.

works pretty well - no errors. many thanks.
For what it's worth, I also support the floating window option. This is just some temporary info that one should be able to discard with a simple press of ESC.

works pretty well - no errors. many thanks.
For what it's worth, I also support the floating window option. This is just some temporary info that one should be able to discard with a simple press of ESC.


Powers compendium

Create compendium(s) for powers, advantages, and limitations.  This would allow for creating of items outside of Hero Designer, then drag them onto characters for ad-hoc or dynamic game elements.
The vision is to heavily rely on HDC uploads.  During a session there may be a desire to add temporary equipment or powers.  Modifying HDC file and uploading during a session may be awkward as the entire character (including end/charges/etc) is overwritten.
This could also reduce the dependency on Hero Designer.

I believe v11 compendiums are different than v10.  Perhaps wait for v11 support to avoid rework.

We don't believe we have a license to reproduce the text descriptions for each power.  Our intent is to provide the basic information for each power.  For example Mental Blast would include type, perceivability, duration, target, range, END, and cost,.
The text of the power (blurred) would not be included.

https://discord.com/channels/732325252788387980/734755256524865557/1195023034877218927

Create tools folder with compendiumBuilder.mjs.  Can import config.js.
Create a separate file with XML fragments for powers.  Or a single HDC file with every possible power/skill/etc.
Use NODE to run compendiumBuilder.mjs to generate compendium json files. [GULP?]
use foundryvtt-cli to pack json files to compendium. [GULP?]
Test BUILD to populate compendium before publish.


Use syntax highlighting throughout entire README.md

Use syntax highlighting throughout entire README.md — there were a few short blocks which I think benefit from having syntax highlighting.
Thank you for your time, assistance and review.
Example:
Request:
  POST / HTTP/1.1
  Content-Type: text/html

  <!DOCTYPE html>
  ...

Response:
  HTTP/1.1 200 OK
  Content-Type: application/json

  [
    {
      "id": "W003",
      "message": "<head> is missing viewport <meta> tag that enables responsiveness"
    },
    {
      "id": "W005",
      "message": "Unable to locate jQuery, which is required for Bootstrap's JavaScript plugins to work"
    },
    ...
  ]

vs.
Request:
  POST / HTTP/1.1
  Content-Type: text/html

  <!DOCTYPE html>
  ...

Response:
  HTTP/1.1 200 OK
  Content-Type: application/json

  [
    {
      "id": "W003",
      "message": "<head> is missing viewport <meta> tag that enables responsiveness"
    },
    {
      "id": "W005",
      "message": "Unable to locate jQuery, which is required for Bootstrap's JavaScript plugins to work"
    },
    ...
  ]

Coverage remained the same at 100.0% when pulling 5359aec2cd409e96213a4d7e6bb26e3ee11df1c1 on kkirsche:patch-1 into cd05e3ce9d085e5ebfb7919527d826c2df83c089 on twbs:master.


Make process_withdrawals slightly cleaner (equivalent functionality)

this pattern is also copied here: https://github.com/ethereum/consensus-specs/blob/dev/specs/electra/beacon-chain.md#updated-process_withdrawals

ETH2.0??


Allow to have horizontal labels for grids.

Add those parameters to grid layers:

rotateLabels: to disable their rotation (default to true)
verticalXOffset: to shift the vertical grid line labels left or right
horizontalYOffset: to shift the horizontal grid line labels up or down

Remove useless code in the UTs used as template for the new UT. Those
UTs don't use JSON.

It's to do stuff that looks like that:

Ping @sbrunner

Just some questions, also that's looks good :-)

Thanks, merge :-)


[INLONG-492] amend some code regulation problem

amend some code regulation problem
JIRA link - [INLONG-492] created by stingpeng

fixed by https://github.com/apache/incubator-inlong/pull/381


Menu does not adjust position automatically if it'll be hidden by a browser edge

TuSimple/naive-ui version (版本)
2.20.0
Vue version (Vue 版本)
3.2.20
Browser and its version (浏览器及其版本)
Chrome (latest)
System and its version (系统及其版本)
macOS 11.6
Node version (Node 版本)
Reappearance link (重现链接)
https://codesandbox.io/s/damp-dew-l98js
Reappearance steps (重现步骤)
Add a menu with a lengthy label.
(Hover over the "Test" menu item in the codesandbox reproduction URL.)
Expected results (期望的结果)
The submenu containing the lengthy label is automatically placed in a way that is not hidden by the edge.
Actual results (实际的结果)
Any component that renders as an overlay does not seem to account for the edge of the viewport, thus requiring manual placement. Sometimes manual placement is not possible as in the case of a menu with children that might have lengthy labels. You can either place all child items to the side or none at all.
Remarks (补充说明)

You can use “dropdown-placement”  to adjust the position of dropdown submenu.

@LYErin thanks for the reply! I realize I could pass dropdown-placement to the Menu component. However, that applies to all submenu items instead of just the ones that would otherwise get hidden by the edge of the browser. I have a similar issue, for example, when I have a grid layout and there is a menu trigger at the edge of the grid item. I have updated the codesandbox to demonstrate the latter problem as well. As mentioned in the issue, I think it is a problem with all overlay components. One could, as you say, specify the dropdown-placement where possible but it would be nice if the component was aware of being at the edge on its own.

we may improve the positioning behavior insome edge cases.


Use UUIDs or u128s as index types?

Summary
Would it be possible to use u128s or Uuids as node IDs? Mainly I'm wondering whether this would be "probably not possible without significant changes" or "might be possible with a few changes".
Motivation
Uuids are commonly used for object identifiers, and it would be cool to be able to use them as indices for graphs of those objects. I'm not sure whether this is possible for petgraph as is.
Details

I looked at the traits a bit and noticed that the IndexType trait requires that the index be convertible to a usize, but a UUID is 128 bits long.  If the IndexType is used as an array index I guess this would be a problem.

The Id is used to locate the data in memory. Usize can address all memory on all platforms, so it is the natural choice for a type that references data in memory (except for a pointer).
Memory use and performance are also important. So if a bigger Id is used, the memory used will grow with it. And any non-trivial calculation to get from an UUID to usize will impact performance.

I see two separate issues here:

You want to use some unsigned integral type which is larger than usize.
You want to use some user-defined object identifier, which could be UUIDs.

Regarding the first issue, it would require abstracting the index operations into Vec<T>, which has a len() of usize. I don't think it's reasonable to allow this.
Regarding the second issue, it's very easy to get things working properly using a GraphMap, which is backed by a hash table. Alternatively you can use a Graph and manually assign IDs using your own hash table.

uuids and non-sequential u128 make sense for map-type graphs (based on HashMap or similar) and not the index based graphs. (Graph and StableGraph are for example index based).


trace: Logging html body in error logs

Is it possible to find an alternative to  https://github.com/GoogleCloudPlatform/google-cloud-go/blob/master/trace/trace.go#L312? The err string from https://github.com/google/google-api-go-client/blob/master/googleapi/googleapi.go#L85 includes the entire body.
Currently the tracing API  is returning a 405 HTML page and we are using Stackdriver logging and this log.Printf is logging each new line from the HTML page as a new log entry (because of ttps://github.com/google/google-api-go-client/blob/master/googleapi/googleapi.go#L85)

Could you switch to OpenCensus? The trace package in this repo is obsolete.

Closing due to lack of activity.


no parameter named 'elasticsearch_package_name'

Module version:  0.16.2
Puppet version: 4.9.4
OS and version: Debian 8

Bug description
With this simple entry for plugin
elasticsearch::plugin { 'x-pack': #this is new name for marvel
  ensure => present,
  instances => ['es']
}

I get the following error:
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: no parameter named 'elasticsearch_package_name' at /etc/puppetlabs/code/environments/production/modules/elasticsearch/manifests/plugin.pp:161 on Elasticsearch_plugin[x-pack] at /etc/puppetlabs/code/environments/production/modules/elasticsearch/manifests/plugin.pp:161 on node

This is a common problem when updating a module that changes parameters for a native provider (see the upstream Puppet Labs issue). Please try restarting the puppetmaster (and potentially any effected puppet agents) and try re-running puppet again.

Yep, issue is fixed with puppet master restart. Thank you!


Add Experimental Argument for UninstallPrevious in Upgrade Flow

[x] Have you signed the Contributor License Agreement?
[x] Are you working against an Issue?

#2727

Left this just for the upgrade flow (and Installs that switched to using the upgrade flow). May potentially want to consider enabling for default install flow (for when --force) is used. Depends on user feedback and use cases
This will cause a merge conflict with microsoft/winget-cli#2733 due to the Experimental Features Enum; If pinning is merged first, I will be happy to rebase this

Microsoft Reviewers: Open in CodeFlow

/azp run

I need to start checking more thoroughly for typos before I push . . .

This will cause a merge conflict with https://github.com/microsoft/winget-cli/pull/2733 due to the Experimental Features Enum; If pinning is merged first, I will be happy to rebase this

Looks like I beat you to it, sorry!

This will cause a merge conflict with #2733 due to the Experimental Features Enum; If pinning is merged first, I will be happy to rebase this

Looks like I beat you to it, sorry!

No apology needed :)
I was hoping pinning would be first anyways

And an open question, since import command also converts to upgrade when needed, does power user want to remove previous for them as well? I guess not, but I'll just leave the question here.

Possibly; I think it may be best to wait and see if we get feedback on it since I'm not sure how useful it will be in the import scenario

/azp run