Cannot start wt through "Run"

Windows Terminal version
1.20.11781.0
Windows build number
10.0.26120.670
Other Software
No response
Steps to reproduce
win+R then type "wt" in Run
Expected Behavior
Start the terminal
Actual Behavior
wt crashed immediately, with the same logs just like https://github.com/microsoft/terminal/issues/13193.

AppName WindowsTerminal.exe
AppVersion 1.21.2406.25002
AppTimeStamp 667b71e3
ModuleName ucrtbase.dll
ModuleVersion 10.0.26100.751
ModuleTimeStamp cdc60ec5
ExceptionCode c0000409
FaultingOffset<PHONE_NUMBER>0a514e
ProcessId 0x918
ProcessCreationTime 0x1dac9cdc051aa8e
AppPath C:\Program Files\WindowsApps\Microsoft.WindowsTerminalPreview_1.21.1772.0_x64__8wekyb3d8bbwe\WindowsTerminal.exe
ModulePath C:\WINDOWS\System32\ucrtbase.dll
IntegratorReportId 53217967-c8f2-46a6-9b33-7883da184a4d
PackageFullName
PackageRelativeAppId

However, with any other ways to start, like start menu, right-click menu or run "wt" in another terminal, it works well.

Works perfectly fine for me on windows 11 home 23H2.

I got the same issue on Windows 10 22H2 (Microsoft Windows NT 10.0.19045.0).
Executing wt through "Run" fails immediately, an event viewer entry shows:
Faulting application name: WindowsTerminal.exe, version: 1.20.2405.17001, time stamp: 0x66479c60
Faulting module name: ucrtbase.dll, version: 10.0.19041.3636, time stamp: 0x81cf5d89
Exception code: 0xc0000409
Fault offset: 0x000000000007286e
Faulting process ID: 0x974
Faulting application start time: 0x01dacc28cccbb3c4
Faulting application path: C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.20.11381.0_x64__8wekyb3d8bbwe\WindowsTerminal.exe
Faulting module path: C:\WINDOWS\System32\ucrtbase.dll
Report ID: 894c8028-b6a7-4a1a-904d-2c89e0bb1e77
Faulting package full name:
Faulting package-relative application ID:

While running "wt" fails, running by specifying the full path works, i.e. running %LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe worked perfectly. This serves as my current workaround.
I doubled checked that %LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe is already in my PATH

Curious. What's the whole value of your PATH? Or more specifically, from CMD, what does where wt output/?

C:\Users\<USERNAME>\AppData\Local\Microsoft\WindowsApps\wt.exe

By the way, I found that running with explorer path box

will get the same crash, too🤔

For some reason, PowerToys run doesn't recognize wt at all on my machine.

Can you try running this /?
fsutil reparsepoint query %LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe
We'd like to know the contents of that to debug this further.

Running this command returns Error 3: The system cannot find the path specified.

Thanks. We were more hoping for ThomasETN and Anans2 to help out with that. You seem to be having a different issue.
For you: can you turn off your app execution alias in the "Manage App Execution Aliases" settings page, and then turn it back on?

Can you try running this /? fsutil reparsepoint query %LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe
We'd like to know the contents of that to debug this further.

Microsoft.WindowsTerminal_8wekyb3d8bbweMicrosoft.WindowsTerminal_8wekyb3d8bbwe!AppC:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.20.11381.0_x64__8wekyb3d8bbwe\wt.exe0

Can you try running this /? fsutil reparsepoint query %LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe
We'd like to know the contents of that to debug this further.

just like AvogatoWizardWhisker's.
Is it right? I can start wt through this path🤔

I think you should run fsutil reparsepoint query %LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe on CMD instead of Powershell

I think you should run fsutil reparsepoint query %LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe on CMD instead of PowersShell

Ok, then I get the same output.

Hmm... Ok, could you use feedback hub to get a trace for us /? Thanks
Can you also go into your Windows settings and switch the app execution alias? You mentioned 1.20 in the bug report, but the log you posted says 1.21, so we're a bit suspicious of that.
/feedback

other notes:

you mentioned a Stable terminal version at the top of the post, but then the crash is coming from a Preview build of the Terminal.
WindowsTerminal.exe is the thing that's crashing (not wt.exe). So running wt did spawn and get into WindowsTerminal
your wt.exe does point at the stable one
is the stable one handing off to the preview terminal somehow? that'd be weird

I doubt if it has anything to do with the preview versions, because unlike Anans2 I'm on 1.20.11381.0 all along, I don't even have the preview version installed... yet we seem to be facing the same issue 🤔

https://aka.ms/AArhdba

other notes:

you mentioned a Stable terminal version at the top of the post, but then the crash is coming from a Preview build of the Terminal.
WindowsTerminal.exe is the thing that's crashing (not wt.exe). So running wt did spawn and get into WindowsTerminal
your wt.exe does point at the stable one
is the stable one handing off to the preview terminal somehow? that'd be weird

Oh, I got it wrong. I have tried switching to the preview version to repair it but got the same result. Now I am certainly using the stable one.

AppName WindowsTerminal.exe
AppVersion 1.20.2406.26001
AppTimeStamp 667c7d41
ModuleName ucrtbase.dll
ModuleVersion 10.0.26100.973
ModuleTimeStamp bc5981b4
ExceptionCode c0000409
FaultingOffset<PHONE_NUMBER>0a514e
ProcessId 0x3b5c
ProcessCreationTime 0x1dad9cd7d4cfb7e
AppPath C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.20.11781.0_x64__8wekyb3d8bbwe\WindowsTerminal.exe
ModulePath C:\WINDOWS\System32\ucrtbase.dll
IntegratorReportId 53acd177-c47a-4cd0-97f6-e62d8cb6af31
PackageFullName
PackageRelativeAppId

I found that starting through the path "C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.20.11781.0_x64__8wekyb3d8bbwe\wt.exe" will make it crash. However, using the softlink "%LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe" works will, even though the softlink points to former one🤔
I guess that the Run used the former one and shell used the latter。

Huh well yep that would do it! Can you run the following in an admin command prompt window:
cacls "C:\Program Files\WindowsApps" /S

we think the permissions on WindowsApps did get messed up, which is why this is failing to spawn. If the permissions did get messed up, there's not a ton we can do. If it was only the Terminal package that had bad permission, it'd be possible that a reinstall might fix it. But if it's all of WindowsApps, you're in for a bad time.

As requested in #17593 above
cacls "C:\Program Files\WindowsApps" /S
C:\Program Files\WindowsApps "D:PAI(A;OICI;0x1200a9;;;RC)(A;;FA;;;SY)(A;OICIIO;GA;;;SY)(A;OICI;0x1200a9;;;LS)(A;OICI;0x1200a9;;;NS)(A;CI;0x1200a9;;;BA)(A;OICI;FA;;;BA)(A;OICIIO;0x1200a9;;;BU)(XA;;0x1200a9;;;BU;(Exists WIN://SYSAPPID))(A;OICIIO;GA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;;FA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;OICI;0x1200a9;;;AC)(A;;0x1200a9;;;S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204)(A;OICIIO;GXGR;;;S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204)"

Pretty-printed output

