Update PatchConfig.props

Added some potential reviewer candidates.

@aspnet-hello triage https://dev.azure.com/dnceng/public/_build/results?buildId=124158&view=logs

Not likely related to this particular change but the Linux failure looks real. Did something get messed up in the failing project?
error MSB3030: Could not copy the file "/datadisks/disk1/vsagent/work/6/s/src/Identity/UI/src/bin/Release/netstandard2.0/Microsoft.AspNetCore.Identity.UI.Views.V4.dll" because it was not found. [/datadisks/disk1/vsagent/work/6/s/src/Identity/ApiAuthorization.IdentityServer/samples/ApiAuthSample/ApiAuthSample.csproj]

This comment was made automatically. If there is a problem contact ryanbrandenburg.
I've triaged the above build.

Thank you for being a guinea pig @mikaelm12, I've got it working now!

Glad to help!

Which one is the human and which one is the robot?!?! 😕😕😕😕😕😕😕😕😕😕😕

lol that only happened because I was testing it locally where I only have my own PAT.

This is a github version of the Turing Test

Retried the Linux build because this looks like build flakiness on closer inspection. That is, the projects aren't reliably built in the right order. In the first attempt, ApiAuthSample.csproj was built before Microsoft.AspNetCore.Identity.UI.csproj:
  Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore -> /datadisks/disk1/vsagent/work/6/s/src/Middleware/Diagnostics.EntityFrameworkCore/src/bin/Release/netstandard2.0/Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.dll
/datadisks/disk1/vsagent/work/6/.dotnet/sdk/2.2.102/Microsoft.Common.CurrentVersion.targets(4551,5): error MSB3030: Could not copy the file "/datadisks/disk1/vsagent/work/6/s/src/Identity/UI/src/bin/Release/netstandard2.0/Microsoft.AspNetCore.Identity.UI.Views.V4.dll" because it was not found. [/datadisks/disk1/vsagent/work/6/s/src/Identity/ApiAuthorization.IdentityServer/samples/ApiAuthSample/ApiAuthSample.csproj]
/datadisks/disk1/vsagent/work/6/.dotnet/sdk/2.2.102/Microsoft.Common.CurrentVersion.targets(4551,5): error MSB3030: Could not copy the file "/datadisks/disk1/vsagent/work/6/s/src/Identity/UI/src/bin/Release/netstandard2.0/Microsoft.AspNetCore.Identity.UI.Views.V4.pdb" because it was not found. [/datadisks/disk1/vsagent/work/6/s/src/Identity/ApiAuthorization.IdentityServer/samples/ApiAuthSample/ApiAuthSample.csproj]
/datadisks/disk1/vsagent/work/6/.dotnet/sdk/2.2.102/Microsoft.Common.CurrentVersion.targets(4551,5): error MSB3030: Could not copy the file "/datadisks/disk1/vsagent/work/6/s/src/Identity/UI/src/bin/Release/netstandard2.0/Microsoft.AspNetCore.Identity.UI.Views.V3.dll" because it was not found. [/datadisks/disk1/vsagent/work/6/s/src/Identity/ApiAuthorization.IdentityServer/samples/ApiAuthSample/ApiAuthSample.csproj]
/datadisks/disk1/vsagent/work/6/.dotnet/sdk/2.2.102/Microsoft.Common.CurrentVersion.targets(4551,5): error MSB3030: Could not copy the file "/datadisks/disk1/vsagent/work/6/s/src/Identity/UI/src/bin/Release/netstandard2.0/Microsoft.AspNetCore.Identity.UI.Views.V3.pdb" because it was not found. [/datadisks/disk1/vsagent/work/6/s/src/Identity/ApiAuthorization.IdentityServer/samples/ApiAuthSample/ApiAuthSample.csproj]
  Microsoft.AspNetCore.Identity.UI -> /datadisks/disk1/vsagent/work/6/s/src/Identity/UI/src/bin/Release/netstandard2.0/Microsoft.AspNetCore.Identity.UI.Views.V3.dll
  Microsoft.AspNetCore.Identity.UI -> /datadisks/disk1/vsagent/work/6/s/src/Identity/UI/src/bin/Release/netstandard2.0/Microsoft.AspNetCore.Identity.UI.Views.V4.dll

What's weird is ApiAuthSample.csproj does depend on Microsoft.AspNetCore.Identity.UI.csproj:
<Reference Include="Microsoft.AspNetCore.Identity.UI" />

Could mean our <Reference /> infrastructure doesn't guarantee ordering.

@ryanbrandenburg / RaaS when triaging a build or test failure, please include the new / updated issue in the comment on the PR.

@dougbu file an issue against aspnet/AspNetCore-Internal with "RAAS" in the name requesting this.


Upgrade manual visit method replace with get

#119
Using the search feature in the demo app throws warning messages in the console saying,
Inertia.replace() has been deprecated and will be removed in a future release. Please use Inertia.get() instead.
I've switched it around to use get instead, hope I didn't miss something. Thank you.

Looks good, thanks! 👍


Fixed tailwindcss/resolveConfig import introduced by PR 861

Sorry I was very busy so I didn't have time to fix this until now. After my last PR was merged, the github action failed due to tailwindcss/resolveConfig failed to being resolved. Apparently the extension isn't need in dev but required in production. I assume a difference between vite and rollup?
Anyway this time I checked in dev but also with the build + preview commands and everything seems to work.

Link to the error in question for reference.


Logs

It would be nice to add a logger

Something like https://github.com/yiisoft/yii2-swiftmailer/blob/d7d02545995e75574eae13184ded2984edba2728/src/Logger.php?

I looked at where the symphony logger is used and realized that it is not very useful.


[BUG] AttributeError: module 'papermill' has no attribute 'record'

Description
when I run the script,
up the error,
    pm.record("res_syn", res_syn)
AttributeError: module 'papermill' has no attribute 'record'

could you help me ?
thx
In which platform does it happen?
>>> import papermill as pm
>>> pm.__version__
'2.1.1'

How do we replicate the issue?
>>> import papermill as pm
>>> pm.record()
    pm.record()
AttributeError: module 'papermill' has no attribute 'record'

Expected behavior (i.e. solution)
No error

we're using an older version of papermill 0.19.1. at 1.0.0 they removed record(), you can reinstall an older version with something like
pip install papermill==0.19.1

but if this is versioning is out of synch there may be other issues, the instructions in SETUP.md walk through how to set up the environment so that notebooks will run as expected.


put all models together

Combine and evaluate all models to find the most efficient one.
Test the models with different nr of inputs from user.

1.Add a threshold for movie "decade", which should be included when recommending new movies to users
2.Improve model performance


ui: Fix AccountItem delete button alignment

Make sure that the delete button is aligned vertically.
Before

After

Removing the padding style works, but we do this instead:
padding: HALF_SPACING,
margin: -HALF_SPACING,

The default button size is too small - 32px (with the minimal
suggested width being 44px, and the larger the better)
Padding increases the touch area (now 32 + 8 + 8 = 48, good enough)
and a negative margin keeps the button at the same place as if it
did not have padding set.

Hmm, interesting!
I don't actually reproduce this issue on Android -- either on master in the emulator or the latest release on my phone -- though I do on iOS.
I am not a fan of some of the details of this fix, and there are other things I'd like to fix in the layout of this screen. So I tried a different fix -- take a look at #2630 . I'm particularly curious if you would see whether that fixes the issue on iOS. If not, I'd like to debug the iOS issue further -- if we don't understand what causes the discrepancy, we're likely to break it again in the future.

I think #2630 took care of this, so closing.
Thanks again for spotting this!


Vulnerability roundup 104: kimageformats-5.81.0: 1 advisory [5.5]

search, files

[ ] CVE-2021-36083 CVSSv3=5.5 (nixos-21.05, nixos-unstable)

CVE details
CVE-2021-36083
KDE KImageFormats 5.70.0 through 5.81.0 has a stack-based buffer overflow in XCFImageFormat::loadTileRLE.

Scanned versions: nixos-21.05: 2262d7863a6; nixos-unstable: 1905f5f2e55.
Cc @nyanloutre
Cc @ttuegel

We no longer support nixos-21.05, but this has been fixed in the currently supported NixOS versions:

nixos-22.05: kimageformats-5.93.0
nixos-unstable: kimageformats-5.98.0


refactor: remove unused helpers and rename utils

Remove duplicated code in tests by factorizing context initialization
Please check the type of change your PR introduces:

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[x] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

@ClementWalter ressource tests seem to fail here, how does it work? Is it normal that test fails when I only changes tests in the PR? thanks


potential bug in AMD graph scheduler of multi gpu

was testing this scheduler enqueue order because it made single gpu llm.c faster. I would expect any topological order works.
But training resnet with JIT=1, the loss is not going down. It has faster step time, maybe some kernels are not executed properly.
JIT=2 seems fine, a lot slower but loss is going down.
JIT=1 https://wandb.ai/chenyuxyz/tinygrad-examples_mlperf/runs/iosm77yr?nw=nwuserchenyuxyz
JIT=2 https://wandb.ai/chenyuxyz/tinygrad-examples_mlperf/runs/tfgrgsc9?nw=nwuserchenyuxyz
@nimlgen fyi. I can test with CUDA / NV tomorrow to isolate the issue further.

cifar on 6 gpus trained fine though...

Will take a look

more likely to be bug in our graph
CUDA=1 trained https://wandb.ai/chenyuxyz/tinygrad-examples_mlperf/runs/auk9ob8e?nw=nwuserchenyuxyz
NV=1 had the same loss issue https://wandb.ai/chenyuxyz/tinygrad-examples_mlperf/runs/d7rp83d0/workspace?nw=nwuserchenyuxyz

i think it's fixed. also on master now NV trains resnet at similar speed to CUDA


ASP.Net Identity: IdentityResult: Add additional FlagEnum field containing a list of error types

Feedback on ASP.NET UserVoice https://aspnet.uservoice.com/forums/41199-general-asp-net/suggestions/7832709-asp-net-identity-identityresult-add-additional-f#/history?filter=admin
For now we have only one "Errors" field with list of stringified errors. Sometimes we have to react on particular errors, for example, don't provide information that user name already in use and in this case we have several options 1. Make redundant call to the DB 2. Parse errors to find particular.

This is done in v3.


Support config on rotation

Codecov Report

Merging #182 into feature/tails-url will decrease coverage by 0.01%.
The diff coverage is 32.14%.

@@                  Coverage Diff                  @@
##           feature/tails-url     #182      +/-   ##
=====================================================
- Coverage              50.87%   50.86%   -0.02%
=====================================================
  Files                    151      151
  Lines                  23247    23250       +3
  Branches                6138     6140       +2
=====================================================
- Hits                   11828    11827       -1
- Misses                  7751     7754       +3
- Partials                3668     3669       +1

Flag
Coverage Δ