cacls "C:\Program Files\WindowsApps" /S
C:\Program Files\WindowsApps
"
	D:PAI(A;OICI;0x1200a9;;;RC)
	(A;;FA;;;SY)
	(A;OICIIO;GA;;;SY)
	(A;OICI;0x1200a9;;;LS)
	(A;OICI;0x1200a9;;;NS)
	(A;CI;0x1200a9;;;BA)
	(A;OICI;FA;;;BA)
	(A;OICIIO;0x1200a9;;;BU)
	(XA;;0x1200a9;;;BU;(Exists WIN://SYSAPPID))
	(A;OICIIO;GA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)
	(A;;FA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)
	(A;OICI;0x1200a9;;;AC)
	(A;;0x1200a9;;;S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204)
	(A;OICIIO;GXGR;;;S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204)
"

C:\Program Files\WindowsApps "D:AI(A;ID;FA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;CIIOID;GA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;ID;FA;;;SY)(A;OICIIOID;GA;;;SY)(A;ID;FA;;;BA)(A;OICIIOID;GA;;;BA)(A;ID;0x1200a9;;;BU)(A;OICIIOID;GXGR;;;BU)(A;ID;FA;;;S-1-5-21-2887018048-3378311400-3291514223-1003)(A;OICIIOID;GA;;;CO)(A;ID;0x1200a9;;;AC)(A;OICIIOID;GXGR;;;AC)(A;ID;0x1200a9;;;S-1-15-2-2)(A;OICIIOID;GXGR;;;S-1-15-2-2)"

C:\Program Files\WindowsApps "D:PAI(A;OICI;FA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;OICI;0x1200a9;;;S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204)(A;OICI;FA;;;SY)(A;CI;0x1200a9;;;BA)(A;OICI;0x1200a9;;;LS)(A;OICI;0x1200a9;;;NS)(A;OICI;0x1200a9;;;RC)(XA;;0x1200a9;;;BU;(Exists WIN://SYSAPPID))(A;OICI;FA;;;S-1-5-21-1748280977-1158525368-2915346297-1001)"

As requested in #17593 & above
cacls "C:\Program Files\WindowsApps" /S
C:\Program Files\WindowsApps "D:PAI(A;;FA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;OICIIO;FA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;;0x1200a9;;;S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204)(A;OICIIO;0x1200a9;;;S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204)(A;;FA;;;SY)(A;OICIIO;FA;;;SY)(A;CI;0x1200a9;;;BA)(A;OICI;0x1200a9;;;LS)(A;OICI;0x1200a9;;;NS)(A;OICI;0x1200a9;;;RC)(XA;;0x1200a9;;;BU;(Exists WIN://SYSAPPID))(A;OICI;FA;;;S-1-5-21-280656841-2507282897-2809039123-1003)"

Prettified:
cacls "C:\Program Files\WindowsApps" /S
C:\Program Files\WindowsApps
"
    D:PAI
    (A;      ;FA      ;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)
    (A;OICIIO;FA      ;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464
        (A ;      ;0x1200a9;;;S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204)
        (A ;OICIIO;0x1200a9;;;S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204)
        (A ;      ;FA      ;;;SY)
        (A ;OICIIO;FA      ;;;SY)
        (A ;CI    ;0x1200a9;;;BA)
        (A ;OICI  ;0x1200a9;;;LS)
        (A ;OICI  ;0x1200a9;;;NS)
        (A ;OICI  ;0x1200a9;;;RC)
        (XA;      ;0x1200a9;;;BU;
            (Exists WIN://SYSAPPID
        )
    )
    (A;OICI  ;FA      ;;;S-1-5-21-280656841-2507282897-2809039123-1003)
"

Facing the same issue as #17593 from last two days.
cacls command output:
cacls "C:\Program Files\WindowsApps" /S
C:\Program Files\WindowsApps "D:PAI(A;OICI;0x1200a9;;;RC)(A;;FA;;;SY)(A;OICIIO;GA;;;SY)(A;OICI;0x1200a9;;;LS)(A;OICI;0x1200a9;;;NS)(A;CI;0x1200a9;;;BA)(A;OICI;FA;;;BA)(A;OICIIO;0x1200a9;;;BU)(XA;;0x1200a9;;;BU;(Exists WIN://SYSAPPID))(A;OICIIO;GA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;;FA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;OICI;0x1200a9;;;AC)(A;;0x1200a9;;;S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204)(A;OICIIO;GXGR;;;S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204)"

Formatted:
cacls "C:\Program Files\WindowsApps" /S
C:\Program Files\WindowsApps
"
	D:PAI
	(A;OICI;0x1200a9;;;RC)
	(A;;FA;;;SY)
	(A;OICIIO;GA;;;SY)
	(A;OICI;0x1200a9;;;LS)
	(A;OICI;0x1200a9;;;NS)
	(A;CI;0x1200a9;;;BA)
	(A;OICI;FA;;;BA)
	(A;OICIIO;0x1200a9;;;BU)
	(XA;;0x1200a9;;;BU;(Exists WIN://SYSAPPID))
	(A;OICIIO;GA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)
	(A;;FA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)
	(A;OICI;0x1200a9;;;AC)
	(A;;0x1200a9;;;S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204)
	(A;OICIIO;GXGR;;;S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204)
"

When execute WT alias from CMD or Terminal it runs without crashing but when executed from Start menu, Run (Win + R) and File Explorer address bar, it crashes silently and I get following error in Event Viewer.
Event Viewer entry:
Faulting application name: WindowsTerminal.exe, version: 1.20.2406.26001, time stamp: 0x667c7d41
Faulting module name: ucrtbase.dll, version: 10.0.22621.3593, time stamp: 0x10c46e71
Exception code: 0xc0000409
Fault offset: 0x000000000007f6fe
Faulting process id: 0x0x2C48
Faulting application start time: 0x0x1DAE05F8E4F8511
Faulting application path: C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.20.11781.0_x64__8wekyb3d8bbwe\WindowsTerminal.exe
Faulting module path: C:\WINDOWS\System32\ucrtbase.dll
Report Id: 6fd320cb-3ae4-45da-bf07-f38093d5c418
Faulting package full name:
Faulting package-relative application ID:

Tried repair-reset-reinstall many times but not working.

I used this SE/SU answer to restore permissions to the WindowsApps folder itself and return ownership to NT Service / TrustedInstaller. After running the cacls command and using the GUI to change the owner, wt worked again.

Thank you. I can run wt again after following https://superuser.com/questions/1288014/reset-default-acls-for-c-program-files-windowsapps/1730061#1730061. Will try to use https://github.com/AgentRev/WindowsAppsUnfukker in the future.


Add a linux question about if statements

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)

Closes #XXXXX

This PR seems to have a duplicate question to your other PR here
https://github.com/freeCodeCamp/Developer_Quiz_Site/pull/634
I am going to close this one


Refactor fetchAllReports in App init

Details
Refactors fetchAllReport
Fixed Issues
$ https://github.com/Expensify/Expensify/issues/213889
Tests

Pull the changes in https://github.com/Expensify/Web-Expensify/pull/34497
Log out and log back in
Verify that OpenApp returns details for your reports report_<id> Onyx keys
Verify that the reports show up in the LHN and that the report names and last messages are correct
Verify that the last read messages are correct.

[x] Verify that no errors appear in the JS console

PR Review Checklist
Contributor (PR Author) Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] Any functional components have the displayName property
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

PR Reviewer Checklist
The Contributor+ will copy/paste it into a new comment and complete it after the author checklist is completed

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

[ ] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] Any functional components have the displayName property
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

QA Steps

[ ] Verify that no errors appear in the JS console

Screenshots

Web
https://user-images.githubusercontent.com/22219519/180578919-7c354813-ab3e-421c-9c03-8cda67a736e8.mov
Mobile Web
https://user-images.githubusercontent.com/22219519/183487904-8cc0820a-9b67-43ea-ae2d-9432568c9180.mov
Desktop
https://user-images.githubusercontent.com/22219519/183488469-ae700895-bf03-4da5-9d9e-022814a560d6.mov
iOS
https://user-images.githubusercontent.com/22219519/183487870-895e4209-42d2-488b-8b7c-723423a8f694.mov
Android
https://user-images.githubusercontent.com/22219519/183486439-1af9e9f3-76d6-4ef6-a871-e4630784064f.mov

Need to do more testing. The new waitForCollectionCallback param seems to work, but something is still triggering multiple callbacks. Looking into this next!

Hmm the logic in the PR is supposedly done, but I'm having some issues testing on android.
Removing this call in getAppData puts us in an infinite spinner at login. More specifically, it seems to be related to this call in fetchChatReportsByIDs 🤔 These are the logs:
 DEBUG  [info] Flushing logs as app is going inactive - {}
 WARN  `new NativeEventEmitter()` was called with a non-null argument without the required `addListener` method.
 WARN  `new NativeEventEmitter()` was called with a non-null argument without the required `removeListeners` method.
 WARN  Require cycle: node_modules/rn-fetch-blob/index.js -> node_modules/rn-fetch-blob/polyfill/index.js -> node_modules/rn-fetch-blob/polyfill/Blob.js -> node_modules/rn-fetch-blob/index.js

Require cycles are allowed, but can result in uninitialized values. Consider refactoring to remove the need for a cycle.
 WARN  Require cycle: node_modules/rn-fetch-blob/index.js -> node_modules/rn-fetch-blob/polyfill/index.js -> node_modules/rn-fetch-blob/polyfill/XMLHttpRequest.js -> node_modules/rn-fetch-blob/index.js

Require cycles are allowed, but can result in uninitialized values. Consider refactoring to remove the need for a cycle.
 WARN  Require cycle: node_modules/rn-fetch-blob/index.js -> node_modules/rn-fetch-blob/polyfill/index.js -> node_modules/rn-fetch-blob/polyfill/Fetch.js -> node_modules/rn-fetch-blob/index.js

Require cycles are allowed, but can result in uninitialized values. Consider refactoring to remove the need for a cycle.
 WARN  `new NativeEventEmitter()` was called with a non-null argument without the required `addListener` method.
 WARN  `new NativeEventEmitter()` was called with a non-null argument without the required `removeListeners` method.
 LOG  Running "NewExpensify" with {"rootTag":61}
 DEBUG  [info] [Migrate Onyx] start - ""
 DEBUG  [info] [Migrate Onyx] Skipped migration MoveToIndexedDB (Not applicable to current platform) - ""
 DEBUG  [info] [Migrate Onyx] Skipped migration RenameActiveClientsKey - ""
 DEBUG  [info] [Migrate Onyx] Skipped migration RenamePriorityModeKey - ""
 DEBUG  [info] [Migrate Onyx] Skipped migration AddEncryptedAuthToken - ""
 DEBUG  [info] [Migrate Onyx] Skipped migration RenameExpensifyNewsStatus - ""
 DEBUG  [info] [Migrate Onyx] finished in 2ms - ""
 DEBUG  [info] [LoadingIndicator] Became visible - {"name":"Navigation Fallback Loader","authenticated":true}
 DEBUG  [info] [LoadingIndicator] Disappeared - {"name":"Navigation Fallback Loader","authenticated":true}
 DEBUG  [info] [NetworkConnection] listenForReconnect called - ""
 DEBUG  [info] [NetworkConnection] NetInfo state change - {"details":{"isConnectionExpensive":false,"subnet":"<IP_ADDRESS>","ipAddress":"<IP_ADDRESS>","frequency":2447,"strength":99,"bssid":"02:00:00:00:00:00"},"isConnected":true,"type":"wifi","isInternetReachable":true,"isWifiEnabled":true}
 DEBUG  [info] Making API request - {"command":"Get","shouldUseSecure":false,"returnValueList":"userWallet"}
 DEBUG  [info] Making API request - {"command":"OpenApp"}
 DEBUG  [info] Making API request - {"command":"User_FixAccount","shouldUseSecure":false}
 DEBUG  Timing:expensify.cash.homepage_initial_render 64
 DEBUG  [info] [Onyx] set() called for key: network properties: isOffline - ""
 DEBUG  [info] Navigating to route - {"path":"/"}
 DEBUG  [info] [LoadingIndicator] Became visible - {"name":"Main Drawer Loader","initialParams":{"reportID":""}}
 WARN  Possible Unhandled Promise Rejection (id: 0):
TypeError: Cannot convert null value to object
TypeError: Cannot convert null value to object
    at callback (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.expensify.chat&modulesOnly=false&runModule=true:222584:37)
    at sendDataToConnection (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.expensify.chat&modulesOnly=false&runModule=true:130614:22)
    at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.expensify.chat&modulesOnly=false&runModule=true:130647:29)
    at tryCallOne (/tmp/hermes/staging/hermes/cmake/intlDebug/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:53:16)
    at anonymous (/tmp/hermes/staging/hermes/cmake/intlDebug/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:139:27)
    at apply (native)
    at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.expensify.chat&modulesOnly=false&runModule=true:30058:26)
    at _callTimer (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.expensify.chat&modulesOnly=false&runModule=true:29954:17)
    at _callReactNativeMicrotasksPass (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.expensify.chat&modulesOnly=false&runModule=true:29993:17)
    at callReactNativeMicrotasks (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.expensify.chat&modulesOnly=false&runModule=true:30203:44)
    at __callReactNativeMicrotasks (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.expensify.chat&modulesOnly=false&runModule=true:5829:46)
    at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.expensify.chat&modulesOnly=false&runModule=true:5607:45)
    at __guard (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.expensify.chat&modulesOnly=false&runModule=true:5812:15)
    at flushedQueue (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.expensify.chat&modulesOnly=false&runModule=true:5606:21)
    at invokeCallbackAndReturnFlushedQueue (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.expensify.chat&modulesOnly=false&runModule=true:5599:33)
 DEBUG  [hmmm] [Network] Error: Connection interruption likely - {"message":"Network request failed"}
 DEBUG  [info] [NetworkConnection] recheck NetInfo - ""
 DEBUG  [hmmm] [Network] Handled error when making request - {}
 DEBUG  [info] [PusherConnectionManager] unhandled event - {"eventName":"state_change"}
 DEBUG  [info] [PusherConnectionManager] connected event - ""
 DEBUG  [info] [Pusher] Attempting to subscribe to channel - {"channelName":"private-encrypted-user-accountID-2-22c1653d3f3947f8bef45844d44ae963","eventName":"reportCommentEdit"}
 DEBUG  [info] [PusherAuthorizer] Attempting to authorize Pusher - {"channelName":"private-encrypted-user-accountID-2-22c1653d3f3947f8bef45844d44ae963"}
 DEBUG  [info] Making API request - {"command":"AuthenticatePusher"}
 DEBUG  [info] [Pusher] Attempting to subscribe to channel - {"channelName":"private-encrypted-user-accountID-2-22c1653d3f3947f8bef45844d44ae963","eventName":"onyxApiUpdate"}
 DEBUG  [info] [Pusher] Attempting to subscribe to channel - {"channelName":"private-encrypted-user-accountID-2-22c1653d3f3947f8bef45844d44ae963","eventName":"preferredLocale"}
 DEBUG  [info] [Pusher] Attempting to subscribe to channel - {"channelName":"private-encrypted-user-accountID-2-22c1653d3f3947f8bef45844d44ae963","eventName":"screenshareRequest"}
 DEBUG  [info] Finished API request - {"command":"AuthenticatePusher","jsonCode":200,"requestID":"E5DFlp"}
 DEBUG  [info] [PusherAuthorizer] Pusher authenticated successfully - {"channelName":"private-encrypted-user-accountID-2-22c1653d3f3947f8bef45844d44ae963"}
 DEBUG  [info] Finished API request - {"command":"Get","shouldUseSecure":false,"returnValueList":"userWallet","jsonCode":200,"requestID":"iSe4Pc"}
 DEBUG  [info] [Onyx] set() called for key: userWallet properties: availableBalance,bankAccountID,currentBalance,currentStep,tier,tierName,walletLimit,walletLimitEnforcementPeriod,walletLinkedAccountID,walletLinkedAccountType,shouldShowFailedKYC - ""
 DEBUG  [info] Finished API request - {"command":"User_FixAccount","shouldUseSecure":false,"jsonCode":200,"requestID":"fuwB30"}
 DEBUG  [alrt] ENSURE_BUGBOT [LoadingIndicator] Visible after timeout - {"timeout":15000,"name":"Main Drawer Loader","initialParams":{"reportID":""}}

Updated onyx! Ready for another review!

Updated!

Are all those changes to the lockfile OK? It's only hashes being updated, which is I think related to m1 macs. It's probably OK?

Yea, I think as long as we are updating from sha1 to sha512 we are good!

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

Added a comment here, but I think this is introducing a 🐛 when updating policies after the initial load.
To reproduce...

Load all the policies
Create a workspace
Log out value of policyIDList
It will end up as []


[exception] Undefined variable: errorText , code 0

In Google_Auth_OAuth2::authenticate in case when you got non json response, php will try to use undefined variable $errorText to make Google_Auth_Exception.

Anybody here?


Modified encoding from UTF8 to UTF8-BOM.

Original file won't be compiled on Windows 10 zh_CN, some chars are not recognized correctly.
in src/Edit.c:
Line 1771: L"'`΄’"
Line 4113: L",;.:-+%&¦|/*?!"'~΄#="

There are other files (e.g. scintilla/src/CaseConvert.h) in Scintilla encoded in UTF-8 without BOM, you need to add /source-charset:utf-8  in Properties -> C/C++ -> Command Line -> Additional Options.
Look at the MSDN document: https://docs.microsoft.com/en-us/cpp/build/reference/source-charset-set-source-character-set.

Thanks @zufuliu, that works.
So I should close this.


Incorrect 2nd and 3rd test cases in Bonfire Symmetric Difference

Shouldn't both the 2nd test and the 3rd cases expect [1,4] ?
Challenge Bonfire: Symmetric Difference has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:
function sym(args) {

  var result = [],
      appeared = [],
      num,
      arrayUnique,
      indexResult;

  for(var i = 0; i < arguments.length; i++) {

    arrayUnique = arguments[i].reduce(function(arr, val) {
        if (arr.indexOf(val) < 0) arr.push(val);
        return arr;
      }, []);

    for(var j = 0; j < arrayUnique.length; j++) {
      num = arrayUnique[j];
      indexResult = result.indexOf(num);

      if(indexResult < 0) {
        if(appeared.indexOf(num) < 0) {
          result.push(num);
        }
      } else {
        result.splice(indexResult, 1);
      }
      appeared.push(num);
    }
  }

  return result;
}

sym([1, 1, 2, 5], [2, 2, 3, 5], [3, 4, 5, 5]);

Not an issue actually.


How to change terraform provider  from mongey to confluentinc with impacting current terraform resources created

Currently, I am using "Mongey/kafka" provider and now I have to switch to "confluentinc/confluent" provider with my existing terraform pipeline.
How can I do this ?
Steps currently following to switch the provider
Changing the provider in main.tf file and running following command to replace provider
terraform state replace-provider Mongey/kafka confluentinc/confluent

and after that I run
terraform init command to install the new provider
But after that when I am running
terraform plan

it is giving "no schema available for module.iddn_news_cms_kafka_topics.kafka_acl.topic_writer[13] while reading state; this is a bug in terraform and should be reported" error.
Is there any way, I will change the terraform provider without disturbing the existing resources created using terraform pipeline ?

👋 @ravichoudhary20, thanks for opening this issue!
I haven't got a ton of experience using "Mongey/kafka" provider but it looks like the resource definitions are slightly different so I'm not sure whether terraform state replace-provider will help.
Until our TF provider provides a resource exporter or something, the safest way to switch to "confluentinc/confluent" provider seems to be a manual reimporting of every topic / other resources to a new TF workspace without updating your existing TF workspace that uses "Mongey/kafka" provider.
Alternatively, it might be a good idea to update your .tf and .tfstate files to match the resource definitions of "confluentinc/confluent" provider. Here's an managing-single-cluster example that might be helpful.
Let me know if it helps!

@ravichoudhary20 you might also find Experimental Resource Importer for Confluent Terraform Provider useful.


Erro generating page: build_html/index.html

When I perform the following steps I get an error in the console and a blank page is displayed when I hit the local site. Can't figure out if this is an issue with the product or not.
*) yo docbase
*)  when prompted
*) For hosted option select 'Magic'
*) For publish option select 'Locally'
*) For color option select 'green'
...stuff is printed to console
Running "docbase:def" (docbase) task
starting
Erro generating page: build_html/index.html

We have seen a related issue when phantomjs starts converting SPA routes to an html site, link to known issue.
The tl;dr recommendation is to delete the build_html/ directory, and run grunt (which starts the docbase:def task). If the build succeeds, the generator should start an http-server after the grunt execution. Or if you prefer to run it manually, the html site will be created under the build_html/ directory.

Sorry, it's not working. I installed phantomjs using npm, version 2.1.1 was installed. I still get the error. The build_html/ directory never is created / doesn't exist.

Can you share the log output from yo docbase? It's hard to tell without
it.
On Wed, Apr 6, 2016 at 1:03 AM, brandon-bethke-neudesic <
<EMAIL_ADDRESS>wrote:

Sorry, it's not working. I installed phantomjs using npm, version 2.1.1
was installed. I still get the error. The build_html/ directory never
is created / doesn't exist.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/appbaseio/Docbase/issues/15#issuecomment-205960327

ᐧ
ᐧ

TerminalOutput.txt

@brandon-bethke-neudesic this tells us that your installation is going well, but there is a failure in the html pages creation task in the grunt process. It does not tell us the nature of failure.
@mateusfreira introduced a new commit in the grunt process that should provide debug information on failure. If you run yo docbase again, it should now have more information to help us debug the issue.

Thank you. Here is the terminal output with the enableCrawlerDebug flag set.
TerminalOutput2.txt

@brandon-bethke-neudesic are you using Docbase as a root user? Able to replicate the bug in that scenario.

I am using a mac and I am logged as an Admin user, but I am not doing a sudo or anything like that.