unittests
50.86% <32.14%> (-0.02%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

libvcx/src/api/credential_def.rs
51.22% <0.00%> (-0.11%)
:arrow_down:

libvcx/src/credential_def.rs
51.87% <12.50%> (-0.49%)
:arrow_down:

libvcx/src/lib.rs
33.48% <100.00%> (ø)

Continue to review full report at Codecov.

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


Kodadot Home UX

I had some ideas about the main gallery page to help make it a bit more informative. I know many of these ideas are being worked on (or have already been updated since I made this yesterday) and are listed in other issues, but sometimes its helpful to look at the big picture. This builds on Issue #60. I'm a designer/artist so I made a quick mockup first and then wrote this stuff to explain my thoughts.

Thumbnail Preview
At the moment, each preview only shows the NFT's title.  It would be cool if we had the following:

Artist Name: This could be the pseudonym identity (if the artist has one) or the address. Maybe the address only gets shown if there is a pseudonym as an incentive, but even showing the address gives good incentive to the artist to verify their identity.
Edition Number: I think this may have already been solved this morning! Great work! This greatly helps declutter the interface with what looks like duplicates.
Price: If the NFT is for sale, it lists the sale price in KSM and USD (maybe there is a setting for this tied to the user's profile so that users always see the conversion in their preferred currency). If NFT isn't for sale, this field is blank.

Search/Filter Menus
It would be great to be able to filter/sort the gallery (Issues #35 & #49) by things like:

Recently Sold
For Sale
Patronage
Editions of 1
Price
File Type

Or to search the Gallery by:

Tags
Artist Name
Color
File Type

Top Left Menu
I put more externally focused major things here:

Gallery: Brings you back or reloads the main Gallery
Artist: Views Gallery based on collections by Artist (Issue #157). Lists one image per artist. This would be defined by the info listed in their profile:

image that represents their entire work
metadata pulled from pseudonym identity like social links and name (Issue #134 )
others that could simply be text fields like a bio or artist statement
List of NFTs by the artist sorted by collection

On each Artist preview thumbnail, it could show the chosen header image for that artist and maybe metadata about the work like the number of minted pieces, number sold, number currently for sale, etc. so users get a quite overview of the artist body of work (are they a longtime users with 100s of sold pieces or are they new to the market). This page could also be filtered/sorted so users could quickly discover new artists or artists that share certain tags.

Create: Brings users to existing Create page that clearly explains the creation process with links to helpful guides/videos.

Top Right Menus
I thought of these being more internally focused.

Profile: This would be the Profile of the user (artist/buyer/both). You could see your own collection of minted work or collection of work you have bought. And this is where you could update all of the artist metadata (bio, statement).
Buy $KSM: quick way to buy KSM via credit card. I know this is already (partially) working, but it's a bit hidden. Since this market specifically and the larger NFT space is still new for lots of people, having a quick and very visible way to add funds and buy seems like a useful link that should get top billing. Even better would be adding credit purchase directly into buying (Issue #162).
About Kodadot: Backstory of Kodadot, links to tutorials, Github, Medium, FAQ on low-carbon minting, etc.

Hey as a community-owned project, we are trying to do stuff in public manners so it's inviting everyone can participate and add their performance and build a whole better picture, together.
You can make an issue here https://github.com/kodadot/nft-gallery/issues/new, put a screenshot of pdf and I'll put my, same reaction there.
We really appreciate your effort:)
Your take is really insightful for us as you are coming from outside of our brains. For grouping multiple NFTs, we already have issues and it should be on production https://github.com/kodadot/nft-gallery/issues/201 once PR is approved.
Speaking on search & filter - https://github.com/kodadot/nft-gallery/issues/49 & https://github.com/kodadot/nft-gallery/issues/35
We've made major changes to how our DB works in users browsers so it should be a breeze now to add that "views" on NFTs :)
Speaking on NFT detail, adding author may be good, we had it there, but we will for example plan to show only authors with pseudonyms set to sort of incentivizing them for outside attention ability to gain reputation.
BUY $KSM - Credit was already in navbar but we hide it, but we could put it out, again :)
About section - that's very appealing where we could potentially put all readings and filter out stuff from the landing page
Profile - it's something more complex as we want to enable users to interact with KodaDot without even installing any extension, it will be probably, big. https://github.com/kodadot/nft-gallery/issues/137#issuecomment-804174622
Navbar Artists - what should be there? Profiles of artists?
We really appreciate your feedback and as a gesture of thank you, please post your KSM address as we value your deep and constructive input!
I've personally rewarded @akudless for his effort to deep-dive on our UX. :)
Inspiration for others! 🥳

I love all this ideas!

Wow seeing these old images of KodaDot brings a lot of memories 🥲 .
I would close this as we have already done a redesign.
and the rest of the issue is basically #348.
What do you thing @yangwao ?

I guess @akudless could reach out to DM me on our Discord https://discord.gg/35hzy2dXXh yangwao and we'd love him on board, so he might help us on UI/UX as we have a lot of stuff to do there on end-user experience.
Most of the stuff in this issue is already done and there are some good bites hidden between lines that are worth create new issues for each. Otherwise good to let go.


LSC prototype: Missing LS files in VSIX

SetSite failed for package [Python Tools Package]
Source: 'Microsoft.PythonTools' Description: Could not load file or assembly 'Microsoft.Python.Parsing, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Python.Parsing, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. File name: 'Microsoft.Python.Parsing, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
at Microsoft.PythonTools.PythonToolsPackage.<InitializeAsync>d__25.MoveNext()
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[TStateMachine](TStateMachine& stateMachine)
at Microsoft.PythonTools.PythonToolsPackage.InitializeAsync(CancellationToken cancellationToken, IProgress`1 progress)
at Microsoft.VisualStudio.Shell.AsyncPackage.<>c__DisplayClass20_0.<<Microsoft-VisualStudio-Shell-Interop-IAsyncLoadablePackageInitialize-Initialize>b__1>d.MoveNext()

The language server files are there in the debug VSIX, but they aren't in the signed VSIX.

By including the language server as a zip file and extracting, this is no longer an issue.


rollingSum is buggy.

Consider the following code which prints the rolling sum of a vector.
Vec(-1,1,3,10,300).rollingSum(3)

If I understand the meaning of rollingSum correctly, it should create a sliding window of size 3, and sum up all the numbers within the window. Hence, the correct result of the statement about is
Vec(3, 14, 313)

However, when I run the code, I get the following weird result:
Vec(3, 12, 209)

After some digging, it appears to me that the rolling window always take the first element into account. For example, the actual value returned from rollingSum for the fourth element is -1 + 3 + 10, instead of 1 + 3 + 10.
Has anyone experience similar issue with the rolling* functions?
Thanks.

Fixed, released in 1.3.4


adding the release of SHA256SUM，thankyou!

Is your feature request related to a problem? Please describe.
Make sure that the downloaded software is safe and has not been tampered with
Describe the solution you'd like
Is it possible to consider adding the release of SHA256SUM to improve security?
Describe alternatives you've considered
No response
Additional context
No response

For what it's worth: this should already be available if you consume LocalSend via a package manager.
Most of the supported package manager options have a SHA256 hash included as part of their manifests, which is compared against after the download completes.
The Chocolatey packages I maintain take a different approach and directly redistribute the release assets to enable internalization. Having said that, they also contain a VERIFICATION.txt file (as required by Chocolatey's Community Repository) that contains instructions to validate that copy's integrity against the official distribution point, which includes the same hash.
If you happen to be using the Windows installer, a manual hash check shouldn't be necessary since it's code-signed. As with any code-signed binary, the signature's integrity will be validated as part of the installer's launch procedure.

I would appreciate there being an official SHA256SUM for release files. (I do not consume LocalSend via a package manager.)


Remote Build Agent Installation - Run As Windows Service with Negotiate Authentication

Agent version and platform
Agent: 2.112.0
OS: Windows Server 2012

VSTS type and version
On-Premises TFS 2017

What's not working?
Agent Installation is failing when Invoking the command remotely.
    .\config.cmd --unattended --url $TFSURL --agent "$ENV:COMPUTERNAME-$drive" --pool $PoolName --auth Negotiate --username $CredentialObject.UserName --password $CredentialObject.GetNetworkCredential().password --runasservice --windowslogonaccount $CredentialObject.UserName --windowslogonpassword $CredentialObject.GetNetworkCredential().password

Error:
--runasservice was unexpected at this time.
+ CategoryInfo          : NotSpecified: (--runasservice ...d at this time.:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
I am able to install the agent locally with integrated authentication.
I am able to install the agent remotely with negotiate authentication.
I would like to create a remote Build Agent Creation script and it seems that the config.cmd cannot handle this combination of parameters: -Negotiate, -runasservice

No Log available because the command never starts.
No Event is created either.
Thanks,
Dejulia489

@Dejulia489 do you have any special char in your password that make the command line no longer valid?
try move --runasserver up front?

Thank you for the suggestion.
I tried a few different orders of the command parameters and was unsuccessful.

@Dejulia489  Have you try run the command in cmd prompt, not in PS.

@Dejulia489 any luck?


Prevent Uninstall

Is there setting to prevent users from uninstalling?

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

ID: ca5c929d-414f-70b8-c687-e9a60ef709e3
Version Independent ID: a3cde3f5-e7a1-e0cc-aeae-fd6123f696c5
Content: Set preferences for Microsoft Defender ATP for Mac - Windows security
Content Source: windows/security/threat-protection/microsoft-defender-atp/mac-preferences.md
Product: w10
Technology: windows
GitHub Login: @Dansimp
Microsoft Alias: dansimp

@GlennMillerNZ : I am pretty sure that needs to be sorted out in MacOS locally, by managing what the local users have access to do on that computer. Seeing that the uninstall method is as trivial as described on the page https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/mac-resources#uninstalling , I don't see how you would be able to block the uninstalling other than to set restrictions on what local users are allowed to do in MacOS.

There are plenty of applications that require a master password to uninstall, just need to look at Symantec, Crowdstrike, Zscaler applications for example.

Fair enough. I think we may have to wait for a reply from someone more knowledgeable than me on this topic. I also do not have access to a relevant test scenario.

I not used MAC . I think the guest user accounts does not have administrator rights to install or uninstall.
I think add the folder of " windows defender atp"  in controlled folder access, then enable it. So the files from the folders will be protected by modifying

@RAJU2529 : You might be interested in the manual install procedure for MacOS on this page:

https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/mac-install-manually

Fair point about Guest user accounts, because I forgot to ask what kind of users there will be in the scenario related to the question from OP.

@illfated. I don't have MAC os , so I can't Give exact solution

Fair enough. I just thought you should know that MacOS is a Unix-like (or Linux-like) OS with graphical user interface (GUI). When installing Microsoft Defender ATP for Mac, the file/folder/user access security depends on Unix format access rights, so I don't think Windows Controlled Folder Access is helpful in this case.
The original question remains: Can the installed software be locked (e.g. by password) from being uninstalled by local users on the Macintosh computer? Or does it solely depend on Local user access management in MacOS, by giving or denying users access to install & uninstall software?

@illfated . ok fine. Actually I understand that question asked by the user. moreover when I come across the mac os I Will check this case particularly.

Very well. I would have liked to test that myself, but I do not have any easy way to connect a reasonably updated Mac to a Windows AD Domain or Azure. I also usually find that my days are too cluttered with other things to follow up, so it is very unlikely that I will find time to test this scenario. It would have been nice to have a comment from the developers, though. Then again, the Feedback Hub is supposed to be a more direct way to get response from the developers.

@illfated. ok fine

Following up on this

If a user is a local root then they can always easily uninstall a pin-protected application (reboot into the OS recovery mode with raw terminal and no 3rd party software, and remove anything from the disk, see e.g. an article on sonicwall)
The suggested solution is to monitor machines for the presence and health of Defender and red flag a machine that misses it. (You can setup it with e.g. JAMF).

@maximvelichko That would be true if our MDM didn't set a firmware password and start-up security.

Fair point
On Fri, Feb 21, 2020, 1:39 PM GlennMillerNZ<EMAIL_ADDRESS>wrote:

@maximvelichko https://github.com/maximvelichko That would be true if
our MDM didn't set a firmware password and start-up security.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/windows-itpro-docs/issues/6002?email_source=notifications&email_token=ADEAPDOO2FEOYX7V53YXXN3REBCZLA5CNFSM4KQX4XQKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMUF2MA#issuecomment-589847856,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADEAPDPCZKDYMCMDGAYKXVDREBCZLANCNFSM4KQX4XQA
.


Allow setting the RN Modal statusBarTranslucent prop from an ActionSheet prop

Fix for https://github.com/alessiocancian/react-native-actionsheet/issues/22

Released in v3.2.0, thanks for your contribution


The titlebar will appear again sometimes.

When I click/focus other window such as Chrome Brower, and then
MouseDown on the BorderlessWindow, and don't release, [This must be at the dragging state]
Then we will see the titlebar again.
Along with the border, and the maximize,minimize icons doesn't appear. This is at the Aero state,
At the win7 basic theme, when I maximize/restore the window by double clicking the window
The titlebar will appear in the procedure of maximize/restore.

I can only reproduce this while the windows 7 basic theme is active.
What appears to happen is this:
If borderless_move is true, the entire window's client area is treated as the title bar.
So clicking and dragging enters the model size/move message loop, during which my own message loop will not run, and hence cannot call InvalidateRect which would cause the window to be repainted.
I tried listening to WM_ENTERSIZEMOVE and WM_SIZE, WM_MOVE, and WM_MOUSEMOVE to also repaint the window then, but this doesn't seem to help.
I'm not sure how to solve this, I guess you'll have to live with it on Windows 7. Since Windows 8, DWM composition cannot be disabled anymore, so this phenomenon should not occur there.

After all the days lives with win32, I am about know what's happening to the win32 api to getting the style without titlebar totally.
The key part is listening to the event
case WM.WM_STYLECHANGING: {
  let ret = this.OldWindowProc(hwnd, uMsg, wParam, lParam)
  let windowStylePtr = cast(PVOID(lParam), STYLESTRUCT.ptr)
  let windowStyle = windowStylePtr.contents.styleNew
  // http://stackoverflow.com/questions/2398746/removing-window-border
  windowStyle = WS.WS_THICKFRAME | windowStyle
  windowStyle = excludeBits(windowStyle, [WS.WS_POPUP, WS.WS_CAPTION])
  windowStylePtr.contents.styleNew = windowStyle
  return ret
}

And when the once event WM_STYLECHANGING appeared,
we should always make sure the windowStyle do not have the WS_CAPTION
Even though my code are written in Javascript, it's should be understandable.:)

Besides
    case WM.WM_NCCALCSIZE:
      return LRESULT(0)
    case WM.WM_NCACTIVATE:
      return LRESULT(1)

Handling WM_NCACTIVATE seems to get rid of this behavior, thanks for that!
I also removed WS_CAPTION, but for a different reason: it's what caused the upper corners to appear round with the Win7 basic theme.
Listening to the WM_STYLECHANGED event and forcefully removing any style bits does not seem to be necessary.

Handling WM_NCACTIVATE seems to get rid of this behavior, thanks for that!
I also removed WS_CAPTION, but for a different reason: it's what caused the upper corners to appear round with the Win7 basic theme.
Listening to the WM_STYLECHANGED event and forcefully removing any style bits does not seem to be necessary.


Compat class for beta

Additional utility to allow for backwards compataiblity.

Get rid of drawing during jupyter shim creation.


No idea why it's broken - clean install, Mojave

Hi,
I've just installed Übersicht and then simple-bar. Something is very wrong, and I have no idea why. Specs:
Mojave
yabai 3.3.10
Übersicht 1.6
I'm attaching a screenshot of what simple-bar currently looks like on my screen

Can anyone help me troubleshoot this please?

It's been a long time since I upgraded from Mojave so I won't be able to look for the cause of this problem.
You could try to checkout the git repo to an older commit and try to see if this problem is still occurring.


Disallow copy to/from external HexagonBuffer

Eventually the goal is to rework the Hexagon Device API to make HexagonBuffer a private entity behind the Device API.  Until then, we need support for "external" (outside the Device API) construction of a HexagonBuffer but we explicitly disallow copy from / to support with this PR.  Also cleaning up some names for clarity based on feedback from @kparzysz-quic.

@kparzysz-quic please review as this PR is based on your feedback.

Thank you @adstraw and @kparzysz-quic - the PR has been merged.


can you update a mod to 0.5.1-c?

Can confirm this is also a problem.

@Duqueeee

Hello!
The mod has been updated to Create's version 0.5.1-c-build.1160+mc1.19.2.
You can download it in the following links:
Curseforge: https://www.curseforge.com/minecraft/mc-mods/create-utilities-fabric/files/4722043
Modrinth: https://modrinth.com/mod/create-utilities/version/0.1.3+1.19.2


[500 error]: Cannot set propeties of undefined (setting 'size')

Repoduction:

Go to learn-dev.nuxt.com
Got nuxt routing module section by clicking next module buttons
Refresh the page after reaching page https://learn-dev.nuxt.com/concepts/routing
Again issue coming when come to home page and refresh

Issue:

@pothuraju-dev can you re-check again? I'm not able to see it now.

@pothuraju-dev can you re-check again? I'm not able to see it now.

@dhaladitya108 I just checked it's coming. Follow the steps I mentioned in the issue you will face.
I checked it by cloning the code and figured it out that it's coming from splitpanel npm package used internally in code

@dhaladitya108 I just checked it's coming. Follow the steps I mentioned in the issue you will face.
I checked it by cloning the code and figured out that it's coming from splitpanel npm package used internally in code

Yes, @pothuraju-dev! You are right dude. The package doesn't seem to be maintained now.

I saw this error occasionally but can't stablely reproduce it. If you spot the culprit, PR is greatly appreciated.

@rexhent It is coming from third-party package. These errors are inconsistent.

I'm looking into this. I've forked the package https://github.com/rexhent/splitpanes
and am publishing it at splitpanes4. I might refactor it to use composition api and switch away from pug to just normal vue templating syntax, then hopefully I might be able to track down that error more easily. Also more typescript everywhere.

@rexhent It is coming from third-party package. These errors are inconsistent.

@antfu I'm not exactly sure how patch files work, if it is an issue with the actual splitpanes package if you want you could do it as a pr to https://github.com/rexhent/splitpanes, as splitpanes 3 is seemingly no longer maintained, and the maintainer won't merge any PR's.

I think this issue was fixed. I checked in the local setup and live, but it didn't occur.

I think this issue was fixed. I checked in the local setup and live, but it didn't occur.

Pretty sure it's this
https://github.com/nuxt/learn.nuxt.com/commit/7c7a68f5dadcb16493f8a6907f7b3278de104f32

We at NocoDB faced the same issue with this. This didn't happen when we mounted Splitpanes separately on different pages, but started happening when the pane was auto mounted on route change. The same patch https://github.com/nuxt/learn.nuxt.com/commit/7c7a68f5dadcb16493f8a6907f7b3278de104f32 fixed the issue.
Thanks @antfu for the patch.


WIP: ENH: Added type hints for wrapped Python classes and methods.

This PR is a work in progress designed to produce class, method, and parameter type typehints for all ITK classes (or as many as possible).
While the current implementation works in general, there are many edge cases that are not yet covered.
This PR currently includes several ITK commits that have occurred recently.

A new PR was created from a different branch.


Enhancement: work with rclone union remotes & remove sa from remote

Thanks for making this awesome utility!
Two enhancement requests for consideration:

Support changing service account on underlying remote of a union remote which appears to be supported by rclone:
https://forum.rclone.org/t/edit-service-account-while-mounted/15760/
Specific post with command:
https://forum.rclone.org/t/edit-service-account-while-mounted/15760/104
Is there a way to remove the service account from the remote so it falls back to it's oauth key/secret/token, preferably a script we could add to execstop on the service to put the remote back to it's default state without any sa's attached or without the need to remount so our dir cache stays in tact?
Thanks again and thanks for your consideration and time.
Ed

This is already supported you just need to define the names of each remote with the same port for the union mount.
So for instance instead of this:

main:
  remote:
   - teamdrive1
   - teamdrive2
   - teamdrive3
   - teamdrive4
  port:
   - 5572
   - 5573
   - 5574
   - 5575

It would be this:
main:
  remote:
   - teamdrive1
   - teamdrive2
   - teamdrive3
   - teamdrive4
  port:
   - 5572
   - 5572
   - 5572
   - 5572

There is a way but not through my script. You would need an outside script or to adjust my script to fit that need.

This is awesome! Thank you so much. I'll look up the command for removing the sa and script.


Credential Application validation against a Credential Manifest

Exposes the IsValidCredentialApplicationForManifest function to mobile clients.
This function does all the heavy lifting of validating that a given Credential Application is valid for a particular manifest, and we'll leverage this on the mobile clients to convey errors with the application process!
I ported over two tests from the ssi-sdk's test suite to validate it was working properly. Happy to add more if we feel like there are any mobile-specific considerations to take here. I mainly just wanted to test that it was calling into the original go code properly, as that's what's doing the heavy lifting!

Codecov Report

Merging #32 (21b7465) into main (0e0eaa7) will increase coverage by 1.78%.
The diff coverage is 43.75%.

@@            Coverage Diff             @@
##             main      #32      +/-   ##
==========================================
+ Coverage   13.22%   15.01%   +1.78%
==========================================
  Files           5        6       +1
  Lines         257      273      +16
==========================================
+ Hits           34       41       +7
- Misses        206      212       +6
- Partials       17       20       +3

Impacted Files
Coverage Δ

sdk/src/ssi/manifest_validation.go
43.75% <43.75%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Fix a typo in making subdomain file

Merge this as early as possible to fix the problem.

Thanks for the fix @maverickNerd! Much appreciated!
@x1mdev


Avoid or limit explicit init required by tedge components

Is your feature improvement request related to a problem? Please describe.
Most of the thin-edge daemons support an --init command with which the initialization of these daemons are performed. They use this option to prepare their initial state by creating the necessary files, directories etc. Doing this -init for each and every component is tedious and we should try to avoid such explicit inits as much as possible by doing as many initialization steps as possible dynamically during the runtime of these daemons.
Describe the solution you'd like
Deprecate the --init options of all the daemons to no-ops, so that they can be completely removed in future. These daemons may create their init state(necessary directories, files etc) dynamically, as and when they are required.
For initialization steps that can't be performed during the normal runtime of a component, like creating /etc/tedge directory that can only be done with elevated privileges, provide a tedge init --user <user> command which will perform these "essential" initializations with the provided user. If a --user value is not provided, use the default tedge user.

Test Plan

The sudo tedge init --user <user-name> --group <group-name> subcommand is used to initialize the following top-level directories such as /etc/tedge, /var/tedge and /var/tedge/logs which require elevated privileges to be created. The --user and --group args are optional and defaults to tedge user and group.
The tedge --init arg is deprecated with a warning in favour of the tedge init subcommand.
The --init arg was deprecated from all tedge daemons as well, namely:

tedge-mapper
tedge-agent
c8y-configuration-plugin
c8y-log-plugin
c8y-fimware-plugin

The directories/files created by these daemons using --init earlier(e.g: the /etc/tedge/c8y/c8y-configuration-plugin file created by the c8y-configuration-plugin) are now created dynamically during the startup of these services. Even if some of these files are deleted at some point, they are recreated on next startup.

Test Plan

The sudo tedge init --user <user-name> --group <group-name> subcommand is used to initialize the following top-level directories which require elevated privileges to be created:

/etc/tedge
/etc/tedge/mosquitto-conf
/etc/tedge/operations
/etc/tedge/plugins
/etc/tedge/device-certs
/var/tedge
/var/tedge/logs

The --user and --group args are optional and defaults to tedge user and group:

The tedge --init arg is deprecated with a warning in favour of the tedge init subcommand.

The --init arg was deprecated from all tedge daemons as well, namely:

tedge-mapper
tedge-agent
c8y-configuration-plugin
c8y-log-plugin
c8y-fimware-plugin

The directories/files created by these daemons using --init earlier(e.g: the /etc/tedge/c8y/c8y-configuration-plugin file created by the c8y-configuration-plugin) are now created dynamically during the startup of these services. Even if some of these files are deleted at some point, they are recreated on next startup.

All tedge components can be run as a user other than tedge as well, provided that the tedge init is performed for that user using the --user arg and the service definitions are updated to be started by that user instead of tedge.

In point 1 you mentioned /var/tedge/logs folder, this folder does not exists after setting up the device (without requesting logs)
Does point 5 mean that if I delete all folders, by restarting the device they will be created again (without running sudo tedge init)?
Point 6: "All tedge components can be run as a user other than tedge as well" is not accurate, for example /etc/tedge/device-certs remains with mosquitto user, can you pleace define which ones should change user and which not?

Does point 5 mean that if I delete all folders, by restarting the device they will be created again (without running sudo tedge init), please define what exactly is the startup?

No, none of the top-level directories created by tedge init command are recreated and can't be recreated automatically either as they need elevated privileges, which not all plugins have. That is which is why that single command must be done by a user with elevated privileges.
But, the services like mappers and plugins create files under these top-level directories on their startup (e.g: the /etc/tedge/c8y/c8y-configuration-plugin file created by the c8y-configuration-plugin or the /etc/tedge/operations/c8y directory and the c8y_SoftwareUpdate and c8y_Restart files under it, created by tedge-mapper-c8y). These files/directories, even if deleted, will be recreated on the next service startup.

Point 6: "All tedge components can be run as a user other than tedge as well" is not accurate, for example /etc/tedge/device-certs remains with mosquitto user, can you pleace define which ones should change user and which not?

Yes, mosquitto is an exception as it is a third-party tool which can only be run as the mosquitto user as that software has defined. I meant all tedge components like the mappers, plugins etc. The service definitions of most of these components, except c8y-config-plugin and c8y-log-plugin, are defined to be run as tedge user. These can be changed to which ever user that tedge init is performed with. The c8y-config-plugin and c8y-log-plugin are designed to be run as root so that they can read/update any config files and log files, without any access restrictions. But, even those services can be run as a specific user if the limited access associated to that user is acceptable.

QA has thoroughly checked the feature and here are the results:

[x] Test for ticket created in the test suite.
/tests/RobotFramework/tests/customizing/tedge_init.robot
[x] QA has tested the feature and it is according descrition and expectations.


PhantomJS Crash In CloudLinux with CageFS

Operating system: Linux
0.0.0 Linux 2.6.32-458.18.1.lve1.2.41.el6.x86_64 #1 SMP Wed Oct 9 09:34:17 EDT 2013 x86_64
CPU: amd64
family 6 model 58 stepping 9
1 CPU
Crash reason:  SIGSEGV
Crash address: 0xbbadbeef
Thread 0 (crashed)
0  phantomjs!WTF::OSAllocator::reserveUncommitted [OSAllocatorPosix.cpp : 107 + 0x7]
rbx = 0xffffffffffffffff   r12 = 0x000000000445d840
r13 = 0x000000000000007f   r14 = 0x00007f74a0191820
r15 = 0x00007f74a0191720   rip = 0x00000000004f8057
rsp = 0x00007fff77520b20   rbp = 0x7ff8000000000000
Found by: given as instruction pointer in context
1  phantomjs!JSC::ExecutableAllocator::isValid [PageReservation.h : 107 + 0x18]
rbx = 0x000000000445d820   r12 = 0x000000000445d840
r13 = 0x000000000000007f   r14 = 0x00007f74a0191820
r15 = 0x00007f74a0191720   rip = 0x0000000000f31fd1
rsp = 0x00007fff77520b30   rbp = 0x7ff8000000000000
Found by: call frame info
2  phantomjs!JSC::ExecutableAllocator::ExecutableAllocator [ExecutableAllocator.h : 185 + 0x7]
rbx = 0x0000000002acac58   r12 = 0x00000000044e9cd0
r13 = 0x000000000000007f   r14 = 0x00007f74a0191820
r15 = 0x00007f74a0191720   rip = 0x0000000000f88d66
rsp = 0x00007fff77520b80   rbp = 0x7ff8000000000000
Found by: call frame info
3  phantomjs!JSC::JSGlobalData::JSGlobalData [JSGlobalData.cpp : 170 + 0x9]
rbx = 0x00007f74a0190000   r12 = 0x00000000044e9cd0
r13 = 0x000000000000007f   r14 = 0x0000000000000085
r15 = 0x00007f74a0191720   rip = 0x0000000000f89b2e
rsp = 0x00007fff77520bf0   rbp = 0x7ff8000000000000
Found by: call frame info
4  phantomjs!JSC::JSGlobalData::createLeaked [JSGlobalData.cpp : 326 + 0x9]
rbx = 0x0000000000000000   r12 = 0x00007fff77520e90
r13 = 0x0000000004459140   r14 = 0x00007fff77520f30
r15 = 0x0000000004552eb0   rip = 0x0000000000f8b5b1
rsp = 0x00007fff77520e70   rbp = 0x00007f74a0190000
Found by: call frame info
5  phantomjs!WebCore::JSDOMWindowBase::commonJSGlobalData [JSDOMWindowBase.cpp : 159 + 0x9]
rbx = 0x00007fff77520f80   r12 = 0x00007fff77521050
r13 = 0x0000000004459140   r14 = 0x00007fff77520f30
r15 = 0x0000000004552eb0   rip = 0x000000000051d382
rsp = 0x00007fff77520e90   rbp = 0x00007f74a0184000
Found by: call frame info
6  phantomjs!WebCore::FrameLoaderClientQt::createDocumentLoader [FrameLoaderClientQt.cpp : 990 + 0x4]
rbx = 0x00007fff77520f80   r12 = 0x00007fff77521050
r13 = 0x0000000004459140   r14 = 0x00007fff77520f30
r15 = 0x0000000004552eb0   rip = 0x00000000004b900d
rsp = 0x00007fff77520ec0   rbp = 0x00007f74a0184000
Found by: call frame info
7  phantomjs!WebCore::FrameLoader::load [FrameLoader.cpp : 1460 + 0x13]
rbx = 0x0000000000000000   r12 = 0x00007f74a0187478
r13 = 0x000000000445d780   r14 = 0x000000000444c350
r15 = 0x0000000004552eb0   rip = 0x0000000000864b57
rsp = 0x00007fff77520ef0   rbp = 0x0000000000000001
Found by: call frame info
8  phantomjs!QWebFrame::setHtml [qwebframe.cpp : 976 + 0x1d]
rbx = 0x0000000000000000   r12 = 0x00007f74a01c0400
r13 = 0x000000000445d780   r14 = 0x000000000444c350
r15 = 0x0000000004552eb0   rip = 0x00000000004827d1
rsp = 0x00007fff77520f80   rbp = 0x0000000000000001
Found by: call frame info
9  phantomjs!WebPage::WebPage [webpage.cpp : 323 + 0x12]
rbx = 0x000000000444c330   r12 = 0x00007fff77521320
r13 = 0x00007fff77521310   r14 = 0x000000000444c350
r15 = 0x000000000444c358   rip = 0x000000000041833e
rsp = 0x00007fff77521210   rbp = 0x0000000004529280
Found by: call frame info
10  phantomjs!Phantom::init [phantom.cpp : 102 + 0x40]
rbx = 0x0000000004529280   r12 = 0x0000000004575580
r13 = 0x0000000004575520   r14 = 0x00007fff775218e0
r15 = 0x0000000000000000   rip = 0x0000000000409bf3
rsp = 0x00007fff77521370   rbp = 0x00007fff775215e0
Found by: call frame info
11  phantomjs!Phantom::instance [phantom.cpp : 154 + 0x4]
rbx = 0x00007fff775219f0   r12 = 0x00007fff77521970
r13 = 0x00007fff77521b18   r14 = 0x00007fff775218e0
r15 = 0x0000000000000000   rip = 0x000000000040b576
rsp = 0x00007fff775218b0   rbp = 0x0000000004575520
Found by: call frame info
12  phantomjs!main [main.cpp : 117 + 0x4]
rbx = 0x00007fff775219f0   r12 = 0x00007fff77521970
r13 = 0x00007fff77521b18   r14 = 0x00007fff775218e0
r15 = 0x0000000000000000   rip = 0x0000000000427c9e
rsp = 0x00007fff775218d0   rbp = 0x00007fff77521b08
Found by: call frame info
13  libc-2.12.so + 0x1ecdc
rbx = 0x0000000000000000   r12 = 0x0000000000407cc0
r13 = 0x00007fff77521b00   r14 = 0x0000000000000000
r15 = 0x0000000000000000   rip = 0x00007f749ea6dcdd
rsp = 0x00007fff77521a30   rbp = 0x0000000000000000
Found by: call frame info
14  phantomjs + 0x27a5f
rip = 0x0000000000427a60   rsp = 0x00007fff77521a50
Found by: stack scanning
Thread 1
0  libpthread-2.12.so + 0xb43c
rbx = 0x0000000002ab0208   r12 = 0x0000000002aa2160
r13 = 0x00007f749ce789c0   r14 = 0x0000000000000000
r15 = 0x0000000000000003   rip = 0x00007f749f58d43c
rsp = 0x00007f749ce77de0   rbp = 0x0000000000000000
Found by: given as instruction pointer in context
1  phantomjs!WTF::TCMalloc_PageHeap::scavengerThread [FastMalloc.cpp : 2495 + 0x7]
rip = 0x00000000004ddafc   rsp = 0x00007f749ce77e10
Found by: stack scanning
2  phantomjs!WTF::TCMalloc_PageHeap::runScavengerThread [FastMalloc.cpp : 1618 + 0x4]
rbx = 0x0000000000000000   r12 = 0x00007f749f593200
r13 = 0x00007f749ce789c0   r14 = 0x0000000000000000
r15 = 0x0000000000000003   rip = 0x00000000004ddc99
rsp = 0x00007f749ce77e90   rbp = 0x0000000000000000
Found by: call frame info
3  libpthread-2.12.so + 0x7850
rbx = 0x0000000000000000   r12 = 0x00007f749f593200
r13 = 0x00007f749ce789c0   r14 = 0x0000000000000000
r15 = 0x0000000000000003   rip = 0x00007f749f589851
rsp = 0x00007f749ce77ea0   rbp = 0x0000000000000000
Found by: call frame info
4  libpthread-2.12.so + 0x111ff
rip = 0x00007f749f593200   rsp = 0x00007f749ce77f48
Found by: stack scanning
5  libpthread-2.12.so + 0x111ff
rip = 0x00007f749f593200   rsp = 0x00007f749ce77fc0
Found by: stack scanning
6  libc-2.12.so + 0xe892c
rip = 0x00007f749eb3792d   rsp = 0x00007f749ce77fe0
Found by: stack scanning
Thread 2
0  libc-2.12.so + 0xe1513
rbx = 0x0000000000000000   r12 = 0x00007f749c676d70
r13 = 0x000000000000000a   r14 = 0x00007f7494000a98
r15 = 0x00007f7494000d30   rip = 0x00007f749eb30513
rsp = 0x00007f749c676b40   rbp = 0x00007f74940008e0
Found by: given as instruction pointer in context
1  phantomjs!qt_safe_select [qcore_unix.cpp : 83 + 0x15]
rip = 0x0000000001d062f7   rsp = 0x00007f749c676b50
Found by: stack scanning
2  phantomjs!QEventDispatcherUNIXPrivate::doSelect [qeventdispatcher_unix.cpp : 223 + 0xd]
rbx = 0x00007f74940012b0   r12 = 0x00007f749c676d70
r13 = 0x00007f74940008e0   r14 = 0x0000000000000000
r15 = 0x00007f7494000d30   rip = 0x0000000001d075b7
rsp = 0x00007f749c676be0   rbp = 0x00007f74940008e0
Found by: call frame info
3  phantomjs!QEventDispatcherUNIX::processEvents [qeventdispatcher_unix.cpp : 937 + 0x4]
rbx = 0x00007f74940012b0   r12 = 0x00007f749c676d70
r13 = 0x00007f74940008c0   r14 = 0x0000000000000001
r15 = 0x000000000444de58   rip = 0x0000000001d08062
rsp = 0x00007f749c676d20   rbp = 0x00007f74940008e0
Found by: call frame info
4  phantomjs!QEventLoop::processEvents [qeventloop.cpp : 149 + 0x1]
rbx = 0x00007f74940012b0   r12 = 0x00007f749c676e00
r13 = 0x00007f749c676e10   r14 = 0x000000000435f230
r15 = 0x000000000444de58   rip = 0x0000000001cdd485
rsp = 0x00007f749c676d70   rbp = 0x00007f749c676db0
Found by: call frame info
5  phantomjs!QEventLoop::exec [qeventloop.cpp : 200 + 0x4]
rbx = 0x00007f74940012b0   r12 = 0x00007f749c676e00
r13 = 0x00007f749c676e10   r14 = 0x000000000435f230
r15 = 0x000000000444de58   rip = 0x0000000001cdd8e8
rsp = 0x00007f749c676da0   rbp = 0x00007fff77521970
Found by: call frame info
6  phantomjs!QThread::exec [qthread.cpp : 542 + 0xc]
rbx = 0x000000000444ddd0   r12 = 0x000000000444de58
r13 = 0x0000000000000001   r14 = 0x0000000000000000
r15 = 0x0000000000000003   rip = 0x0000000001bdfdd6
rsp = 0x00007f749c676e00   rbp = 0x000000000444de58
Found by: call frame info
7  phantomjs!QThreadPrivate::start [qthread_unix.cpp : 338 + 0x9]
rbx = 0x000000000444de58   r12 = 0x000000000444ded0
r13 = 0x0000000000000001   r14 = 0x0000000000000000
r15 = 0x0000000000000003   rip = 0x0000000001be2ca2
rsp = 0x00007f749c676e50   rbp = 0x0000000004508c60
Found by: call frame info
8  libpthread-2.12.so + 0x7850
rbx = 0x0000000000000000   r12 = 0x00007fff77520e50
r13 = 0x00007f749c6779c0   r14 = 0x0000000000000000
r15 = 0x0000000000000003   rip = 0x00007f749f589851
rsp = 0x00007f749c676ea0   rbp = 0x0000000000000000
Found by: call frame info
Loaded modules:
0x00400000 - 0x026b9fff  phantomjs  ???  (main)
0x7f749ce79000 - 0x7f749d096fff  libselinux.so.1  ???
0x7f749d098000 - 0x7f749d2affff  libresolv-2.12.so  ???
0x7f749d2b2000 - 0x7f749d4b4fff  libkeyutils.so.1.3  ???
0x7f749d4b5000 - 0x7f749d6bffff  libkrb5support.so.0.1  ???
0x7f749d6c0000 - 0x7f749d8eafff  libk5crypto.so.3.1  ???
0x7f749d8ec000 - 0x7f749daeffff  libcom_err.so.2.1  ???
0x7f749daf0000 - 0x7f749ddd5fff  libkrb5.so.3.3  ???
0x7f749ddd6000 - 0x7f749e019fff  libgssapi_krb5.so.2.2  ???
0x7f749e01a000 - 0x7f749e276fff  libssl.so.1.0.0  ???
0x7f749e277000 - 0x7f749e48cfff  libz.so.1.2.3  ???
0x7f749e48d000 - 0x7f749e822fff  libcrypto.so.1.0.0  ???
0x7f749e827000 - 0x7f749ea4efff  libexpat.so.1.5.2  ???
0x7f749ea4f000 - 0x7f749eddcfff  libc-2.12.so  ???
0x7f749ede2000 - 0x7f749eff7fff  libgcc_s-4.4.7-20120601.so.1  ???
0x7f749eff8000 - 0x7f749f27bfff  libm-2.12.so  ???
0x7f749f27c000 - 0x7f749f56cfff  libstdc++.so.6.0.13  ???
0x7f749f582000 - 0x7f749f79afff  libpthread-2.12.so  ???
0x7f749f79f000 - 0x7f749f9a6fff  librt-2.12.so  ???
0x7f749f9a7000 - 0x7f749fbaafff  libdl-2.12.so  ???
0x7f749fbab000 - 0x7f749fde0fff  libfontconfig.so.1.4.4  ???
0x7f749fde1000 - 0x7f74a007dfff  libfreetype.so.6.3.22  ???
0x7f74a007e000 - 0x7f74a009dfff  ld-2.12.so  ???
0x7f74a027d000 - 0x7f74a0280fff  87f5e051180a7a75f16eb6fe7dbd3749-le64.cache-3  ???
0x7f74a0281000 - 0x7f74a0289fff  b79f3aaa7d385a141ab53ec885cc22a8-le64.cache-3  ???
0x7f74a029a000 - 0x7f74a029bfff  b67b32625a2bb51b023d3814a918f351-le64.cache-3  ???
0x7fff775fe000 - 0x7fff775fffff  linux-gate.so  ???

Every solve this?


'United Kingdom of Great Britain and Northern Ireland' (GB/GBR)

Please add 'United Kingdom of Great Britain and Northern Ireland' (GB/GBR)

https://github.com/fannarsh/country-list/blob/master/data.json#L939 ?

Hi,
UK is already in the data at https://github.com/fannarsh/country-list/blob/master/data.json#L939
I don't support the three letter country codes (ISO 3166-1 alpha-3).
cheers

The current dataset I'm using is displaying GB incorrectly


Cardinality bug fixes can leave migration state wedged

This is a general class of problems we face, along with a specific way that a 2.13 bugfix triggers it. This is minimized from an actual user issue.
Create and migrate to this schema in 2.12:
module default {
    type Foo {
        required multi property spam -> str;
        property eggs := (select .spam);
    }
};

Then, upgrade to 2.13, and run edgedb migration create again (with no changes):
$ edgedb migration create
edgedb error: EdgeDB could not resolve migration with the provided answers. Please retry with different answers.

If we run with EDGEDB_DEBUG_DELTA_PLAN=1, we get some insight into the situation:
================================================================================
DESCRIBE CURRENT MIGRATION AS JSON mismatch
================================================================================
<DeltaRoot canonical=True at 0x7f2793600670> (
    <AlterObjectType canonical=True, classname=default::Foo, annotations={'confidence': 1.0}, orig_cmd_type=<class 'edb.schema.objtypes.AlterObjectType'> at 0x7f2793601690> (
        <AlterProperty canonical=True, classname=default::__|eggs@default|Foo, annotations={'confidence': 1.0}, aux_object_data={'from_alias': None} at 0x7f2791ca4160> (
            <AlterPropertyLowerCardinality classname=default::__|eggs@default|Foo at 0x7f2791ca5540>(required=False | True # computed)
        )
    )
)

We can see that Foo.eggs in the database has required=False but that we want it to have required=True, and we fail to create a migration.

The issue here is that in 2.13, we fixed a cardinality inference bug: https://github.com/edgedb/edgedb/pull/5180
and as a result, eggs infers a different cardinality in 2.13 than in 2.12. This creates a mismatch between the actual live schema and the schema that we create in 2.13, and so we aren't able to do any migrations.
Making a trivial change to eggs lets us recover from this state, since that will cause it to get re-inferred directly.
Of course, there is no good way for an actual user to discover that really simple workaround, so this is kind of a mess.
Dump/restore also would work, I think
I'm not sure what the best approach to this category of issues is. I'm not sure that we can reasonably rule out these kinds of changes.
I think we might need some sort of repair tool. Maybe a command that does something along the lines of computing what the schema should be (from describe output, maybe), comparing that to the actual schema, and just making the fixups.

If we build such a fixup tool, can it run automatically if a migration create fails in a way that could indicate this problem? I guess the question is maybe

Can we detect the state that would require a fixup, or can we detect a migration error that indicates a schema might be impacted by this bug?
What is the likelihood of false positives on that detection?
How much of a burden would it be to run a fixup for all schemas that might be affected when they attempt to create a migration?

Alternatively, could we proactively run a fixup on an upgrade from 2.12 to 2.13?
I know I'm putting the cart before the horse here a little since a fixup tool doesn't yet exist, but I want to get these ideas on the table in hopes to minimize the burden on users if we do build it.

IMO there should be a best effort automatic fixup at upgrade time a-la stdlib patches.  In other words, if we break the state in this way with a bugfix in 2.x, we should try and unbreak it in 2.x+1.


Deactivate uses PUT method and endpoint deactivate

Describe the bug
The deactivate promotion action endpoint uses PUT and endpoint deactivate instead of using DELETE and activate endpoint
Expected behavior
It should be using DELETE method
Observed behavior
Currently uses PUT method
Screenshots
According to lecture slides, it should use DELETE

As discussed with Professor, having an /activate & /deactivate endpoint is okay, so closing this story


Upgrade packages to minimize the size of dependency graph

Hi@jsakamoto, I found an issue in the EFCore.IndexAttribute.Test.EF50.csproj:
Packages Microsoft.EntityFrameworkCore.Sqlite v5.0.0, Microsoft.EntityFrameworkCore.SqlServer v5.0.0 and coverlet.collector v3.0.3 transitively introduce 170 dependencies into EntityFrameworkCore.IndexAttribute’s dependency graph (see dependency graph before upgrades), while Microsoft.EntityFrameworkCore.Sqlite v5.0.4, Microsoft.EntityFrameworkCore.SqlServer v5.0.4 and coverlet.collector v3.1.0 can only introduce 143 dependencies (see dependency graph after upgrades).
These upgrades can help project minimize the size of dependency graph.
Hope the PR can help you.
Best regards,
sucrose

@sucrose0413 Thanks for your contribution! 👍

@jsakamoto You are welcome. ^-^


Implement file locking within PublicSuffixListManager class

Addresses issue #78
To test concurrency, I inserted the following at line 249:
echo "lock obtained for '$filepath'\n\n";
sleep(5);

Then ran the following commands within 5 seconds of eachother:
$ time bin/update-psl
Updating Public Suffix List.
lock obtained for /Users/mike/Projects/php-domain-parser/data/public-suffix-list.txt

lock obtained for /Users/mike/Projects/php-domain-parser/data/public-suffix-list.php

Update complete.

real    0m11.799s
user    0m0.388s
sys 0m0.028s

$ time bin/parse
Array
(
    [scheme] => http
    [user] => user
    [pass] => pass
    [host] => www.pref.okinawa.jp
    [subdomain] => www
    [registrableDomain] => pref.okinawa.jp
    [publicSuffix] => okinawa.jp
    [port] => 8080
    [path] => /path/to/page.html
    [query] => query=string
    [fragment] => fragment
)
Host: http://user:pass@www.pref.okinawa.jp:8080/path/to/page.html?query=string#fragment
'okinawa.jp' IS a valid public suffix.

real    0m4.535s
user    0m0.071s
sys 0m0.013s

The blocking appears to be effective.
PHPUnit passes, but I did not achieve complete code coverage as I am not sure how to simulate a file which opens but cannot be written, a file which opens which cannot be read, or a file which opens but cannot be locked.  I also do not know how to properly test asynchronous I/O within PHPUnit, so these file locking tests were performed manually as above.  If you have a solution, please let me know.

It looks like PHP5.3 does not like ftruncate when applied to streams...
It appears the vfxStream used in your unit tests only added support for post PHP 5.4:
http://stubbles.org/archives/101-vfsStream-1.1.0-released.html
Not sure what to do about this either.  I believe the test would pass in an actual file system.  Please advise.

Alright, I've finally gotten this to pass and to 100% code coverage.  Let me know how it looks.

Nice work!
Do you think we could get around the ftruncate issue and simplify the write method by simply adding LOCK_EX to file_put_contents? I haven't used that option before, but the documentation says that it calls fopen and then flock.

I looked into this and it appears that vfsStream does not support the LOCK_EX flag on file_put_contents() either.
https://github.com/mikey179/vfsStream/wiki/Known-Issues
Apart from that though, I suppose the underlying implementation should be the same.

Also, it appears that prior to PHP 5.2.5 the internal implementation was such that a file could accidentally be truncated before obtaining the file lock:
https://bugs.php.net/bug.php?id=43182
Given this it may be preferable to be verbose about it.  Though I suppose this library is incompatible with 5.2 anyway.

I grabbed a few spare minutes to look at this tonight. Still reviewing, but here are my notes/thoughts so far.

I looked into this and it appears that vfsStream does not support the LOCK_EX flag on file_put_contents() either.

That's a bummer, but maybe there's a way around it with some additional test cases and overriding file_put_contents like you did with ftruncate in the PublicSuffixListManagerTest. If we can accomplish that, I think I'd prefer to go with file_put_contents.

Though I suppose this library is incompatible with 5.2 anyway.

Correct. Not worried about < 5.3.

I just tried implementing PublicSuffixListManager::write() as follows:
protected function write($filename, $data)
{
    $result = @file_put_contents($this->cacheDir . '/' . $filename, $data, LOCK_EX);

    if ($result === false) {
        throw new \Exception("Cannot write '" . $this->cacheDir . '/' . "$filename'");
    }

    return $result;
}

As expected, vfsStream doesn't seem to like it, this time regardless of PHP version.
$ vendor/bin/phpunit
PHPUnit 4.8.22 by Sebastian Bergmann and contributors.

...............................................................  63 / 309 ( 20%)
............................................................... 126 / 309 ( 40%)
............................................................... 189 / 309 ( 61%)
............................................................... 252 / 309 ( 81%)
........................EE.E.............................

Tests: 309, Assertions: 630, Errors: 3.

Generating code coverage report in HTML format ... done

I could override file_put_contents to remove the LOCK_EX flag with something like the following, but it feels a bit like cheating.  Let me know what you think.
namespace Pdp;

function file_put_contents($path, $data, $flags, $context) {
    $flags &= ~LOCK_EX;
    return @\file_put_contents($path, $data, $flags, $context);
}

You can check out the alternate branch I've created here:
https://github.com/mikegreiling/php-domain-parser/compare/develop...file_locking_alt

I could override file_put_contents to remove the LOCK_EX flag with something like the following, but it feels a bit like cheating.

Yeah, considering that vfsStream can't handle the LOCK_EX flag, I would tend to agree. I hate to dump file_put_contents for the more verbose alternative, but I feel like test coverage is more important.

Kinda surprised there's not a userland library for atomic reads and writes. That's a bummer.

@mikegreiling   a new version of PDP has been released with support for PSR-16 as such this PR will be closed has it fixes an issue on version 3.0 using an incorrect branch.


rc1.0: Upload manifest file for release branch

Cherry-pick https://github.com/microsoft/FluidFramework/pull/21143 and https://github.com/microsoft/FluidFramework/pull/20722

A test is failing for this PR, unlike the others.


Error in Observables

Hi
I'm trying to use the rxjs 5.4.3 version instead of the new version, I'm waiting for the new release to go out and run in my SystemJs project.
Meanwhile with the old version 5.4.3 these errors appear for me, there is not much because this happens because I did not update the library, you know how I can solve all this erros? Route errors by observables etc.

Are you still having this issue with 5.5? Do you have a minimal reproduction?

@benlesh Yes, I'm still waiting for 5.5.3 version with fixes, has a fix in pull request to do a new version

We don't really have enough information to figure out what might be going on here. We'd need (minimal) reproduction code. Closing this one for now.


Initialize MiqQueue.miq_task_id column when queuing ems-refresh task

This PR will allow to automatically initialize MiqTask.started_on field when queued item delivered.
It is follow-up to https://github.com/ManageIQ/manageiq/pull/17015
@miq-bot add-label core, technical debt

@agrare could you take a look at this PR

@miq-bot remove-label wip


Cluster Ingress

Do we run the nginx ingress controller by default and use our existing config in US Cloud?

Reopening to keep it open until we have documentation in place.

I think we have the requisite documentation now, let's open a new issue if not.


Port Seamless Posting from Chrome

@SummerWish emailed me about porting the Seamless Posting work to JetPack. Since @hitesh96db has also wanted to port the functionality, I figured I would open this issue to help organize.
Given the time remaining in the GSoC program, this functionality will not be considered part of the official GSoC program. A higher priority is to finalize the existing functionality with documentation and tests.

Waiting for WebExtensions on this one.


Cleanup config/default/manager_auth_proxy_patch.yaml

That file has stuff that's not auth proxy related. We either need to create new patch files or rename that file (ideally new patch files so that everything is not dumped into one file)

Or just dump everything that we always use (which is everything right now) into the base file. I don't really see a need for patches when (at the moment) there is just a single "distribution" of catalogd.

Does the base file change when running make generate?  If it does due to controller-gen that would be good cause for the patch files.

Does the base file change when running make generate?

Quickly verified this isn't the case. I'm +1 on removing and just doing it straight on the base file

Does the base file change when running make generate?

The standard controller-gen invocations that come with kubebuilder initialization obfuscate this a bit. In rukpak, we needed to split stuff up, and it ends up being more obvious where controller-gen rewrites.
https://github.com/operator-framework/rukpak/blob/05e7abdbb6b9ef8f658f1f9429e7753b54b7a258/Makefile#L76-L91


Mention updating version in release steps

I tried to follow the release steps in the README to publish 0.0.2 so we could get the jupyterhub docs passing with #6 , but it didn't mention that the version number needed to be updated (I assumed from the described steps that it was versioneer-style version-from-git, but I was wrong). This also bumps to 0.0.3 so that we can make an 0.0.3 after merge.

Sentiment seems to be largely away from versioneer. I've been trending toward tbump in most places, but I don't have strong feelings myself. I just misread the combination of "Just make a release" with sphinx-theme-builder as an unfamiliar build backend and made an incorrect assumption.


Using external database

Hi guys! I'm using Flynn for my app made in Ruby on Rails, and I would like to use an external DB hosted on AWS RDS.
I tried defining a env variable called URL, but it is not working...
Any ideas?

Can you provide a little bit more details? What are your ENV variables? Have you set the RDS database to allow public access ? It might be the security group. I would say, try public access and then later set a security group with more restrictions. I would say the security is your blocker.

@parrolabs thanks for your answer.
I have just one ENV named “url” and my db config for “production” environment is url: <=% ENV['URL'] %>.
On development and Heroku works that way, that’s why I’m a little bit confused

Hi @lautarocastillo,
I think the issue is that you need to enter a couple more ENV variables. Like e.g. RDS_HOST, RDS_PORT, RDS_USER, RDS_PASSWORD (please check the actual ENV that you have. That is necessary to connect to the RDS server. I think you need to review your ENV as that might be the issue. In Rails you can just set all those to an ENV and then look into RDS.
Seems to be more an issue with RDS than with Flynn, though you should set all of those in Flynn ofcourse.

@lautarocastillo - Should we close this?

CLOSED
The solution was replacing this ENV variables

with RDS credentials.
@parrolabs thanks for your help!


Add a new  icon

Duplicates ❌

[X] I have searched the existing icons or assets and requests.

Which Figma library is concerned?
Vitamin Icons
Icon or Asset name
Republishing
Icon or Asset description
This icon shows a modification on a data or an input field, for a model card.

Icon or Assets keywords
No response
Icon or Asset author
No response
Icon or Asset SVG code
<svg>...</svg>

Are there any other important details?
No response

Hi @ablareau thanks for your contribution, we add it as soon as possible :)

Hi @MARIEDELATTRE,
Thank you for your response! The refresh icon is perfect so I don't need anymore the republishing icon :)


README file in Nepali Language

Thank you for the contribution. @rishabkumar7 can you make sure that this is setup correctly, translation looks good.

Having the complete Nepali directory name will make the URL long, but we change that later to NP maybe


Fixed #35950 -- Restored refreshing of relations when fields deferred.

Trac ticket number
ticket-35950
Branch description
Fixes the issue noted in the ticket, with tests.
Checklist

[x] This PR targets the main branch.
[x] The commit message is written in past tense, mentions the ticket number, and ends with a period.
[x] I have checked the "Has patch" ticket flag in the Trac system.
[x] I have added or updated relevant tests.
[x] I have added or updated relevant docs, including release notes if applicable.
[x] I have attached screenshots in both light and dark modes for any UI changes.

@adamchainz do you mind adding a release note to Django 5.1.4, maybe something like:
* Fixed a regression in Django 5.1 where relational fields where not updated
  when calling ``Model.refresh_from_db()`` on instances with deferred fields
  (:ticket:`35950``).

Done, thanks for writing it!

I just came to my local git repo and realized I didn't actually git add the release note... thanks for fixing @sarahboyce !


fix(drive): set sign height when rebroadcasting

Issue being fixed or feature implemented
We were rebroadcasting without setting the sign height which was causing the transaction to expire immediately.
What was done?
Reset the sign height.
How Has This Been Tested?

Breaking Changes

Checklist:

[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have added or updated relevant unit/integration/functional/e2e tests
[X] I have added "!" to the title and described breaking changes in the corresponding section if my code contains any
[X] I have made corresponding changes to the documentation if needed

For repository code-owners and collaborators only

[X] I have assigned this pull request to a milestone

Summary by CodeRabbit

New Features

Improved handling of expired withdrawal documents by updating their status from BROADCASTED to POOLED, enhancing the processing of these documents.
Added functionality to set the TRANSACTION_SIGN_HEIGHT property to the current block height for expired withdrawal documents.

Bug Fixes

Ensured that the method continues to manage error handling effectively while processing expired documents.

We deciced to test on Monday and make a fix if needed.


DO NOT MERGE: Change GPU test to use cuda8. Update docker ubuntu to 16.04.

@tensorflow-jenkins test this please.

@tensorflow-jenkins Test this please.

Just wanted to understand the status of this PR... are you waiting for someone to review this?

Thanks for the ping Rohan. We were waiting for cuda 8.0 to come out of RC, but it looks like a bunch of  things changed in the nvidia docker image, and some of changes in this PR no longer applies. I will close this PR.


adding config_files to repo

In the PR that @betatim just merged I saw that readthedocs isn't properly pulling the config_file.txt file from the repo2docker repo. This just manually adds that in to this repo. It's automatically grabbed when we run make html, so it'll still get updated whenever someone builds / pushes to the binder docs.

(we should probably merge this sooner than later since right now the docs are broken)

pinging @betatim since he merged the other one...


Updating does not unset key pairs

When calling the Repo.update with missing attributes from a ArangoXEcto Schema, it does not unset the key => value pairs in the database.
Example:
Original Data
%{email: "blah", phone: 999}
Updated Data (shown as result of the changeset):
%{email: "blah"}
Database result:
%{email: "blah", phone: 999}

Can you provide the code you are using to update this?


mtd: api for mtd devices

A mtd api for working with mtd devices is proposed.
This enables support of mtd devices and partitions on:
A. FLASH devices,
B. EEPROM devices,
C. RETAINED_MEM devices,
Each of these devices can be partitioned using the fixed-partitions compatible. Access to the "backend" device is provided and the type of "backend" can be retrieved.
Based upon the proposed api existing fs solutions can easily be extended to other storage solutions (e.g. ram and eeprom).
Fixes #61979
Could be used to fix #52395
At the moment this PR could break the flash_map subsystem when partitions are enabled on non-flash devices (working on it...). done

Arch WG:

@carlescufi asks many questions,
@henrikbrixandersen says that it is wrong to treat all devices under the same MTD class, because they are too different (erase or not, wear levelling, etc)
@Laczen agrees that it would be better to have a filesystem designed for EEPROM, but we don't have it now
@de-nordic mentions that it is up to the users to make sure the storage stack is efficient (eg. no FATFS on NOR flash)
@Laczen states that this could be a device but he specifically chose not to make it a device

Arch WG:

@carlescufi asks many questions,

Don't know if I answered them all. One item that might have not gotten the necessary detail: "Why isn't this added as a flash device ?" When it would have been added as a flash device it would need to provide all properties of a flash device and it would loose the device type property.

@henrikbrixandersen says that it is wrong to treat all devices under the same MTD class, because they are too different (erase or not, wear levelling, etc)

This shouldn't be considered wrong, when using a device under the mtd class it means that it would be used as belonging to this class. The mtd class is a class that provides read, write and erase methods. It does not imply that these routines have to be used. This allows for optimization when required e.g. to avoid an erase.

@Laczen agrees that it would be better to have a filesystem designed for EEPROM, but we don't have it now

@de-nordic mentions that it is up to the users to make sure the storage stack is efficient (eg. no FATFS on NOR flash)

At the moment using fatfs on nor flash is allowed and supported. While this shouldn't be encouraged the introduction of the mtd class does not change this.

@Laczen states that this could be a device but he specifically chose not to make it a device

Avoiding using a device allows avoiding DT_DEVICE_INIT() and as such should be encouraged. It is also similar to flash_(map)partitions that also are no devices.
What does the PR provide (the names mtd0, mtd0p1 are illustrative and not real):
a. Unified method to read/write/erase on a eeprom, ram (retained_mem) and flash device by providing a top level mtd_info: mtd0.
b. Unified method to read/write/erase on a partition mtd_info that is created on the top level: mtd0p1/mtd0p2/...
c. Provide a means to get information about the backend device (type and device)
Other backends could be added.
How could this PR be used:
a. Working with images as a replacement of flash_(map)partitions,
b. Support nvs on many backends with minor changes to nvs,
c. Combine ram_disk and flash_disk in one "internal" disk solution,
d. With a backend created for a disk it would allow to combine littlefs on disk and littlefs on flash/ram/eeprom,
e. With a backend created for a disk it would allow working with images directly from disk,
f. With a backend created for a file on disk it would allow working with images directly from file,
Some of the presented items can also solved by utilizing the flash simulator, this however should be avoided as the flash simulator should only be used in test cases and not in production solutions.

After reflecting on the remarks that were made on the Arch WG meeting I am proposing to change the name of the subsystem into: nvmp meaning non volatile memory and partitioning.
The nvmp (non volatile memory and partitioning) subsystem provides read/write and erase functions on non volatile memory. Partitioning of non volatile memory is supported using the fixed-partitions compatible. The subsystem provides read/write and erase functions on non volatile memory partitions. Next to the read/write and erase functions the subsystem also provides some utility functions to retrieve the size, the storage device, the type of storage device, and the offset on the storage device.
This new name makes it clear that it is on top of multiple non volatile memory devices. The availability of this subsystem could enable new possibilities (e.g. nvs on eeprom) reduce the current code base, avoid future duplicate work, simplify userspace support.

One extra remark:
Q: Does the use of the subsystem oblige developers to support all non volatile memory?
A: No it does not, the developer can decide based upon the non volatile memory type go exclude a memory from use.

One extra remark:
Q: Does the use of the subsystem oblige developers to support all non volatile memory? A: No it does not, the developer can decide based upon the non volatile memory type go exclude a memory from use.

I don't really see the point in this then, so if this became the normal for interacting with devices, let's say nvs or lfs support moves over to it but actually only really supports the flash backend because it relies upon flash writing tricks, all this would do is add an additional access layer, consume more space, and be unable to prevent it from being configured on backend devices that it actually cannot function on.

One extra remark:
Q: Does the use of the subsystem oblige developers to support all non volatile memory? A: No it does not, the developer can decide based upon the non volatile memory type go exclude a memory from use.

I don't really see the point in this then, so if this became the normal for interacting with devices, let's say nvs or lfs support moves over to it but actually only really supports the flash backend because it relies upon flash writing tricks, all this would do is add an additional access layer, consume more space, and be unable to prevent it from being configured on backend devices that it actually cannot function on.

Neither nvs or lfs rely on any flash writing tricks. nvs relies on the fact that the area is erased before writing to it in order to discover where it has left off. lfs relies on nothing illustrated by the fact that it can use disks as well as flash.
Now consider the situation where also a disk would be covered by nvmp (it is not in the PR at the moment but adding it is very easy). nvs on disk does not really make sense because of how it is working (writing the same sector to add data), the nvs library could exclude any setup that uses disk support (this is also possible at build time). The present littlefs code that supports disks and flash could be simplified a lot by using nvmp. All configuration parameters that are related to the setup on flash or disk could be removed and retrieved from the nvmp layer. The possibility to retrieve the information about the backend at build time also allows to remove any unneeded code.
The proposal does indeed add an extra layer and in some cases it is possible to avoid this layer. However to avoid this it is needed to write extra code for each of the backends that could be used. This results in more maintenance and fewer possibilities.

@brix, I understand your objection to the proposal. Your proposal of course also has disadvantages:

There would be a lot of code duplication to add support for each of the backends,
The adaptation/design for some of the backends is not going to happen in the near future,
So we would be leaving zephyr users in a situation where they would be perfectly happy with a non-optimal solution but this solution is being deprived from them.

As an example of item 2. I have in the past done quite some effort into providing a direct settings backend solution using an eeprom. The biggest problem in this is guaranteeing that no data is lost when it is needed to "pack" the storage info. It was not possible (without replicating what is done in the flash based backends) to get this correct, and I really tried hard. As a result up to today there is no solution for storing settings directly on an eeprom which has been requested numerous times. I don't see this changing in the near future but the requests will increase given the recent addition of fujitsu mb85rcxx device.
Providing a solution that could simplify development, enable partitioning on non volatile memory in no way forces the developers to use this provided solution. If it is decided not to support a specific kind of storage this should be possible (and it is).
Regarding the "shoehorning" of support: if it would be needed to add eeprom support for nvs it would be using exactly the support method that is proposed: call the eeprom read/write routines and simulate an erase by writing a constant value to it. When enabling littlefs or fatfs on eeprom it would use the block based approach as for disks, no erase would be called but just a block write/read. Both nvs or littlefs/fat would need to keep track of the backend type in order to call the correct routines. All of this added code is provided by the proposal directly without the need to duplicate.

By having an "erase" feature for EEPROMs, you are halving the lifespan of that because instead of just doing a program for each location, you are doing an "erase" by writing 0xff to it then writing the real data you want to write to it, that's not really solving the problem of lack of settings on an EEPROM device, that just introduces a new issue of, and I quote from @Laczen's own words on another PR: "a user might result in premature end of flash life"

To facilitate the discussion in the Arch WG, I'm rephrasing the proposal as:
The nvmp (non volatile memory and partitioning) subsystem provides read/write and erase functions on non volatile memory. Partitioning of non volatile memory is supported.
In this proposal non volatile memory should be broadly interpreted, it could be a device (eeprom, flash, retained_mem, disk) but also a file could be considered as non volatile memory
A non volatile memory or partition is represented by:
struct nvmp_info {
	const struct nvmp_info *parent; /* NULL if there is a backend */
	const struct nvmp_backend *backend; /* NULL if there is a parent */
	const size_t size;
	const off_t offset; /* offset on the parent */
	bool read_only;
	int (* const read)(const struct nvmp_info *info, off_t offset, void *data, size_t len);
	int (* const write)(const struct nvmp_info *info, off_t offset, const void *data, size_t len);
	int (* const erase)(const struct nvmp_info *info, off_t offset, size_t len);
}

where:
enum storage_solution_type = {FLASH, EEPROM, RETAINED_MEM, DISK, ...}
struct nvmp_backend {
	const void *storage_solution;
	const enum storage_solution_type;
	int (* const read)(const void *storage_solution, off_t off, void *data, size_t len);
	int (* const write)(const void *storage_solution, off_t off, const void *data, size_t len);
	int (* const erase)(const void *storage_solution, off_t off, size_t len);
}

In the dts the storage solution is specified by a compatible "zephyr, nvmp_flash", "zephyr, nvmp_eeprom", "zephyr, nvmp_retained_mem", ... Partitions are specified by a compatible "zephyr, nvmp_partition".
To retrieve a nvmp based upon the nodelabel a macro is provided (NVMP_GET(nodelabel)) and usage would be:
const struct nvmp_info *info = NVMP_GET(nodelabel);

rc = info->read(info, off, data, len);
rc = info->write(info, off, data, len);
rc = info->erase(info, off, len);

Utility functions to retrieve the size, storage_solution, storage_solution_type and storage_solution_offset are provided as:
size_t nvmp_get_size(const struct nvmp_info *info);
void *nvmp_get_storage_solution(const struct nvmp_info *info);
enum storage_solution_type(const struct nvmp_info *info);
off_t storage_solution_offset(const struct nvmp_info *info);

For a storage solution that has no erase function the erase function is created as a solution that writes a constant value. It is important to note that the subsystem in no way obliges the user to use the erase function, if a user knows it is not needed to erase on a certain storage solution it can find out the used storage solution and decide not to call the erase (an example of this would be a disk on eeprom or retained_mem).
What does this proposal facilitate (direct or in future):
a. Enable partitioning on all supported storage solutions,
b. Enable fs solutions (and their users, e.g. settings) on all supported storage solutions,
c. Working with images on all supported storage solutions (of course if a bootloader makes assumptions on the kind storage solution used it should take this into account),
d. Simplification in code when different storage solutions are supported (e.g. littlefs),
e. Simplify the integration of configuration registers,
f. Sharing of information between a bootloader and an application,
What does this proposal break in zephyr: nothing, if an application/developer decides not to use the subsystem nothing changes.
The attentive reader might have noticed:

There is no more nvmp_read, nvmp_write or nvmp_erase routine, why ? To avoid recursion,
The proposal is no longer using the fixed-partition compatible, why ? This compatible is limited to mtd devices and the proposal is broader then (mtd) devices. It also guarantees that there is no influence on existing systems that use fixed-partitions without the need of changing them.

By having an "erase" feature for EEPROMs, you are halving the lifespan of that because instead of just doing a program for each location, you are doing an "erase" by writing 0xff to it then writing the real data you want to write to it, that's not really solving the problem of lack of settings on an EEPROM device, that just introduces a new issue of, and I quote from @Laczen's own words on another PR: "a user might result in premature end of flash life"

As said: if users are happy with a sub-optimal solution why deprive it from them? And with the words of @carlescufi :"support of fatfs on eeprom could be done, ... because eeprom, well never dies.".

By having an "erase" feature for EEPROMs, you are halving the lifespan of that because instead of just doing a program for each location, you are doing an "erase" by writing 0xff to it then writing the real data you want to write to it, that's not really solving the problem of lack of settings on an EEPROM device, that just introduces a new issue of, and I quote from @Laczen's own words on another PR: "a user might result in premature end of flash life"

As said: if users are happy with a sub-optimal solution why deprive it from them? And with the words of @carlescufi :"support of fatfs on eeprom could be done, ... because eeprom, well never dies.".

I was just curious as you thought it was a big enough issue to NACK a whole PR previously but now seem to think it's okay.

I was just curious as you thought it was a big enough issue to NACK a whole PR previously but now seem to think it's okay.

I have no idea what PR you are referring to, but yes I can change my mind. No decision is ever final for me, it is taken at the specific time and situation.

I'm stopping my pursuit to try and unify working with different memories as this could be seen alternatives to existing solutions.


compiler/tests/stateless_random_ops_test.py:testRandomNormalIsFinite doesn't

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): n/a
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): n/a
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: n/a
TensorFlow installed from (source or binary): n/a
TensorFlow version (use command below): n/a
Python version: n/a
Bazel version (if compiling from source): n/a
GCC/Compiler version (if compiling from source): n/a
CUDA/cuDNN version: n/a
GPU model and memory: n/a
Exact command to reproduce: n/a

Describe the problem
@hawkinsp wrote a test called testRandomNormalIsFinite, but it uses stateless_random_uniform instead of stateless_random_normal.
Source code / logs
N/A.

Oops! Good catch. I'll fix the test.


TestNearest not escaping punctuation in test name correctly in jest/TypeScript tests

With vanilla config
I just updated vim-test and it's at commit c090bfd93919888bb0b86e1ab707bc6a3095097f. This issue has been occurring for me for probably a couple years at least.
My (jest & typescript) test file (test/vimTestRepro.ts):
it('(runs this test)', async () => {
  expect(1).toEqual(1);
});

My .vimrc has all vim-test settings commented out, so it's the vanilla config.
Running :TestNearest within the above test results in the following output:
node_modules/.bin/jest --runTestsByPath -t '\(runs this test\)$' -- test/vimTestRepro.test.ts

Determining test suites to run...
Test Suites: 1 skipped, 0 of 1 total
Tests:       1 skipped, 1 total
Snapshots:   0 total
Time:        1.219 s
Ran all test suites within paths "test/vimTestRepro.test.ts".

Press ENTER or type command to continue

Strangely, if I run the above command directly in zsh (which is my login shell and should be used universally here AFAIK), it works:
% node_modules/.bin/jest --runTestsByPath -t '\(runs this test\)$' -- test/vimTestRepro.test.ts

Determining test suites to run...
 PASS  test/vimTestRepro.test.ts
  ✓ (runs this test) (2 ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        1.513 s, estimated 2 s
Ran all test suites within paths "test/vimTestRepro.test.ts".

If I only have an opening parenthesis, I get this JavaScript Regex exception, which might hint at what is going wrong here:
node_modules/.bin/jest --runTestsByPath -t '\(runs this test$' -- test/vimTestRepro.test.ts

Determining test suites to run...
 FAIL  test/vimTestRepro.test.ts
  ● Test suite failed to run

    SyntaxError: Invalid regular expression: /\\(runs this test$/: Unterminated group
        at new RegExp (<anonymous>)

      at eventHandler (../node_modules/.pnpm/jest-circus@27.5.1/node_modules/jest-circus/build/eventHandler.js:305:33)
      at TestScheduler.scheduleTests (../node_modules/.pnpm/@jest+core@27.5.1_ts-node@10.5.0/node_modules/@jest/core/build/TestScheduler.js:333:13)

Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        0.39 s
Ran all test suites within paths "test/vimTestRepro.test.ts".

shell returned 1

Alternate setup
With my usual config, I have the same problem but it looks a little different.
vimrc:
let test#strategy = 'vimterminal'
let test#typescript#jest#executable = 'pnpm run test --watchAll=false'

Result of :TestNearest:
> NODE_OPTIONS='--max-old-space-size=3072' jest --logHeapUsage --maxWorkers=50% "--watchAll=false" "--runTestsByPath" "-t" "\\\\(runs this test\\\\)$" "--" "test/vimTestRepro.test.ts"

Determining test suites to run...
Test Suites: 1 skipped, 0 of 1 total
Tests:       1 skipped, 1 total
Snapshots:   0 total
Time:        1.089 s
Ran all test suites within paths "test/vimTestRepro.test.ts".

If I run that command directly in zsh, it also ends up skipping the test:
% NODE_OPTIONS='--max-old-space-size=3072' pnpm jest --logHeapUsage --maxWorkers=50% "--watchAll=false" "--runTestsByPath" "-t" "\\\\(runs this test\\\\)$" "--" "test/vimTestRepro.test.ts"

Determining test suites to run...
Test Suites: 1 skipped, 0 of 1 total
Tests:       1 skipped, 1 total
Snapshots:   0 total
Time:        1.613 s, estimated 2 s
Ran all test suites within paths "test/vimTestRepro.test.ts".

If I halve the number of backslashes, it works.
Other punctuation
Square brackets exhibit the same problem. $ and . and * seem to work fine.

Thank you for flagging this, I will look into this.

This is an interesting one as I am trying to recreate it, what version of jest are you using?


parse pathname from github urls to exclude url parameters

fixes #251
github now adds ?tab=readme-ov-file when viewing the project homepage creating duplicate entries in wakatime
by parsing the url, we can extract just the pathname to prevent this case (& having the browser handle url parsing is easier)

Any update on this? Issue is still occurring

No longer necessary after refactoring.


Make oa_ded link as well as openarena.

Motivation for this change
Things done

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

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

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

Notify maintainers
cc @

Renaming openarena-server to oa_ded has broken https://github.com/NixOS/nixpkgs/blob/2921e8a82a2d8f1013cd80b099bbf99e11714ddb/nixos/modules/services/games/openarena.nix#L46 and consequently openarena's test: https://hydra.nixos.org/build/105060313/nixlog/9
machine# [    6.863817] systemd[636]: openarena.service: Failed at step EXEC spawning /nix/store/k493fk4ms79mzpks86v763850j5x8lmz-openarena-0.8.8/bin/openarena-server: No such file or directory

Hmm, I'm really confused because while the diff shows that I removed that link the blame view doesn't show the openarena-server link at all https://github.com/NixOS/nixpkgs/blame/67effde499ffb60da484ebbbd643c6dc69f8eb77/pkgs/games/openarena/default.nix. Either way, I'll change the oa_ded to openarena-server and that should fix everything.