What is the output of ls -l after the build failure error?

lsoutput.txt

@brandon-bethke-neudesic thanks, it's missing the bower_components/ directory. That's the reason document generation is failing, working on fix.

@brandon-bethke-neudesic a new yeoman generator has been released that addresses this. Does it work for you?

I am sorry, but it does not work. I uninstalled and then re-installed yo and docbase-generator. I get the same error message and the bower_components/ directory is not there.

@brandon-bethke-neudesic can you execute manually the command
bower install --allow-root

and send us the result?

Is bower something that needs to be installed manually? because it's not in the node_modules folder and I get command not found when I try to execute the command.

@brandon-bethke-neudesic yes, it can be installed with npm install -g bower. Docbase currently assumes npm, bower and grunt-cli to be installed on the user's system.

In conclusion, the problem appears to have been that bower was not installed. Sorry.

I'm seeing this issue but have bower, npm, grunt-cli installed etc. We're running on Ubuntu. Any ideas what else to check?

@clarkd Can you set the parameter enableCrawlerDebug in './node_modules/grunt-docbase/tasks/docbase.js#L34' to true and share the resulting output?

@siddharthlatest I've managed to get it working by installing a previous version of Phantom. All going well now! Pretty happy with the docs already although a quick question - does it support multi-level nav beyond a single dropdown/depth?

@clarkd It doesn't support that right now.


fix: update minimist in yarn.lock

Description of changes

Update minimist to version 1.2.6 in yarn.lock in order to fix prototype pollution reported by dependabot: https://github.com/aws-amplify/maplibre-gl-js-amplify/security/dependabot/9
Checklist

[x] PR description included
[x] yarn test passes
[x] Tests are [changed or added]
[x] Relevant documentation is changed or added (and PR referenced)

Codecov Report

Merging #152 (bf51288) into main (f67d568) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #152   +/-   ##
=======================================
  Coverage   62.87%   62.87%
=======================================
  Files          11       11
  Lines         431      431
  Branches       94       94
=======================================
  Hits          271      271
  Misses        160      160

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Switch to octicons_helper

The octicons-rails is unmaintained and out of date, let's use the official github one instead: https://github.com/primer/octicons_helper

I would recommend the https://github.com/primer/octicons_helper which uses the gem. Just gives it a rails tag helper for easy injection
<%= octicon "alert", :height => 32,  :class => "right left", :"aria-label" => "hi" %>

Thanks @jonrohan, I've updated the issue, keep up the good work!

One small thing regarding this approach @andrew: as we are switching from an icon font to using inline SVGs, there would need to be some refactoring done to the CSS to make stuff look the same.
I've started work on this branch now, and all things considered, the work required to support this change is fairly small compared to how much of A Good Thing™ this change is, so I say we do it. 👍

@xadamy :feelsgood:


GPG signing (key with passphrase) without a TTY fails even if passphrase is passed by flag

Hi,
I'm trying to execute a publish command automatically via SSH. My GPG key has a passphrase, so I pass it as a flag, but aptly fails due to a lack of tty, although no user input is needed.
Example:
[14:23:29] [ari@malory] % ssh <host with aptly> "sudo aptly publish switch -passphrase=<passphrase> <name> <snapshot>"
Loading packages...
Generating metadata files and linking package files...
Finalizing metadata files...
Signing file 'Release' with gpg, please enter your passphrase when prompted:
gpg: cannot open tty `/dev/tty': No such device or address
ERROR: unable to publish: unable to detached sign file: exit status 2

When forcing SSH to create a tty it works without user intervention:
[14:34:58] [ari@malory] % ssh -tt <host with aptly> "sudo aptly publish switch -passphrase=<passphrase> <name> <snapshot>"
Loading packages...
Generating metadata files and linking package files...
Finalizing metadata files...
Signing file 'Release' with gpg, please enter your passphrase when prompted:

You need a passphrase to unlock the secret key for
<key details>

Clearsigning file 'Release' with gpg, please enter your passphrase when prompted:

You need a passphrase to unlock the secret key for
<key details>

Cleaning up prefix "." components main...

Publish for snapshot <name> [amd64] publishes <snapshot> has been successfully switched to new snapshot.
Connection to <host with aptly> closed.

I believe this is a bug, a tty shouldn't be required if user intervention is not needed

Hi,
I think passing the -batch=true option to the aptly command should fix this issue.

@michaelimfeld thanks, I think it should fix it... https://www.aptly.info/doc/aptly/publish/snapshot/

@michaelimfeld Thanks.
@smira - I now see it is properly documented in the URL you provided, thank you. I think it will also be useful to add it to the question regarding GPG signing automation in the FAQ, or even better, since aptly knows that I don't need user interaction since I passed the 'passphrase' flag, it could pass automatically pass the 'batch' flag to GPG.
Thanks again


update library to use latest 3rd party libraries

Hello,
I updated the library to use the latest library pieces.

I'm uncomfortable pointing libraries to dev-master.  Can we please lock it down to at least the minor semver level?

This should be all implemented in the 3 separate PR's attached to this PR.  Thanks for your time on this!  I just needed to make some different changes than what was requested.


Can't raise pull request for step 1

All,
I followed this link - https://www.carbondesignsystem.com/tutorial/react-step-1/ to setup and commit the files and try to create the pull request but I failed number of times. Only last step I'm failing.
Some time I'm facing permission denied problem
ERROR: Permission to carbon-design-system/carbon-tutorial.git denied to smanikandan-btech.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Thanks in advance.

I can't get pull request option in my repo. Please check below screenshot.

I tried in upstream repo also. same issue.

I have committed the codes from my local. Please check below screenshot.

Please, Please help me to move further. stuck in this from long time.
Thanks in advance.

My step 1 preview is here - https://goofy-kalam-ac9583.netlify.com/#/

Can anyone please help me on this?

Hey @smanikandan-btech. Could you please try to follow these steps:

Navigate to https://github.com/carbon-design-system/carbon-tutorial/pulls
Click on 'New Pull Request' green button
Click on 'compare across forks'
Select your fork as 'head repository'
Select the correct branches for 'base' and 'compare', e.g. 'react-step-1'.
Click on 'Create Pull Request'

Let me know if it worked for you.

Hi @ZrianinaMariia
Thank you very much for your reply. I have followed the above steps. But I'm not finding my repo name listed in the list. For clear explanation I have taken screenshot and attached with this comment. Please have a look.

My github url is - https://github.com/smanikandan-btech/carbon-tutorial

It appears that your repo was not created as a fork. Please start by following the steps here:
https://www.carbondesignsystem.com/tutorial/react/step-1#fork-clone-and-branch

Hi @kellychurchill, Thanks for your reply. It helped me to resolve the issue.
Regards,
Mani


Are EnqIO and DeqIO backwards?

I see that EnqIO is used on the output of Queue and vice-versa. Is this intentional? Chisel2 did not use EnqIO or DeqIO in Queue at all (as far as I can tell).
https://github.com/ucb-bar/chisel3/blob/3215df07a97b58babb1deb3fab0928198b1daad2/src/main/scala/chisel3/util/Decoupled.scala#L131-L146

I thought we were removing them altogether: https://github.com/ucb-bar/chisel3/pull/322

That would make even more sense. @ucbjrl, is there a reason #322 was reverted?

According to the commit comment:
"Update chisel-testers before commiting this change (deleting EnqIO/DeqIO)."

W.r.t. the apparent reversal of EnqIO/DeqIO, I believe I managed to convince myself that inside the Queue, they are inverse of what the client sees from outside (if that makes sense).

Ah, I see.  Removing them still strikes me as the right thing to do.  This conversation (and Stephen's decision to change them) is compelling evidence that they are confusing, because whether they are named correctly is context/orientation-dependent.  I don't know what the chisel-testers dependence was referring to, but hopefully that change is just a search and replace job.  @chick ?

When I first ran into them I had the same confusion as Albert. I'm inclined
to agree that they're more trouble than they're worth.
On Wed, Jan 11, 2017 at 6:22 PM Andrew Waterman<EMAIL_ADDRESS>wrote:

Ah, I see. Removing them still strikes me as the right thing to do. This
conversation (and Stephen's decision to change them) is compelling evidence
that they are confusing, because whether they are named correctly is
context/orientation-dependent. I don't know what the chisel-testers
dependence was referring to, but hopefully that change is just a search and
replace job. @chick https://github.com/chick ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ucb-bar/chisel3/issues/437#issuecomment-272048632,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIL84kSmyqbDfJ2jdDO1FHhM_ydEjKMkks5rRYBSgaJpZM4LhMpL
.

I started the replacement, then realized I was basically replacing EnqIO/DeqIO with EnqIO/DeqIO and gave up. There is obviously a use case for them. @chick and I will discuss the issue.

I think one source of confusion is the comment for ReadyValid:
/** An I/O Bundle containing 'valid' and 'ready' signals that handshake
  * the transfer of data stored in the 'bits' subfield.
  * The base protocol implied by the directionality is that the consumer
  * uses the flipped interface. Actual semantics of ready/valid are
  * enforced via use of concrete subclasses.
  */
abstract class ReadyValidIO[+T <: Data](gen: T) extends Bundle
{
  val ready = Input(Bool())
  val valid = Output(Bool())
  val bits  = Output(gen.chiselCloneType)
}

It sure looks to me that this interface is defined from the perspective of the consumer (bits are Output). I think the comment should be inverted:
  * The base protocol implied by the directionality is that the producer
  * uses the flipped interface. Actual semantics of ready/valid are

What? Wouldn't the consumer have the bits as input? For your Queue case your confusion may be justified, but ReadyValidIO and the comments seem just fine in the general case.
I was taught that interfaces should be conventionally defined in the "master" way, and "slave" uses flipped version. The current ReadyValidIO code and comments above seems consistent with that...

You are correct. My confusion stems from the fact that the interface is defined from the point of view of something the consumer can use (consume). So of course, something providing a ReadyValid interface for the consumer, must present bits as Output so the consumer can connect them to the appropriate Input in their circuit.
I retract my suggestion to invert the comment.

What about a comment along the lines of "the producer uses the interface as-is (outputs bits) while the consumer uses the flipped interface (input bits)" to fully clarify the confusion?

Solution: make Decoupled and queues use DecoupledIOs, and clean up everything that uses it like chisel-testers. Unlikely to break rocket-chip.


Bump CI go version to go 1.22

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-9.1%) to 24.662%

Totals

Change from base Build<PHONE_NUMBER>:
-9.1%

Covered Lines:
1568

Relevant Lines:
6358

💛  - Coveralls

We probably want to ensure that the Depfile and magefile reference the same versions

I'll put those changes in a separate PR


Reading table with Chinese / Latin characters mixed

I'm trying to read in a table which contains text which is two columns for each cell. Once in Mandarin and once in English. Reading the table with tabula results in really wonky rows / columns, with mostly empty cells. All Latin characters disappear completely, while it looks like the Chinese ones get converted to random UTF-8 characters (e.g. æç ãê ;éê äê åê åã}~ è¤LãçêS}~ë). Using the lattice option results in a better output, but all characters still come out as gibberish. I would try setting the character encoding to "GBK", but I need the English text as I do not speak Mandarin.
The offending pdf is this one here: http://www.hanban.edu.cn/report/pdf/2011_final.pdf (table on p. 51)
I'm using the current version of tabula (downloaded today) on Ubuntu 15.10. System locale is en_gb.
edit: it might be something wonky specifically with the pdf I linked. The other ones I tried afterwards seem to work great.

Are you using the Beta release or the current production release?
It worked great for me (with no weird encoding chores, in en_us) with the Beta release.
It's very likely that switching to the Beta would make it work correctly: we've made a dramatic update to the extraction engine -- it's now totally rewritten.
Let me know, happy to help more.

I am using the current production release (1.0.1). I'll give the Beta release a try tonight and tell you how it works later.

@mberneaud How'd it go?

Sorry for never replying, I just edited my post for some reason. I tried the beta release and it didn't change anything in terms of the recognizing the characters correctly. I think it might be something that is related specifically to that document, as tabula worked great on other pdfs which contained both Latin and Chinese characters. In any case, keep up the good work, tabula has been a great help for me.


Re-introduce support for sync clients

I started using this crate back in the 0.17 release (pre-async) and it is used in a heavily multi-threaded and UNIX signal-aware environment. For our use case, the synchronous crate works perfectly, but I'm aware that we are falling some way behind HEAD and worried that we are going to get left behind as the crate continues to evolve.
I've looked at introducing async support to our code and it's not trivial.
reqwest supports a "blocking" Client, so I hope it would be possible to use this to re-introduce sync support to kube-rs. Would you be interested in re-introducing sync support as a first class citizen?
I'm happy to work on providing/supporting an implementation but I would probably need some guidance/mentoring on feasibility/approach.

As an update, we did get rid of reqwest, which brings us a bit closer towards a sans-io possibility.
I did have a look at how reqwest was exposing its blocking client; it's using tokio and blocking on every await point, so it's possible a runtime selection and and manual thread spawning around it can help you, but it would still encapsulate a bunch of futures + async under the hood, so not sure if that's even helpful.
At any rate, I'm going to close this as there are no planned activity towards a sync, and it's possibly more of an application concern about what runtimes people want underneath, but a runtime requirement isn't going away.
As a follow-up, the work in #406 regarding a sans-io Client, might yield developments towards runtime agnosticity, but with the caveat that this is not really the main goal for us atm.


fix(hijack_netrw): netrw telescope-file-browser entanglement

problem: netrw may (or may not be) sourced before
telescope-file-browser configuration.
Therefore "FileExplorer" augroup may not
be cleared and not get set appropriately
solution: clear FileExplorer appropriately and
create new augroup for telescope-file-browser
closes #182
@qRoC could you please test whether it fixes the issue for you?

@fdschmidt93 it works now. Good job!


fix: LSDV-5400: Auto accept all annotations

This feature may be disabled in future.
And it definitely stops us from using very dynamic ML responses. For example choices may have problems with manual accept.
PR fulfills these requirements

[x] Commit message(s) and PR title follows the format [fix|feat|ci|chore|doc]: TICKET-ID: Short description of change made ex. fix: DEV-XXXX: Removed inconsistent code usage causing intermittent errors
[ ] Tests for the changes have been added/updated (for bug fixes/features)
[ ] Docs have been added/updated (for bug fixes/features)
[ ] Best efforts were made to ensure docs/code are concise and coherent (checked for spelling/grammatical errors, commented out code, debug logs etc.)
[ ] Self-reviewed and ran all changes on a local instance (for bug fixes/features)

Change has impacts in these area(s)
(check all that apply)

[ ] Product design
[ ] Frontend

Describe the reason for change
Choices not always appears after manual accept
What does this fix?
Auto accept any ML backend response with FF on
What libraries were added/updated?
none
Does this change affect performance?
nope
Does this change affect security?
nope
What alternative approaches were there?
fix desired tags ad-hoc, but that's harder and makes less sense.
What feature flags were used to cover this change?
fflag_feat_all_lsdv_e_294_llm_annotations_180723_long
Does this PR introduce a breaking change?
(check only one)

[x] Yes, and covered entirely by feature flag(s)
[ ] Yes, and covered partially by feature flag(s)
[ ] No
[ ] Not sure (briefly explain the situation below)

What level of testing was included in the change?
(check all that apply)

[ ] e2e
[ ] integration
[ ] unit

Which logical domain(s) does this change affect?
LLM, textarea, choices

Codecov Report
Patch coverage: 85.29% and no project coverage change.

Comparison is base (624dfac) 67.48% compared to head (6e1916a) 67.49%.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1505   +/-   ##
=======================================
  Coverage   67.48%   67.49%
=======================================
  Files         437      437
  Lines       27228    27246   +18
  Branches     7224     7235   +11
=======================================
+ Hits        18375    18389   +14
- Misses       7655     7657    +2
- Partials     1198     1200    +2

Impacted Files
Coverage Δ

src/common/TextArea/TextArea.tsx
1.49% <ø> (ø)

src/stores/Annotation/Annotation.js
75.04% <42.85%> (-0.31%)
:arrow_down:

src/tags/control/TextArea/TextArea.js
88.11% <87.50%> (-0.14%)
:arrow_down:

src/components/App/App.js
70.45% <100.00%> (ø)

src/components/HtxTextBox/HtxTextBox.js
92.10% <100.00%> (-0.11%)
:arrow_down:

src/mixins/Regions.js
75.59% <100.00%> (+1.00%)
:arrow_up:

src/stores/AppStore.js
58.13% <100.00%> (+0.13%)
:arrow_up:

src/tags/object/Paragraphs/HtxParagraphs.js
80.00% <100.00%> (+0.14%)
:arrow_up:

src/utils/feature-flags.ts
100.00% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Update Synergy_en_US.properties

Codecov Report

Merging #53 (960aa4e) into master (fa26bfe) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             master     #53   +/-   ##
========================================
  Coverage      1.21%   1.21%
  Complexity        4       4
========================================
  Files            14      14
  Lines           577     577
  Branches         46      46
========================================
  Hits              7       7
  Misses          569     569
  Partials          1       1

Continue to review full report at Codecov.

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


FR: Two new fields in the exported files

The "sgv" field is the most interesting field for most users, but it is a bit obscure. If the exported file could get two new fields (immediately to the right of the existing "sgv" field) with the following header/data:
"BG mg/dL" with the same data as the existing "sgv" field.
"BG mmol/L" with the data "sgv/18.018", rounded to 1 decimal.

I've added the processed variables, so they should now be available.


Bug: Lexical Table Plugin input type number in Modal for number of Rows and Columns get the editor unusable until we click outside of it.

Lexical version: Latest Version or previous versions
Steps To Reproduce

Change the Input type from text to number in the modal to insert rows or columns.
Insert a Table with any number of rows or columns.
Click on the up arrow in input type number , its incrementing recursively or decrement based on the arrow event until we click outside of it and its hanged.
This can be reproduced in lexical playground as well.

Link to code example:

The current behavior

After creation of Table first time , click on the input type number (by either keyboard Up or Down Arrow or Mouse Event Click Up or Down) the number increment or decrement continously firing until we click outside of it.

The expected behavior
Input type number should only increment or decrement by 1 or more based on user event not automatically.

I can't repro any issues with this input. It's just a simple React component with some basic local state. Either way, there's not much we need to do. The input works fine as a text input.

I am having the same problem where no table is rendered after I click on the insert table button.
I have to click on the placeholder first, after the cursor is displayed, then the insert table button can work.
https://user-images.githubusercontent.com/130023653/230266253-c45d7c07-5d54-46dc-a8d1-6500a96609f1.mov


Inaccurate Registration Fee

After connecting a wallet, the user is presented with the option to register an account. The listed fee is 0.0036 ETH. However, registration appears to be free for the time being.
Consider adding a notice to avoid confusion.

Updated. Thanks.


react-scripts start: module resolve error. tsc compiles without error.

Preamble
I've created a private scoped npm package and hosted it on github following this guide: https://help.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-npm-for-use-with-github-packages
Describe the bug
npm install @npm/package runs like a charm and the correct folders and files are in node_modules.
Then in code (typescript) I do the usual
include { nonDefaultExportedMember } from "@npm/package"

Now comes the weird part. Running npm start fails with
Failed to compile.

./src/components/component/URI.tsx
Module not found: Can't resolve '@npm/package' in '/Path/To/Component'

Seems like react-scripts start is trying to resolve my include in the same directory as the file for some reason.
However tsc runs without issues on the exact same code.
[09:26:08] Starting compilation in watch mode...

[09:26:16] Found 0 errors. Watching for file changes.

And in fact if I change the import statement to say:
include { nonDefaultExportedMember } from "/absolute/path/to/node_modules/package/index";

everything runs smoothly.
Did you try recovering your dependencies?
I have deleted node_modules and package-lock.json and rerun npm install many times (I don't use yarn)
$ npm --version
6.13.7

Which terms did you search for in User Guide?
Everything I could think of with any relevance.
Environment

Environment Info:

  System:
    OS: Linux 5.5 Manjaro Linux
    CPU: (6) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
  Binaries:
    Node: 13.9.0 - /usr/bin/node
    Yarn: Not Found
    npm: 6.13.7 - /usr/bin/npm
  Browsers:
    Chrome: Not Found
    Firefox: 73.0.1
  npmPackages:
    react: ^16.12.0 => 16.12.0
    react-dom: ^16.12.0 => 16.12.0
    react-scripts: ^3.4.0 => 3.4.0
  npmGlobalPackages:
    create-react-app: Not Found

I noticed something weird. Output above does not mention @npm/package.
And create-react-app is in path. Don't get why it says "Not Found". Maybe I misunderstand the meaning of the output though.
Steps to reproduce

Create npm package using: https://help.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-npm-for-use-with-github-packages
create-react-app --typescript
npm install the package from step 1. to your project
import it using import { exportedMember } from "@npm/package"
run npm start

Now you should see the error. But if you try using tsc. There's no error.
Expected behavior
Project should compile successfully.
Actual behavior
Error is shown in terminal and build failed. Looks like CRA is trying to resolve the npm package in same directory as the file with the import statement.
(Write what happened. Please add screenshots!)
Reproducible demo
Can't really create a reproducable demo as there's a price to host public packages on Github. And i'm not comfortable sharing my Token.
Thanks in advance for any help you can give.

I found the issue myself. Human error.
If anyone else reads this my error was that my package.json pointed to a non-existing file with the main option.
"main": "wrong/path.js"

I was kind of surprised that npm publish didn't catch it. But that's a different issue all together.
Sorry if I've waisted anyones time.


🔀 (#117) 유저, 관리자 인증 분리

Codecov Report

Merging #118 (3074e69) into develop (dfc0f07) will decrease coverage by 2.15%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             develop     #118      +/-   ##
=============================================
- Coverage      40.83%   38.67%   -2.16%
  Complexity        84       84
=============================================
  Files             49       51       +2
  Lines            502      530      +28
  Branches          20       24       +4
=============================================
  Hits             205      205
- Misses           287      315      +28
  Partials          10       10

Impacted Files
Coverage Δ

...om/semicolon/gspass/security/JwtTokenProvider.java
0.00% <0.00%> (ø)

...micolon/gspass/security/config/SecurityConfig.java
0.00% <0.00%> (ø)

...on/gspass/security/config/TeacherJwtConfigure.java
0.00% <0.00%> (ø)

...colon/gspass/security/config/UserJwtConfigure.java
0.00% <0.00%> (ø)

...lon/gspass/security/filter/TeacherTokenFilter.java
0.00% <0.00%> (ø)

...icolon/gspass/security/filter/UserTokenFilter.java
0.00% <0.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 dfc0f07...3074e69. Read the comment docs.


LuckyRouter::Matcher(T)#duplicate_check should reveal more information

LuckyRouter::Matcher(T)#duplicate_check says that there is a duplicate route, but doesn't say anything about the route that was already defined. One would expect that the action it points to is known, and this would give the user a clue. Of course, this error prevents lucky routes from printing the route table.

One of the issues with printing the duplicate and the existing route is that we don't store that existing route as it was entered, it was normalized and could be different. I think we just update the storage to be a hash or something so that we can do the lookup with the normalized route but get the original.

@matthewmcgarvey I find the information printed by lucky routes to be adequate, wouldn't this also come from normalized data?

I believe Lucky stores routes in it's own data structure outside of LuckyRouter. The "normalized" routes was only just added for the duplicate checks. It could be an opportunity to remove that duplication, though.


Demux merge

We want to be able to do what we call a "demux merge".
Take N splits, and emit N splits but partitioned along a given fast field , typically a tenant id.

Closing as duplicate of #358


Add random colors

Also:

Use arc4random_uniform() instead of arc4random() (see https://stackoverflow.com/a/17640956/983912)
Bump package to iOS 9 to remove Xcode 12 warning (Xcode 12 supports minimum iOS target of 9.0)

Closes #4

Ping

Ping

Pong


Checkbox default checked not saving to DB

Checkbox default values set to '1' are not saved to DB. Only those values are saved that have been manipulated through the interface (the checked or unchecked ones). Tested on 1.0.0-beta1 and 1.0.2.
Example: I have 3 fields with the settings-slugs 'one', 'two', 'three', beeing the default value of 'three' = '1' and beeing it in the interface correctly pre-checked (and it’s value beeing 1): when I check “one” through the interface the value saved to the DB should be at least:
{
    one => 1,
    three => 1
}

if not:
{
    one => 1,
    two => 0,
    three = 1
}

but instead you get:
{
    one => 1
}

If I further check and then un-check “two” you get:
{
    one => 1
    two => 0
}

Thanks for looking into it!

The example shows obviously the case saving the values all to one option array.

I'm afraid I don't quite understand what you mean...
Default states are NOT saved in the db. EVER. Not just on Kirki but in the WordPress customizer in general!

Oh, well knowing that this is the expected behaviour, I can deal with it, thanks!

Yeah, sorry I should have explained this better in the docs I guess.
The customizer only saves settings that are modified.
That's why the get_option and get_theme_mod functions both have a "default value" argument.
So if you're using options then in order to properly get the value you should not do this:
<?php $value = get_option( 'my_setting' ); ?>

but instead you should do this:
<?php $value = get_option( 'my_setting', 'default_value' ); ?>

Same thing goes if you're using theme_mods:
<?php
// BAD
$value = get_theme_mod( 'my_setting' );
// GOOD
$value = get_theme_mod( 'my_setting, 'default_value' );
?>


Merge CleoDev into Main

Added identify selection and new embed formatting

Reverted role id change in config to keep fewer changes on it. If we keep committing changes to it we'll be trapped in a back-and-forth.
I understand that this favors me, and I think that maybe the way the id's in dev config are stored should be changed.
Maybe:

Have a big block in the env
Do something like

const guildConfigs = {
  '1234567890' = { // elise server id
    guildId: ...
    channels: {
      ...
    }
    roles: {
      ...
    }
  }
  '0987654321' = { // cleo
    ...
  }
};
Object.assign(config, guildConfigs[/* current environment */]);

This doesn't completely solve the problem but it sure does something

Or something else idk

buildPromptSelectComponents: now returns an array to be consistent with other methods in file
preStartVerification select menu: interaction.values.join(' ') changed to interaction.values[0] since the callees aren't expecting multiple concatenated values
questions.js: renamed some things

https://airbnb.io/javascript/#naming--descriptive
questionsObject was, in fact, an array

added documentation to and renamed 'type' to promptCategory, hope this is more descriptive of your purpose for it


deferring

Hello,
I'm a bit confused between the documentation and https://photography.tutsplus.com/tutorials/who-needs-amp-how-to-lazy-load-responsive-images-quick-and-easy-with-layzr--cms-27221 .
1/ Are image height's required?
2/ I changed some images src to data-normal (and added width/height attributes to be on the safe side), I changed my instantiation code to be :
/* eslint-disable */
// if the DOM is ready, create Layzr instance
if(document.readyState === 'interactive' || document.readyState === 'complete') {
  // create instance
  const instance = Layzr()

  // ...
}
// otherwise, wait for it to be ready
else {
  document.addEventListener('DOMContentLoaded', event => {
    // create instance
    const instance = Layzr()

    // ...
  })
}

The script is loaded in a bundle (browserify) which is loaded with defer
nothing happens.. (no console errors) Here's the HTML.

@gkatsanos i didn't write the article, so I can't speak to how exactly Layzr should be used with AMP.
but, to answer your questions:

image heights are not required (keep in mind though that without the images loaded, the height of your page might be different if they're positioned statically)
check the basic example, and make sure you're calling update, check, and handlers after you've instantiated Layzr.

throw some console logs in your if/else - make sure the images are in the DOM when Layzr is doing its work. it's possible the images are being added by other JS after the DOM is ready - especially if your markup is being injected by a JS view library

So, it appears I was missing
  instance
    .update()           // track initial elements
    .check()            // check initial elements
    .handlers(true);     // bind scroll and resize handlers

so, overall what worked:
document.addEventListener('DOMContentLoaded', event => {
  // create instance
  const instance = Layzr();
  instance
    .update()           // track initial elements
    .check()            // check initial elements
    .handlers(true);     // bind scroll and resize handlers
  // ...
});

Suggestion: could you add the update/check/handlers(true) methods (as well as the note for waiting DOMContentLoaded event - almost everyone is using async or defer to load their scripts nowadays) in the main documentation? As it stands one is left to believe that you only need   const instance = Layzr(); and things just work..

@gkatsanos glad that fixed your issue - great point about the documentation.  it's unclear in the instantiation section that there are additional steps required for the library to run.  i'll update it when I get a moment.


Match sap-ui-core.js in Karma tests

Karma test runner adds a hash to the URL for cache busting. When this is done OpenUI5 doesn't detect the sap-ui-core.js file anymore and tests cannot be executed. This is fixed with this change.
See discussion in karma-openui5 repository.
Fixes: https://github.com/SAP/karma-openui5/issues/3

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Added possibility to use binary field type for uuid in DBALEventStore

Two comments, but overall I like this. :+1:

@asm89 I fixed the array issue, I added a new binary test id to an overridden data provider in the new TestCase. If you'd pass a binary UUID it's stored as binary, but you'd get a converted readable UUID string back when using load($id).

I like this as well :-)

ping @wjzijderveld @asm89 :)

Thanks @tPl0ch  :+1:


Request silent/quiet mode

As title mentions, silent/quiet mode would be great.

@kapilt @JAizen - how quiet is quiet?  Should errors print?  Or swallow everything?

@scotwk personally, shallowing everything would be ideal.

@JAizen - see my comment in PR #1219 and let me know if you have thoughts or suggestions

merged to trunk


make price server go down on SIGTERM/SIGKILL signal

currently when doing a make reset-e2e from the main galoy repo. the price server always ~10.5 sec to wind down. I'm assuming it's because the server doesn't react to the signal sent to the server, and Docker kills it after 10 sec

@nicolasburtey Did #38 fix this issue?


plan_transform for every space

I can think of some ways to use this in 2D. For instance, all the transform! routines in the TensorSpace.jl file could be planned, since they're all the same size. Also, it might be useful for the low rank constructor.

transform! vs transform should also be unified.

The main goal of this issue was to expose FFTW's plans. Having the package function plan_transform allows for the following speed-up in 2D transforms:
julia> using ApproxFun # On an old branch

julia> M = rand(500,500)+im*rand(500,500);

julia> @time ApproxFun.transform!(Chebyshev()⊗Laurent(),M);
elapsed time: 0.122417776 seconds (41246408 bytes allocated, 35.85% gc time) # best time out of 5

julia> using ApproxFun # On development/master

julia> M = rand(500,500)+im*rand(500,500);

julia> @time ApproxFun.transform!(Chebyshev()⊗Laurent(),M);
elapsed time: 0.027798852 seconds (35493304 bytes allocated) # best time out of 5

Access to this new function allows many Funs to be constructed in the same space and the same length by planning once and taking values to coefficients with the same plan. For another non-trivial speed-up, see here.
Plans don't have to be FFTW functions. In fact, for orthogonal polynomials the plan_transform just precomputes nodes and weights of the Gauss quadrature rule for the Vandermonde matrix (unless faster algorithms are implemented).
Some of the more exotic spaces don't have plans yet, but this is at the point of diminishing returns. How to close?

I think this is done.


language parameter for Spanish holidays not functioning as expected

My goal is to find the English text equivalent of holidays in Spain. So I ran the following script:
sorted(holidays.ES(years=2023, language='en').items())
But it returned only holidays in Spanish:
[(datetime.date(2023, 1, 6), 'Epifanía del Señor'),
 (datetime.date(2023, 4, 6), 'Jueves Santo'),
 (datetime.date(2023, 4, 7), 'Viernes Santo'),
 (datetime.date(2023, 5, 1), 'Día del Trabajador'),
 (datetime.date(2023, 8, 15), 'Asunción de la Virgen'),
 (datetime.date(2023, 10, 12), 'Día de la Hispanidad'),
 (datetime.date(2023, 11, 1), 'Todos los Santos'),
 (datetime.date(2023, 12, 6), 'Día de la Constitución Española'),
 (datetime.date(2023, 12, 8), 'La Inmaculada Concepción'),
 (datetime.date(2023, 12, 25), 'Navidad')]

I also tried:
sorted(holidays.ES(years=2023, language='en_US').items())
and
sorted(holidays.utils.country_holidays(country, years=2023, language='en_US').items())
But it still outputs the Spanish holiday names.
I tested this on Japan and other countries, and they work find and return the English values. I also checked the repository and noticed that the LC values for en_US are present, so was not sure exactly where the issue is coming from.

I can confirm both methods worked fine for me.
A couple of questions to tackle this:

what's your PH version?
what's your system locale?

Found out the bug was on my end. Running Python 3.7.7 and my company was limiting the holidays instance to 0.27.1 instead of the latest version at 0.43.
Resolved it by switching to a Python 3.9 instance and also enforcing install of the latest holidays module


Feature Request: Restarting generation after device wakes up

The generation stops as soon as the device sleeps and does not restart after it wakes up. It would be great to have a auto resume generation feature when device wakes up.

I'm not entirely sure if this is technically possible, my gut feeling tells me it isn't possible but will need to investigate.

I had a simple algorithm in mind, not sure about the feasibility of this:

For every result from the ollama generation api, save the last value.
When the process wakes up (I didn't give this one a lot of thought), use the stored value to pass the context (context parameter in this doc).
To make sure the stored context is not used for a fresh prompt, after every successful completion of generation (or forceful stopping of generation by the user), this saved context can be deleted.

What are your thoughts?

Right now, when you stop/cancel a completion at any time before it finishes, the incomplete completion is removed from the session and we reset the prompt so you can send it again.
Not gonna lie, I'm not a huge fan of this behavior. I'd personally prefer to keep the half-finished completion in the session and be able to edit it (or re-send my earlier prompt).
If we were to implement the change as I described it, where half-completions get saved, then if your device goes to sleep we could theoretically keep what was completed up to that point.
When your device wakes up we could allow you to ask the LLM to re-trigger the last sent prompt (maybe specifying the same seed) so you'll get the exact same answer you were getting before your device went to sleep. But in that case it will still be re-generating the completion from scratch.
I guess it would be possible to add a special type of prompt trigger where we ask the LLM to continue where it left of, so it doesn't have to write everything from scratch, but that's probably not a trivial change.


improvement(merge-tree): Use recommended eslint config

Updates the eslint config from minimal-deprecated to recommended, and addresses the resulting violations.
AB#3014

feel free to address all my comments in a follow-up PR. I don't really want to look at this again and it'll be easier to audit that way anyway.


[$1000] Deleting thread replies showing thread title for a while

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open a chat
Send a message to the user
Clicked on "Reply in thread" and reply 2,3 on the thread
Edit Thread title/message
Now delete the last thread reply one by one

Expected Result:
Deleting thread replies message should not displayed thread title for a while
Actual Result:
Deleting thread replies showing thread title for a while
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/4c858c64-9518-44d3-b27f-f6e21c02c741
https://github.com/Expensify/App/assets/43996225/ea3ed220-04c9-49a5-bb47-c09ccb9d1c31
Expensify/Expensify Issue URL:
Issue reported by: @ayazhussain79
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1684358266982189
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0134fe88a3ecfbf83e
Upwork Job ID:<PHONE_NUMBER>114233344
Last Price Increase: 2023-05-23

I am OOO so I will re-assign this

Apologies for the delay in reviewing, I've been at EC3.

@techievivek and @0xmiroslav - Can you both check these other GH and see if you agree that all three GHs have the same root cause?
If they have the same root cause then should we merge these three into one GH?
@allroundexperts has posted a proposal that solves all three in one.
Context here for Vivek.

@techievivek and @0xmiroslav just a friendly bump in regards to Sheena's message above!
Can you address that please?

Sorry for the delay in reviewing(I was ooo in the last few days), the root cause for both issues appears to be similar and happens only when the thread title gets updated( if we look at the above proposal @allroundexperts has mentioned that this happens only when we first update the thread report title and then make changes to the thread messages). And the fix for both issues also seems to be similar so I suggest we merge this with the other issue.

Not overdue. @strepanier03 @abekkala I have shared my thoughts above in the comment, and I think we should just merge all the issue into one.

Yeah, let's get these merged.
@strepanier03 you mentioned

should we merge these three into one GH?

But only listed two: this one (https://github.com/Expensify/App/issues/19352)  and then yours #https://github.com/Expensify/App/issues/19348
Is there another one? Should we just use the first one created for moving forward?

@abekkala  I think we can use https://github.com/Expensify/App/issues/19348 (I think its the first one). We also completed C+ review there - https://github.com/Expensify/App/issues/19348

Yes, that one is the first one so we can use that one moving forward.

I hired @allroundexperts in https://github.com/Expensify/App/issues/19348, so I think we can go ahead and close this one out


Feature request: Combining wavemaps expressed in different reference frames

Hi @victorreijgwart!
Thank you for this great library, we have been testing it with the output of the lidar mounted on our quadruped robot and we are very happy with the results :)
However, there is a small functionality that we think is missing and would probably be very helpful for other projects too.
Context
Currently, our mapping pipeline has two main components:

an odometry module that takes in lidar measurements and outputs the estimated pose for each new scan (after point cloud processing and fusion with other sensor modalities), and
a mapping module that takes in the odometry estimation and refines it with loop closures and absolute pose measurements.

Being (very) conservative, the drift of our odometry output is negligible for travelled distances of 15-20 m. However, loop closures do improve the global map in our typical operations (with distances in the order of hundreds of meters or kilometers).
Our goal is to obtain a consistent global map that can be consumed by downstream navigation applications. We think that the way forward would be to create a set of submaps referenced to the poses in our SLAM graph and to combine them all together at the end of the mapping session using the final optimized SLAM poses.
Requested feature
In order to combine submaps referenced wrt different frames, we would need to

project all the submaps to world frame, and
combine their information.

This could be something like:
Map combineSubmaps(const MapWithPose& map1, const MapWithPose& map2)
{
  return map1.transformToGlobalFrame() + map2.transformToGlobalFrame();
}

So we would need to implement:

A sort of MapWithPose class that has the pose of the map in world frame and a function like transformToGlobalFrame.
A + operator that combines maps expressed in the same reference frame.

Please let me know what you think of this approach, especially if there are some steps you would do differently.
I'd be happy to work on it myself but I'm sure that some assistance from your side would save me a good amount of time and pain :)
So if you could provide me with some pointers to relevant classes and a brief outline of how you would do it I'd really appreciate it!
Cheers,
Miguel

Hi @miguelcastillon,
I'm glad to hear you're happy with the results of wavemap! The functionality you described sounds good, and I also think it would be helpful for other users. In general, the ability to transform and combine maps is a feature that would be very good to have.
To represent a submap with an associated pose, you could use wavemap's PosedObject class. It's possible to use it directly by passing the map data structure of your choice as a template parameter (e.g. PosedObject<HashedWaveletOctree>), but you could also extend it by creating a derived class. A concrete example where we do this is the PosedPointcloud class. This option would allow you to use an object-oriented syntax like the map1.transformToGlobalFrame() you suggested.
The transformToGlobalFrame functionality can probably be implemented quite concisely, but it would touch on many different aspects of the framework. It should be possible to apply the transformation very efficiently by exploiting the map's sparsity, but this is a bit trickier to implement. If it's not too urgent from your side, I could help implement it myself towards the end of this month, as this would probably save you some time. Otherwise, I could share some suggestions of how I'd approach the problem and what tools are already available.
Merging submaps by summing them, or more generally by applying any linear combination, should be very straightforward to implement. The only necessary steps would be to traverse both input data structures, apply the linear combination to their wavelet coefficients, and save the result in an output (sub)map.
Let me know if it works for you if we start working on transformToGlobalFrame toward the end of this month, or if you would already like to start earlier. Also don't hesitate if you have any questions :)

Thank you for the info! Yes, waiting until the end of the month is fine for me and will probably be much more efficient, so just ping me when you have more time :)

Great, I'll do that.

Hi Miguel,
This looks great!
For the input handlers, I think your current solution is actually the safest and cleanest option. I'd expect the input handlers to be relatively cheap to rebuild (we can double-check this with Tracy profiler), and doing it this way eliminates potential bookkeeping errors. For example, the HashedWaveletIntegrator stores a HashedWaveletOctree::Ptr while its base class already stores a MapBase::Ptr -- updating one while forgetting the other would cause some hard-to-find bugs.
For the frame conversions, the code you suggested above looks like a great starting point and might already be good enough to get a full prototype system to run :) You could perform the frame transformation using something like this:
  HashedWaveletOctree::Ptr combineSubmaps(
      const std::vector<VolumetricDataStructureBase::Ptr>& submaps) {
    HashedWaveletOctreeConfig config;  // fill with desired params
    HashedWaveletOctree::Ptr map(new HashedWaveletOctree(config));
    for (const auto& submap : submaps) {
      const Transformation3D T_W_S = submap.getPose();
      const FloatingPoint cell_width = submap.getMinCellWidth();
      const FloatingPoint cell_width_inv = 1.f / cell_width;
      submap->forEachLeaf(
          [&map, &T_W_S, cell_width, cell_width_inv](
              const OctreeIndex& node_index, FloatingPoint value) {
            const auto S_min_corner =
                convert::nodeIndexToMinCornerIndex(node_index);
            const auto S_max_corner =
                convert::nodeIndexToMaxCornerIndex(node_index);
            for (const auto& S_index : Grid<3>(S_min_corner, S_max_corner)) {
              const Point3D S_cell =
                  convert::indexToCenterPoint(S_index, cell_width);
              const Point3D W_cell = T_W_S * S_cell;
              const Index3D W_index =
                  convert::pointToNearestIndex(W_cell, cell_width_inv);
              map->addToCellValue(index, value);
            }
          });
    }
    map->prune();
    return map;
  }

It'd be possible to get it to run faster by exploiting the sparsity of the free space, and aliasing artifacts could be reduced by linearly interpolating into the new grid (instead of using a single nearest neighbor as above). It's usually easiest to implement this interpolation by iterating over a grid in the destination map frame instead of in the source frame. I was planning to do this by wrapping the interpolate::trilinear helper around the QueryAccelerator.
Best wishes,
Victor

Hi Victor,

For the input handlers, I think your current solution is actually the safest and cleanest option.

Great!

You could perform the frame transformation using something like this:

Perfect, this is indeed already enough to have a first prototype running. The results are good but I do have observed some inconsistencies in the combined global map, which probably come from my side. I'll debug it further.

It'd be possible to get it to run faster by exploiting the sparsity of the free space, and aliasing artifacts could be reduced by linearly interpolating into the new grid

Great, I'll look into that.
Thank you,
Miguel

Hi @miguelcastillon,
We recently implemented a map transformation method as part of a broader effort to add map editing tools, and I thought it could be useful to you. The method uses trilinear interpolation to avoid aliasing and supports multithreading for better performance. You can find the implementation here and a usage example here.
We intend to include the method in an upcoming release along with a method to sum (or merge) maps together. In case you have any feedback, let me know.
Best wishes,
Victor

Quick update: map merging is now also supported. The method is available here together with corresponding C++ and Python examples.

Thank you very much Victor, these are great news!
We have unfortunately been too busy with another project so we haven't moved forward much on this. I hope that this will change soon and I'll be able to go back to it. I'll get back to you as soon as I have some results.
Please feel free to close this issue if you consider it done.
Happy holidays!


Thanks

Thank you for the info
https://ldijkman.github.io/async-esp-fs-webserver/
video of improv test
https://youtu.be/14cINXIzMI8

Thank you very much for your examples
https://youtu.be/tgL_leDr7Ls

Glad to see it worked!


new plugin signature

Head's up. Nushell 0.75.1 just landed some enhancements for plugins.

We need to use PluginSignature vs Signature and use nu_protocol::PluginSignature
We need to use PluginExample if you want examples in your plugin

This is an example of how I've used this in a plugin I'm working on called nu_plugin_dbg
    fn signature(&self) -> Vec<PluginSignature> {
        vec![PluginSignature::build("dbg")
            .usage("View dbg results")
            .category(Category::Experimental)
            .plugin_examples(vec![PluginExample {
                description: "View dbg results in a pipeline".into(),
                example: "ls | dbg | get name | dbg".into(),
                result: None,
            }])]
    }

Brilliant, thank you for the heads up - will update from this end :)


Some configuration options for gnome not working

Describe the bug
Some options for gnome configuration don't work.
I have disabled xterm and excluded gnome-software in my configuration but it is still installed in my system.
config I am using
  environment = {
    systemPackages = with pkgs; [
      gnome3.gnome-tweaks
    ];
    # Exclude some gnome packages
    gnome3.excludePackages = with pkgs; [
      gnome3.gnome-music
      gnome3.gnome-contacts
      gnome3.gnome-maps
      gnome3.totem
      gnome3.yelp
      gnome3.epiphany
      gnome3.eog
      gnome3.gedit
      gnome3.geary
      gnome3.gnome-software
      gnome-photos
    ];
  };

  qt5.platformTheme = "gnome";
  programs.dconf.enable = true;
  services.flatpak.enable = true;
  xdg.portal.enable = true;
  xdg.portal.gtkUsePortal = true;
  xdg.portal.extraPortals = with pkgs; [
    xdg-desktop-portal-gtk
    xdg-desktop-portal-wlr
  ];

Xterm shouldn't be installed if it is disabled. If gnome-software is installed by default for flatpak then I think that it should be an option and shouldn't override gnome3.excludePackages.
~
❯ whereis xterm
xterm: /nix/store/l1y7gc8gjj1h56k16zb7xpxx0q88bzjp-system-path/bin/xterm

~
❯ whereis gnome-software
gnome-software: /nix/store/l1y7gc8gjj1h56k16zb7xpxx0q88bzjp-system-path/bin/gnome-software

Notify maintainers
@jtojnar
@worldofpeace
@vcunat
@r-ryantm
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

system: "x86_64-linux"
host os: Linux 5.10.7, NixOS, 21.03.20210117.68398d2 (Okapi)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.4pre20201205_a5d85d0
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Maintainer information:
# a list of nixpkgs attributes affected by the problem
xterm
gnome-software
attribute:
# a list of nixos modules affected by the problem
module:
services.xserver.desktopManager.xterm.enable
environment.gnome3.excludePackages

GNOME Software is actually installed by Flatpak module (introduced in https://github.com/NixOS/nixpkgs/pull/101516) so excludePackages does not handle it. Maybe it should.
Do not see services.xserver.desktopManager.xterm.enable in your config, maybe double check it is disabled using nixos-option program. Either way, it should be unrelated to GNOME.

GNOME Software is actually installed by Flatpak module (introduced in https://github.com/NixOS/nixpkgs/pull/101516) so excludePackages does not handle it. Maybe it should.
Do not see services.xserver.desktopManager.xterm.enable in your config, maybe double check it is disabled using nixos-option program. Either way, it should be unrelated to GNOME.

I have enabled it, sorry didn't post the snippet.
    xserver = {
      enable = true;
      layout = "us"; # keyboard layout
      desktopManager = {
        gnome3.enable = true;
        xterm.enable = false;
      };
    }

I have enabled it, sorry didn't post the snippet.
    xserver = {
      enable = true;
      layout = "us"; # keyboard layout
      desktopManager = {
        gnome3.enable = true;
        xterm.enable = false;
      };
    }

GNOME Software consumes a lot of memory even if it is not launched and is quite slow also there are alternatives that are being worked like Souk. So people in future might want to switch the gui for flatpak. If handling by exclude package doesn't look like a good solution then adding a module for flatpak to choose to install the software center would be better.

GNOME Software consumes a lot of memory even if it is not launched and is quite slow also there are alternatives that are being worked like Souk. So people in future might want to switch the gui for flatpak. If handling by exclude package doesn't look like a good solution then adding a module for flatpak to choose to install the software center would be better.

I used this  services.flatpak.guiPackages = lib.mkForce []; # don't install gnome-software. Maybe just add the documentation for this option since it is not present in man configuration.nix.


Migrated to flutter_map v5

Closes #69.
Note that this package's version has not been bumped.

Because the version was not bumped, pub get is not getting the updated code.