Fixed: If you close the keyboard using native back button then it will keep reopening while selecting the contacts

Details
Fixed the keyboard getting reopened every time that was caused by wrong use of setSelection
Fixed Issues
$ https://github.com/Expensify/App/issues/11094
PROPOSAL: https://github.com/Expensify/App/issues/11094#issuecomment-1328120448
Tests

Login to any account
Click the green cirlce (+)
Click on New Group
Focus on the input (if it's not focused already)
Verify that the keyboard is open (if applicable)
Select any contact
Verify that the contact got selected and the keyboard is still open
Close the keyboard
Select any other contact
Verify that the contact got selected and the keyboard is still closed

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

Offline tests
Not Applicable
QA Steps

Login to any account
Click the green cirlce (+)
Click on New Group
Focus on the input (if it's not focused already)
Verify that the keyboard is open (if applicable)
Select any contact
Verify that contact got selected and that the keyboard is still open
Close the keyboard
Select any other contact
Verify that contact got selected and that the keyboard is still closed

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

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 the expected offline behavior in the Offline steps 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 tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[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 adding the Waiting for Copy label for a copy review 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] I verified that if a function's arguments changed that all usages have also been updated correctly
[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] 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 reviewer 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 expected offline behavior are in the Offline steps 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 tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos 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

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] 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 adding the Waiting for Copy label for a copy review 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
[ ] I verified that if a function's arguments changed that all usages have also been updated correctly
[ ] 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 */
[ ] 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.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/16493223/204378210-13b99229-d6cd-4185-a1b1-cf6150a389fd.mp4

Mobile Web - Chrome
https://user-images.githubusercontent.com/16493223/204378234-d380d441-b5c5-4d92-ba6d-ea72d63db4ab.mp4

Mobile Web - Safari
https://user-images.githubusercontent.com/16493223/204378263-fc0c35a6-f32a-4e10-9d02-371b895600df.mp4

Desktop
https://user-images.githubusercontent.com/16493223/204378290-70e26570-21f1-448c-adf4-d68c46238e85.mp4

iOS
https://user-images.githubusercontent.com/16493223/204378342-a5255fb6-3f02-43d2-9f4c-ce89aac330b5.mp4

Android
https://user-images.githubusercontent.com/16493223/204378371-ac0f052a-6846-4c11-8a00-a4f881d660cd.mp4

Notes
It has been decided not to support Mobile Web - Chrome for now, the tests listed above does not have to apply on this case.
This has been discussed here https://github.com/Expensify/App/issues/11094

Reviewer Checklist

[ ] 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 included screenshots or videos 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

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] 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 adding the Waiting for Copy label for a copy review 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 */
[ ] 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.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

All yours @mananjadhav

@s77rt I am a bit confused with your mWeb Chrome video and the test steps. The expected output (and test step  says) is  the keyboard shouldn't reopen while selecting the contacts. But in your video and my test it keeps reopening.
https://user-images.githubusercontent.com/3069065/204609868-ab50b94a-e51b-4332-957e-64a0a462e585.mov

I did read the notes part @s77rt, but can we link this specific comment here to land directly on the comment instead of searching in the issue?

Reviewer Checklist

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

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] 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)
[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 checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

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

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (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 adding the Waiting for Copy label for a copy review 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 verified that this PR follows the guidelines as stated in the Review Guidelines
[x] 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)
[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] 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 reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/3069065/204605251-6ff98b28-f715-468c-bde2-669be1b79ab3.mov

Mobile Web - Chrome
https://user-images.githubusercontent.com/3069065/204612675-a86e971c-ff95-4098-b9b1-da034dc3f85e.mov

Mobile Web - Safari
https://user-images.githubusercontent.com/3069065/204605533-de524f12-c65d-4698-8572-dc99422c48f8.mov

Desktop
https://user-images.githubusercontent.com/3069065/204605709-4fa1c41a-0dc1-444b-acf6-aa78043f8988.mov

iOS
https://user-images.githubusercontent.com/3069065/204605986-41c80eb6-f291-4912-bb2f-cb009a28b4ac.mov

Android
https://user-images.githubusercontent.com/3069065/204612765-08bf0380-9352-4675-844a-38ef796882ef.mov

All done. Thanks @s77rt for the quick PR. @tgolen We're good to merge here.

I did read the notes part @s77rt, but can we link this specific comment here to land directly on the comment instead of searching in the issue?

Yeah seems better. Updated

🚀 Deployed to staging by @tgolen in version: 1.2.35-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Ref issue #10495: Viewer overlaps right click menu fixed.

changed the orientation of the menu to appear horizontally.

As @1ec5 explained above, this simple approach is not going to properly fix #10495. @FrankOHara43: if you're interested in giving a proper try to fix this, here's some pointers to get you started:

currently, the edit menu (uiEditMenu) is attached to the html div supersurface (context.map().supersurface.call(_editMenu))
this is the container of the "map" in iD (background tiles and map features).
most other map UI elements (street level image viewer, info panels, control panels, etc.) are attached to the over-map div
it might make sense to attach to the over-map instead of the map directly, then it can be properly ordered to be displayed on top of the clashing UI elements
when doing so, there are some corner cases to consider: for example, the over-map div does currently not extend to the top of the page, so any absolute positioning will be slightly off when using mouse coordinates relative to the absolutely positioned map div

Let us know, if you're interested in working on this. :blush:  For now however, I'm going to close this PR for now, because it's not really in a state that can be considered to be merged.


Is there a way to get less latency out of it?

I have to admit, that current latency is really good - but while playing guitar and put effects on it (also without effects), you can definitely hear the latency. Is there kind of a buffer size property or do we have to wait for better browsers?

There's a great article by @padenot about various audio nodes' latency and performance. Generally, latency is going to vary across OSes and there's not a whole lot which is configurable at the moment, though they are adding some user configurable settings in the Web Audio specification.


Can't progress after creating caster focus

Normally, when I complete an objective, I can click a complete button in the Thaumonomicon, and move on- but i can't do that here. i've created the casting focus but there's no complete button.

Same, basic Thamaturgy is only just out of our reach.
This bunch have the same problem #284


Use command line flags to set the location of the database

It should be possible to configure the path to the {router,broker,handler}_storage.db files.

See also #51

Now each storage expects a database name as an argument in their constructor. We just need the bridge between the instantiation and the cli flags.

Starting in branch issue/43-db-flag.

Fixed in 281175e


feat: configuring logger level and release via environment variables,…

Configuring logger level and release via environment variables
Deprecated node.js < 18.12.0
Fix #132

Tested it by cloning the branch and building it, then npm i -g . and ran SHELLCHECKJS_LOGGER_LEVEL=off shellcheck --help, logs were suppressed as expected.

Need to run prettier :)

@silverwind Done. I'll release this weekend


RFC to rewrite language family

Readable
Signed-off-by: Timothy Hitchener<EMAIL_ADDRESS>Signed-off-by: Sophie Wigmore<EMAIL_ADDRESS>

@thitch97 @sophiewigmore thanks for putting this together, this looks awesome! Couple comments/thoughts:

Procfile ID in the order groupings should be paketo-buildpacks/procfile instead of paketo-community/procfile

without the need for the requirements.txt workaround we currently do ...

This reads a little confusing (I initially thought this meant that users cannot use a requirements.txt)

Basic Python start command

Could we add an example here? e.g docker run -it python-image "run.py"
I'm assuming that this would error out without user provided args. Is that correct?

I was looking around pipenv issues and found this, thought it might be interesting/helpful.

Looks good to me!

Looks good to me!


rule-parser: Regression with match() function ((unknown path) TypeError: arr.map is not a function), exit code 60

Describe the bug
Since 12/30/22 at 12:49pm CST the gitStream action has consistently failed with the following error message: (unknown path) TypeError: arr.map is not a function using a .cm config which hasn't changed since 12/6/22.
To Reproduce
Use the match() function with any input (string, array, or regex) in your .cm config file, see included config below.
The action succeeds after removing all uses of match(). We had to remove our no_tests automation and supplement safe_changes by using isTests() in the below config.
Screenshots

ERROR:  Template render error: (unknown path)
  TypeError: arr.map is not a function
    at Object._prettifyError (/node_modules/nunjucks/src/lib.js:36:11)
    at /node_modules/nunjucks/src/environment.js:563:19
    at Template.root [as rootRenderFunc] (eval at _compile (/node_modules/nunjucks/src/environment.js:633:18), <anonymous>:36:3)
    at Template.render (/node_modules/nunjucks/src/environment.js:552:10)
    at Environment.renderString (/node_modules/nunjucks/src/environment.js:380:17)
    at /node_modules/@linearb/gitstream-rule-parser/dist/gitstream-rule-parser.cjs.development.js:1259:45
    at new Promise (<anonymous>)
    at _loop$ (/node_modules/@linearb/gitstream-rule-parser/dist/gitstream-rule-parser.cjs.development.js:1258:32)
    at tryCatch (/node_modules/@linearb/gitstream-rule-parser/dist/gitstream-rule-parser.cjs.development.js:96:17)
    at Generator._invoke (/node_modules/@linearb/gitstream-rule-parser/dist/gitstream-rule-parser.cjs.development.js:76:24)
Error: (unknown path)
  TypeError: arr.map is not a function
Error: Process completed with exit code 60.

Additional context
Original config:
# -*- mode: yaml -*-

manifest:
    version: 1.0

automations:
    estimated_time_to_review:
        if:
            - true
        run:
            -   action: add-label@v1
                args:
                    label: "{{ calc.etr }} min review"
                    color: {{'E94637' if (calc.etr >= 20) else ('FBBD10' if (calc.etr >= 5) else '36A853')}}

    safe_changes:
        if:
            - {{is.formatting or is.docs or is.tests}}
        run:
            -   action: add-label@v1
                args:
                    label: 'safe-changes'
            -   action: approve@v1

    no_tests:
        if:
            - {{is.formatting or is.docs | nope}}
            - {{files | match(regex=r/tests\//) | nope}}
        run:
            -   action: add-label@v1
                args:
                    label: 'missing-tests'
                    color: '#E94637'

calc:
    etr: {{branch | estimatedReviewTime}}
is:
    formatting: {{source.diff.files | isFormattingChange}}
    docs: {{files | allDocs}}
    tests: {{files | match(regex=r/tests\//) | every}}

Side note
I noticed that there were a few discrepancies on regex syntax and escaping characters in some spots on the gitStream docs.

Hi @mishagp thank you for yoru feedback - docs are now fixed,


Some work

I've renamed some classes that I found out.

Sorry, I was very busy the last days, I'll change the requested things so it can be merged.


DL-8622b remove raml and md docs

Post publish of OAS file removing the following:
application.raml
md docs from docs folder (having copied them to api/conf/common directory
NOTE - ASCERTAIN IF ALL RAML FILES REQUIRE REMOVAL

test me please

test this please

test this please


feat!: composable symbols

feat!: composable symbols
My original intent with "symbols" was to have composable 1-letter symbols that can describe units.
For example, m for metre and mm for millimetre, all with the same m in code.
Instead, we got the product "unit prefix × unit symbol".
So on top of m, we have mm and m3.
I think we should explore my original intent.
I'm not suggesting to remove mm or m3.
What I'm suggesting is to enable defining mm in terms of m.
This allows users to not have to pre-define prefixed versions of their units.

master
feat!

x * m
x * m

x * mm
x * m(m)

There's only one m (per system, so x * m keeps meaning "x SI metres").
Its meaning is contextual, much like in paper calculations.
The rules for composition are described in the SI Brochure §3 "Decimal multiples and sub-multiples of SI units".
Although m.m is a possible syntax, m(m) supports program-defined units such as M(px).

Abusing ^ for power:

master
feat!
clang-formats as

x * m3
x * (m^3)
x * (m ^ 3)

N/A
x * m(m^3)
x * m(m ^ 3)

Abusing ^ for power would require constexpr parameters.
Lately, there's interest in that direction: https://github.com/cplusplus/papers/issues/1458#issuecomment-1812540792.

Examples:
An implementation using the version 2.0.0: https://godbolt.org/z/cd8qjrdxe.
#include <mp-units/systems/si/si.h>

using namespace mp_units;
using namespace mp_units::si::unit_symbols;

namespace ns {
  template<template<PrefixableUnit auto U> class Prefix, Unit auto U> struct prefix_or_unit : decltype(U) {
    template<PrefixableUnit U2> consteval Unit auto operator()(U2) const { return Prefix<U2{}>{}; }
  };
  inline constexpr struct m : prefix_or_unit<si::milli_, ::m> { } m;
}

static_assert(2 * m == 2 * ns::m);
static_assert(2 * mm == 2 * ns::m(ns::m));

master
feat!

include/mp-units/systems/si/unit_symbols.h

inline constexpr auto mm = milli<metre>;
inline constexpr auto mm = m(m);

example/spectroscopy_units.cpp

isq::frequency(1. * THz)
isq::frequency(1. * T(Hz))

isq::wavelength(1. * um)
isq::wavelength(1. * u(m))

example/total_energy.cpp

sqrt(pow<2>(p * c) + pow<2>(m * pow<2>(c)))
^ for quantities too?

isq::momentum(4. * GeV / c)
isq::momentum(4. * G(eV) / c)

QuantityOf<isq::mass> auto m1 = 3. * GeV / c2
QuantityOf<isq::mass> auto m1 = 3. * G(eV) / (c^2)

p1.in(kg * m / s)
p1.in(k(g) * m / s)

I have mixed feelings about this feature. On one side I admire the cleverness, on the other side I think it tries to be too clever ;-)
I also am not sure what is the intent. Initially I thought it is to limit the number of definitions needed for the standardization process but you stated that "I'm not suggesting to remove mm or m3." If all the prefixed symbols have to remain than what is the rationalle for this feature? User always may write:
constexpr auto mm = si::milli<si::metre>;

and use it with a short name without the need to include all the "garbage" from unit_symbols namespace. What is the benefit of the new syntax?

Yes, if we get constexpr parameters we could make m^3 work out of the box without the need for a short but arbitrary list of powered units.

I also am not sure what is the intent. Initially I thought it is to limit the number of definitions needed for the standardization process but you stated that "I'm not suggesting to remove mm or m3." If all the prefixed symbols have to remain than what is the rationalle for this feature?

Yeah, my original intention was to never even have a symbol like mm in the library.
And I was going to propose removing them in this issue,
which is why there's a leftover "!" for "BREAKING CHANGE".
But I noticed that there is a standalone benefit:

This allows users to not have to pre-define prefixed versions of their units.

Yeah, k(m) isn't as readable as km.
With UFCS, we could make it k.m() to bring the symbols closer
at the expense of 3 extra characters compared to km.

If this was the only thing exposed in the library interface I would probably encourage in the docs to the following anyway:
And then it is not much different from:
or
so having those additional short helpers does not really buy us anything.

That's because you're defining them or encouraging them.
You could not define them and instead encourage composing symbols.
The difference between being able to do k(m) and not is requiring to pre-define such combined symbols.
Consider if I defined px as an unit of pixel.
Someone might be interested in Mpx for Megapixel.
Others might be interested in more esoteric multiples.
Others yet could write generic interfaces that operate on symbols.
To achieve mp-units level of API, I would have to pre-define pixel for all SI multiples.
For generic programming, I mean things like
template<PrefixableUnit auto U> auto my_algo(…) { … 42 * kilo<U> … } // Today.
template<PrefixableUnit auto U> auto my_algo(…) { … 42 * k(U) … }    // Proposed.

I have no concrete use cases of such a generic interface in mind, though.

BTW, we can discuss again if prefixes should be variable templates or functions. I personally prefer variable templates as those in the code resemble better types visible in compile-time errors. Functions on the other hand could benefit from ADL as you stated some time ago.

I had thought about adding prefix symbols to Au a while ago.  I quickly dismissed it as unworkable because m is ambiguous: just consider the mm unit (m(m)?) as a concise example.  However, this PR shows that I was too hasty in my dismissal, thanks to the stunning and delightful insight that the context can disambiguate the meaning: m can be an object that acts as a prefix symbol when called, and acts as a unit symbol otherwise.  This was really creative!
That said, I think my overall opinion is in line with this comment:

Sure, adding such a symbol is a short, simple line, as I stated above. So, even if you do not predefine scaled units, a user may easily add those. I don't like the syntax of 42 * M(px), and I would prefer to see 42 * si::mega<pixel> in the code. I also think that:
constexpr auto Mpx = M(px);

is not a big win over:
constexpr auto Mpx = si::mega<px>;

At least not big enough to excuse adding a new abstraction to the library.

Expanding on this: the common way to bring in a symbol will be a single using declaration per symbol at the top of a .cc file.  Making a new symbol is also one concise line, although it looks slightly different.  So for example (and using Au syntax because it's what I know from memory):
using au::symbols::h;
using au::symbols::m;

// Bringing in a `km` symbol.
//
// With currently available methods:
constexpr auto km = kilo(m);
// With prefix symbols:
constexpr auto km = k(m);

std::cout << v.as(km / h);

The only potential benefit I could see is if we want to enable people to stop defining these symbols in the first place, and instead compose them on the fly.  That's genuinely novel and not something we could do today:
std::cout << v.as(k(m) / h);

However, we already need to add a line for each pre-existing symbol that we want to use, so it's probably simplest to do this for the composed symbols as well.  While I'm very impressed by the creativity, I agree that it probably doesn't justify the added complexity of what something like m would become.

By the way: I was surprised to see every single prefixed symbol defined in the library.  This strikes me as a lot of extra work, a lot of "paying for what you don't use".  Given that:

You need to spend one line to get the symbol either way, whether importing a pre-existing name or constructing a new one;
And, one-line construction by applying a prefix is easy and natural;

I think we'd be better off deleting all of the prefixed symbols, and telling users how to define their own.  (This is Au's approach.)

I think we'd be better off deleting all of the prefixed symbols, and telling users how to define their own.

I am not sure which approach is better, and for sure we should provide those as alternatives in P3045. I am sure that plenty of people would like to have things like km built it. On the other hand, I know that the definitions take up a lot of space. However, the library is going to be provided as a C++ module and not as a header file. Maybe it is better to pay for it once at module compilation than ask users to redefine them all over again.

However, we already need to add a line for each pre-existing symbol that we want to use, so it's probably simplest to do this for the composed symbols as well.

With composable symbols, you don't need to do that.
In the rare cases where you need multiple multiples of units,
composing symbols of the fly save you from pre-defining N-1 prefixed units.
For example, today:
void f() {
  using lib::h;
  using lib::m;

  auto km = lib::kilo<m>;
  auto mm = lib::milli<m>;

  … km … mm … h …;
}

With composable symbols:
void f() {
  using lib::h;
  using lib::m;

  … k(m) … m(m) … h …;
}

You don't even need to introduce k if you make if work with ADL
(although ADL can't work with a program-defined prefix and a library-defined unit).


Login error not handled correctly

Steps to reproduce:

In a private window, go to Sinopia. (You should not be logged in.)
Click Login (without entering username or password).

Expected result:
User is notified that username / password is required.
Actual result:

User is not notified that username / password is required.
An error is sent to HoneyBadger (see https://app.honeybadger.io/projects/66049/faults/58417369).
Error: Username and pool information are required. CognitoUser.js:89:9 is logged to console.

No longer can be replicated.


connect() blocks GSAP animation

We've got a project going that wraps routed view components in ReactTransitionGroups for animation purposes, but when adding connect() to them, the animation doesn't run--in fact, ComponentWillAppear and other lifecycle methods from TransitionGroup don't fire. Happens with both decorator and composition calls on a class.
Some relevant snippets:
route
import ReactTransitionGroup from 'react-addons-transition-group';
import { Router, browserHistory } from 'react-router';

const transitionWrap = (component, myKey) =>
        () => (
          <ReactTransitionGroup>
           { React.createElement(component, { key: myKey }) }
          </ReactTransitionGroup>
        );

const routeConfig = [
  {
    path: '/', component: AppContainer,
    childRoutes: [
      { path: '/somepage', component: transitionWrap(SomePage, browserHistory.createKey()) }
    ]
  }
];

component
import ReactDOM from 'react-dom';
import React from 'react';
import { connect } from 'react-redux';
import 'gsap';

class SomePage extends React.Component {
  componentWillAppear() {
      this.component = ReactDOM.findDOMNode(this);
      this.component.style.opacity = 0;

      const tl = new TimelineMax();
      tl.to(this.component, 1, { opacity: 1 }, 'opacityUp');
      tl.from(this.component, 1, { 'margin-top': '300px' }, 'opacityUp-=.5');
    }

    render() {
      return (

I should animate up, but I will not if connected.

      );
    }
}

export default connect()(SomePage);

Our workaround is to abstract the content of a view component into smaller connected components, which is good practice, but we wanted to make sure the issue is documented.
environment

Redux ^3.0.4
React: ^0.14.7
react-addons-transition-group: ^0.14.3
react-redux: ^4.0.0
GSAP: ^1.18.0

Please see https://github.com/reactjs/react-redux/issues/303. The issue occurs because ReactTransitionGroup API predates higher order components and wasn’t really thought out with them in mind. Putting special “pseudo lifecycle hooks” on the component does not work here because the group sees the wrapped component generated by connect() rather than the one you wrote. I don’t think we can offer any nice solution without running into tens of different corner cases where such solution would not work so I’m inclined not to try at all. Your best bet would then be either to wrap connect()ed components into regular components where you can declare those hooks, monkeypatch the class returned from connect() to have them on the prototype, or just stop using ReactTransitionGroup and start using something like react-motion instead. React is also going to introduce an Animated API for the web so that may help too.

Thanks for the info. Sorry for the dupe, an issue search for "animation" didn't turn up #303.

Yeah, no problem. Definitely not an obvious one but hopefully will become less relevant as better alternatives to ReactTransitionGroup come up. Thanks for a detailed writeup and environment information.


Apply order_by and/or primary_key on snapshots

Is your feature request related to a problem? Please describe.
Currently snapshots are created without a primary key and sort key -- the snapshot config does not respect order_by or primary_key meaning that tables are created without them.
Describe the solution you'd like
Support these parameters so that SharedMergeTree tables get a primary key
Describe alternatives you've considered
Macro to copy the table and add the index after the fact

Believe the workaround is to modify the snapshot materialization macros:
  {% call statement('create_upsert_relation') %}
    create table if not exists {{ upsert }} as {{ target }}
  {% endcall %}

updating to:
  {% call statement('create_upsert_relation') %}
    create table if not exists {{ upsert }} as {{ target }}
        {{ engine_clause() }}
        {{ order_cols(label="order by") }}
        {{ primary_key_clause(label="primary key") }}
        {{ partition_cols(label="partition by") }}
  {% endcall %}


Falling into external javascript on debugging Angular 4 app with smartStep enabled

VSCode Version: 1.11.2
OS Version: Windows 8.1 x64

While debugging some Angular 4 CLI TypeScript-based project I often fall into C:\project\~\rxjs\Subscriber.js file after Step over or Step out despite of the launch.json containing:
sourceMap: true,
smartStep: true

Shouldn't it be skipped because of smartStep enabled?

The option is to skip unsourcemapped code, not javascript. Are they using babel or webpack or something?

@roblourens Angular CLI uses Webpack under the hood as far as I know.

Ok, that's expected then. You might want to use the skipFiles option if you don't want to step into node_modules code.


08 update window on new packets

Requirements:

Update window and scroll to the last element only if scroll position is at the end.
Pause auto-scroll and window update if the scroll is not at the end position.
if scroll position is at begin, jump up by config.jumpSize.

Cases:

Initial scroll position (no scroll at all): should not update window or scroll position
Changed scroll position (scrolled but not reached the end): Should not update window or scroll position
Changed scroll position to end (scrolled and reached end): Should update window and scroll to the end only on new data reception.
Changed scroll position to end (scrolled and reached end) but no new data: Should not update and scroll to the last automatically. User will have to iterate through each window to reach the last received data.
Changed scoll position to end and moved up slightly (scrolled to end and reverted to position which is not end position): Should not update window and scroll to last position

Implementation Approach:

set scrollEnd position in state and use it to invoke updateWindow() on new data reception.

We will use isScrollEnd from handleScroll() to set atScrollEnd state. This will update window and scroll to last table row only if current scroll position is at end

    if (atScrollEnd)
      if (didUpdateWindow(frameno))
        tableLastRowRef.current.scrollIntoView({behavior: "smooth"}) // Scrolls until last table row is in view

Final Approach
Requirements:

Autoscroll updates the window and scrolls to last table row on new data reception.
Autoscroll button will provide autoscroll status and can also toggle it on or off.
Autoscroll will be on by default.
Autoscroll will be turned off whenever the onScroll event (handleScroll()) of table container is triggered.

Implementation Approach:

Use autoscroll state (initial: true) to toggle autoscroll on and off and also show its current status.
On each new data reception, if autoscroll is on, update the window and scroll last table row into view if window updated.
if user triggers onScroll event by scrolling the table, autoscroll will be turned off.


Requests for missing views return 500 error

In a new default MVC 4 project, requests for non-existent views will return a 404 error.
However, with ControllerLess in place, requests for non-existent views return a 500 error, not a 404.
An unhandled InvalidOperationException is raised by ControllerLessHttpHander.DispatchRequest() when it hits viewController.Execute(_requestContext).
(I have enabled Area support per the ControllerLess wiki.)

Hi,
I've added a 404 response to the ControllerLessHttpHandler class when a view cannot be found for a specific route in 26cffe1. All other exception types should continue to pass through unhandled.
I'll update the NuGet package for this project shortly.
Thanks!

Thanks Brent! The update looks pretty straightforward. ☺ I’ll give it a try.  JBC
From<EMAIL_ADDRESS><EMAIL_ADDRESS>On Behalf Of Brent Jenkins
Sent: Wednesday, November 30, 2016 6:52 AM
To: brentj73/ControllerLess<EMAIL_ADDRESS>Cc: Jon Cannell<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [brentj73/ControllerLess] Requests for missing views return 500 error (#6)
Hi,
I've added a 404 response to the ControllerLessHttpHandler class when a view cannot be found for a specific route in 26cffe1https://github.com/brentj73/ControllerLess/commit/26cffe17f896054d5da461023298bd295a79e84e. All other exception types should continue to pass through unhandled.
I'll update the NuGet package for this project shortly.
Thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/brentj73/ControllerLess/issues/6#issuecomment-263855414, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXIe2cYVvN6jMtifsrhZoHgBWip7JgKCks5rDWNpgaJpZM4K_bCS.

No problem. The NuGet package is now available over at https://www.nuget.org/packages/ControllerLess/1.0.9
Thanks
Brent


Use USB type C port, system is lagging

Hi,
I just upgraded to big sur today, I realised that when I connect MBXP to my monitor with USB type C cable, monitor desktop is lagging,but laptop monitor is not. Please advise if there is any solution for this.
Thank you and best regards
TabGach

Are you also using an external mouse?
If so, the problem could be caused by a bug in Big Sur. It does not act nicely with high polling rate mice.
https://discussions.apple.com/thread/252047056?answerId=253919378022#253919378022

Are you also using an external mouse?
If so, the problem could be caused by a bug in Big Sur. It does not act nicely with high polling rate mice.
https://discussions.apple.com/thread/252047056?answerId=253919378022#253919378022


Handling of empty dates

Thanks so much for this library, it really has been very helpful. That being said, it would be nice if various versions of creating empty dates could be handled similarly. Currently:
moment('');
>> Invalid Date

moment(null);
>> null

moment('', 'YYYY-MM-DD');
>> TypeError: i is null

moment('').format('YYYY-MM-DD');
>> "NaN-NaN-NaN"

This has produced problems for me in passing date values back and forth with the server, when the date field is nullable. Obviously it can be dealt with, but more consistency would be helpful. Or is this the intended functionality?
Thanks!

Fixed this. Now passing an empty string to moment() will always result in null, the same as passing null into moment().

Thanks!

i know this is a very old Ticket, but is this still supposed to be the case? when i do moment(null) i get back invalid date instead of current date... @timrwood did this logic change in the future and i just cant locate it?

yup, it seems like this was reset just like what @th3fallen has said.

just installed
"moment": "^2.24.0",
"react-moment": "^0.8.4",

doing this with optional endDate field:
<Moment format="MMM DD YYYY HH:MM">
    {`${r.endDate}`}
</Moment>

results:

moment.js:299 Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.

i know this is a very old Ticket, but is this still supposed to be the case? when i do moment(null) i get back invalid date instead of current date... @timrwood did this logic change in the future and i just cant locate it?

If you need the current date, moment(undefined) should work.

in version 2.29.1, null and empty string gives you invalid date and undefined gives you current date.
E.g.:
function getDateValue(value) {
    if (value === undefined) {
      return '';
    } else if (value === null) {
      return '';
    } else if (value == '') {
      return '';
    }
    return moment(value).format('YYYY-MM-DD');
}

in version 2.29.1, null and empty string gives you invalid date and undefined gives you current date.
E.g.:
function getDateValue(value) {
    if (value === undefined) {
      return '';
    } else if (value === null) {
      return '';
    } else if (value == '') {
      return '';
    }
    return moment(value).format('YYYY-MM-DD');
}


Interactive window autocompletion

This is a feature request not a bug.
It would be super useful to have the command prompt in the interactive window have the following functionality of IPython shell

Dupe of #4170

@rchiodo I am not sure if this is exactly the same since in the interactive command prompt I expect the prompt to look into the live objects and search through their properties and provide options instead of trying to guess the type of objects like the intellisense engine does.

Yeah you're right. The other issue should mention that. I'll update it.


system_identify_specific_platform() shouldn't return "pfSense" when $g['platform'] contains product name

I've checked all uses of this function. In every case, the calling code is looking for the hardware platform, not the firmware name. Unfortunately if it's not a specific recognised hardware, this function falls back on $g['platform'] and returns that, which by default contains the product name.
This PR ensures that if system_identify_specific_platform() is going to return the product name, it doesn't, to ensure the returned string is always as expected a platform name.
It also ensures that a usable string is always returned.

The problem is not a big deal , if the question needed an answer, see below.
"Unidentified hardware" would also be fine. My wording came from looking at what would seem sensible to a user. - my logic was a bit like this:  When one usually thinks of "hardware platform" as distinct from the individual components, one is referring to the actual brand of the box or server - a WRAP, an ALIX, a PowerEdge, or whatever.  While the major hardware components are usually able to be named and often branded, the platform may not be, and often doesn't have a formal model/name.  I figured that many/most users probably run white box pfsense where the platform itself doesn't have a "name".  How would such users expect their hardware platform to be described on the system widget (the main place this info will be used for non-name boxes)? "Generic x86 platform" seemed a decent answer - "unidentified" sounded like an error, posing the question whether it should be identified. Generic/unknown implies something more reassuring, that it's a generic x86 build, or built using off the shelf components, but doesn't imply as "unidentified" might, that there is a value here that should be identifiable. So I went with "Generic/unknown" because the boxes we can't explicitly identify will almost always be generic x86/embedded boxes, or unknown brand boxes, and it's accurate/informative and didn't make it sound like there was info missing.
As to reason, if it matters - these strings are only used in 2 places - code that needs to check if the hardware is a specific type, in order to take it into account when generating GUI or processing user responses (eg offering or hiding specific options), and code that wants to inform the user as to their system generally (system widget etc).  In neither of these cases is it useful to report the hw platform as "pfsense" - in the first case it's never useful but it's iunvisible. In the second case presumably the user would appreciate hardware platform and system software platform not being mixed up, with "pfsense" being given for both. Logically in all cases, it's cleaner to have one route that clearly delivers a hardware (not system/OS) platform info, or says it's not known, and another that delivers a software/firmware/"running system" platform info, and that they are clearly different and shouldn't be seen as conflated.  Also if the two are confused, it adds confusion in output (if the user code wants to know specifically the hardware to report it, how can it be sure that's the info it is actually printing to GUI, and that it's not printing "pfsense" for both hardware and software, if the back-end is itself allowed to be muddled?)  As this was easy to do in the code and makes the output cleaner with less not more confusion, I did it, and it's neater to do so I think.
tl;dr, let me know what string you prefer :)

You have a good point that "Unknown" and "Unidentified" both could be mistaken as errors, but "Generic" also has negative implications. We could maybe go for something like "Common Hardware" or "Commodity Hardware".
In the end though I'm not sure any change is warranted. The location where the text is shown to the user is not specifically labeled as a description of the hardware. And at the end of the day, seeing "pfSense" in the system description is most likely less confusing than any other text. The old "Platform" section of the system info widget is gone on 2.4 so there isn't any redundancy there in these cases.

This PR can be closed when #3944 is committed; it dup's some of that, and is behind it.

No longer required


Form blueprint field cannot be called 'order'

Form blueprint field cannot be called 'order'.
   order:
     type: toggle
     label: Order
     help: Add before or after template
     highlight: 0
     default: 0
     options:
       1: Before
       0: After
     validate:
       type: bool

Workaround:  Call it order_

Yes it's a reserved keyword for blueprints.  Need to document this.

You also can't have a field call 'name' because the BlueprintForm overwrites it.
foreach ($items as $key => &$item) {
            // Set name for nested field.
            if ($field && isset($item['type'])) {
                $item['name'] = $key;
            }

IMO there should be no reserved names.  Grav should escape internal blueprints with a prefix.

There aren't many reserved keywords in the blueprints, but there is some page functionality which relies on methods. You cannot access order in pages because of it's reserved to reordering the siblings. That is a behavior pages have built in and changing that will basically break all the existing code.
Also you can use name as long as there's no type, though that logic seems to be slightly broken (if you have field called type and name at the same time).

Understood, that's what major releases are for :).  Perhaps best practice should still suggest a namespace or prefix to prevent other collisions.


Use ppid instead of nameid for unique identifier

Info from VRAA:
NameIdentifier is VPM's internal technological value and does not necessarily contain a real personal code. For electronic identity verification and further data processing, "privatepersonalidentifier" attribute must be used.

Looks good. @ebeigarts can we do a release?


Which drafts are supported?

From the README it isn’t clear which JSON Schema drafts are supported. Is the latest draft (2019-09) already supported?

The most recent version of the standard supported by this library is draft-04.

This issue has been fixed with this PR #620


Convert IEntityType.GetNavigations() and related methods to extention methods

The same data can be accessed through IForeignKey
The implementation will still keep track of the navigations for perf reasons

LGTM

:shipit:


Drop support for offset argument,  commit to Uint8Array type for binary uuids

The offset argument is a relic from before Uint8Array and ArrayBuffer types were widespread.  Now that those types are widely adopted, users can create typed arrays with built-in offsets, obviating the need for us to support typed arrays.  For example...
const arr1 = new Uint8Array(1024);
const arr2 = new Uint8Array(arr1.buffer, 16);
arr2[0] = 123;
console.log(arr1[16]); // <-- "123"

This assumes we commit to Uint8Array for binary uuid types, however.  See #755
This would be a breaking change, of course.

Closing.  In light of recent v11 work, I just don't think it's worth the API disruption at this time.


[Request] SearXNG Support.

I am a uBlacklist plugin user from mainland China, I have installed SearXNG search engine on my Virtual Private Server and there are some websites that I don't like that often appear in my search engine, can you please add website blocking support for SearXNG?

Not planned; under the current design, it is difficult to enable users to specify arbitrary domains in which this extension works.


Use of alias in header

Hi and thanks for your work.
I'm trying to use aliases on header but looks like it's not working. I've the "Unknown alias" error.
Is there a way to use alias in headers and/or footer ?
Thanks in advance for your answer.
Joël

Maybe you're defining aliases in headers/footers and then using them in the document body? I'm afraid that's not supported (internally, headers/footers are separate files from the body…).

As a workaround, you can define them in the body (as well) — they will not generate any text in the output reports, so this approach should be fine.

(Oh, and defining aliases in a header/footer and using it in the same header/footer should be fine — please tell me if it isn't!)


App Screenshots

Login/Signup
Wait for Facebook Integration to finish
My profile

Edit Profile

Friends(ADD PENDING REQUEST)


add: command-line error suppression for tasks

It would be nice to be able to do error suppression from the command line:
ds -cspell
ds ruff -cspell

Currently, you'd get an error in the first case because -cspell doesn't refer to a known task and you'd get an error in the second case because ruff doesn't know how to handle a -cspell flag.
So to separate out the commands you'd have to write it:
ds ruff -- -cspell

However, if we delay parsing the tasks, we could just use Task.parse to make one large composite task after we've parsed the start (:) and end args (--) .
Weirdly, this would also enable running random commands as part of the pipeline:
ds ruff -cspell echo : "Done"

Not sure this is a good idea, but writing it down for now.

Took a few minutes to think about this; probably not a great idea right now. Feels weird to push-off parsing tasks and also feels weird to have random scripts (with our particular syntax) as arguments to ds.
Closing for now.

Encountered a real use for this: in package.json you can't make composite commands because the schema for scripts only allows for string values (even though this is JSON and an array is otherwise valid).
So I end up using ds to run multiple commands. But now I don't have error suppression because the CLI doesn't support it.
Will think about this some more. Also implies a good question about whether ds should handle calls to itself differently than calls to other scripts.

This was useful even in trying to develop this specific feature: for example linting often fails until all the types are correct so being able to run:
ds +lint test

Helped me see the linting errors, but deal with the test errors first.

Also added a new Task.allow_shell which I can set to False to prevent the top-most tasks from being random shell commands.


Crashes when running testJavaScriptCoreMiniDOM

Device: Nexus 5X with 7.1.1
Emulator: Nexus 5 API 24
A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 19475 (roidJUnitRunner)
Build fingerprint: 'google/bullhead/bullhead:7.1.1/N4F26O/3582057:user/release-keys'
02-15 15:10:32.694 19491-19491/? A/DEBUG: Revision: 'rev_1.0'
02-15 15:10:32.694 19491-19491/? A/DEBUG: ABI: 'arm64'

Thanks for registering the issue.  I am aware of this bug.  It should work fine if you run that test alone, but it will crash if you run it in sequence with the other JSC tests.
There is some disagreement between how I've implemented garbage collection and how JavaScriptCore expects it to happen.  This is occurring because the collector is running and clearing away unreferenced JSValueRefs, as the test code does not JSValueRetain the references.  (Note, these tests are not written by me -- these are Apple's JSC tests, so I treat them as the gold standard for expected behavior).  So there is some lifecycle assumption apparent in JSC that I haven't figured out yet.
I have slated this for fix in 0.3.0, which is the first release to actually use the JSC code (as it is required by React Native).  At the moment, the JSC functionality is experimental.

There is a comment here
https://github.com/hszhsh/JavaScriptCore
relating to GC, not sure if that may be of any help
"I'm using WTF's RunLoop for GC timers on Android, so you need to call RunLoop::iterate() in your app's runloop on js thread."

Well, I'm not actually using JSC at all.  LiquidCore runs on V8 -- I am shimming the JSC API and translating it to V8.  The tests are to ensure that it complies with what JSC applications expect.  I've cracked all other assumptions.  This is the one sinister bug that remains!

Fixed in 345cc626d20005b3da063785dd99dcf21be33ebe

This is fixed in Release 0.2.2


bpir3 pcieFixup doesn't seem to work

The pcieFixup is turned on by default.
The implementation of the workaround is the same as it used to be with older kernels. However, it seems that it doesn't work anymore. When I try to configure nvme device I am getting:
<<< NixOS Stage 1 >>>

loading module rfkill...

loading module cfg80211...

loading module mt7915e...

loading module mii...

running udev...

Starting systemd-udevd version 255.6

kbd_mode: KDSKBMODE: Inappropriate ioctl for device

Gstarting device mapper and LVM...

checking /dev/disk/by-uuid/0b5e3376-c7e9-4284-9514-9c3b51244f19...

fsck (busybox 1.36.1)

[fsck.ext4 (1) -- /mnt-root/] fsck.ext4 -a /dev/disk/by-uuid/0b5e3376-c7e9-4284-9514-9c3b51244f19

root: recovering journal

root: clean, 278458/7449072 files, 1519866/30558075 blocks

mounting /dev/disk/by-uuid/0b5e3376-c7e9-4284-9514-9c3b51244f19 on /...

waiting for device /dev/disk/by-partlabel/disk-nvme0n1-var to appear.......................

Timed out waiting for device /dev/disk/by-partlabel/disk-nvme0n1-var, trying to mount anyway.

mounting /dev/disk/by-partlabel/disk-nvme0n1-var on /var...

[   36.127976] /dev/disk/by-partlabel/disk-nvme0n1-var: Can't lookup blockdev

mount: mounting /dev/disk/by-partlabel/disk-nvme0n1-var on /mnt-root/var failed: No such file or directory

An error occurred in stage 1 of the boot process, which must mount the

root filesystem on `/mnt-root' and then start stage 2.  Press one

of the following keys:

  r) to reboot immediately

  *) to ignore the error and continue

Ignoring the error actually correctly boots the system with the nvme partitions mounted. The problem is that the boot process halts until user makes the choice.

1.040656: mtk-pcie-gen3 host bridge appears
( 0000:01:00.0 shows up here on warm boot)
1.466971: Stage-1-init begins
?.??????: pci device 0000:01:00.0 shows up
6.245330: "starting device mapper and LVM..."
12.613806: stage-2 starts
20.446846: nvme nvme0: pci function 0000:01:00.0
20.446879: nvme 0000:01:00.0: enabling device (0000 -> 0002)

Indeed, NVMe is showing up quite late.
I don't see any changes in the mediatek pcie3 driver, and the script didn't drop an "INFO" line at X.XXXXXX stating that the bridge was missing, so it either exists and ran, or the PCIe device already existed.
I think the issue is probably a missing kernel module, seeing as in my case it showed up in stage-2.

Ignoring the error actually correctly boots the system with the nvme partitions mounted.

I'll bet, when you hit * to ignore and continue, when stage-2 hits and systemd fires up, systemd ends up taking care of the mounting as part of local-fs.target.
I've added the nvme module to boot.initrd.availableKernelModules in cf0957c2e7b1b19ce5b60ecd3b1c213547159c6b, and now I can see NVMe loading up before the stage-1 LVM scan, which is where it should show up, so this should fix the issue.
1.038817: mtk-pcie-gen3 host bridge appears
1.567623: Stage-1-init begins
5.823912: pci device 0000:01:00.0 shows up
6.083566: NVMe device apepars
10.551519: "starting device mapper and LVM..."
12.778144: stage-2 starts

I'll bet, when you hit * to ignore and continue, when stage-2 hits and systemd fires up, systemd ends up taking care of the mounting as part of local-fs.target.

I cannot say for sure that this is what is happening but indeed after ignoring the error the system booted properly. So, I guess that your bet is correct.

I think the issue is probably a missing kernel module, seeing as in my case it showed up in stage-2.

Now, once you said it, I vaguely remember you telling me similar thing in the previous repository about the nvme support. I, then, added it to my configuration and forgot about it.

I've added the nvme module to boot.initrd.availableKernelModules in https://github.com/nakato/nixos-sbc/commit/cf0957c2e7b1b19ce5b60ecd3b1c213547159c6b, and now I can see NVMe loading up before the stage-1 LVM scan, which is where it should show up, so this should fix the issue.

Awesome, thank you and sorry for the long delay.


Fix dead links

Not sure if the updated links are the ones you intended, but that's the location of each of these files...

Thanks - yes, you're quite right!


Cannot Add Gmail into Station

I am trying to connect my Gmail account to Station and I get an error.

same here

And same here... Glad I am not alone with this :-)

To me it does not let me access any Google service, nor does it load the QR Whats app, just installed on macOS Monterey.
The error says that the browser I'm using is not secure, try another one.

Same here. Very disappointing.

same

Same here... There is no way to add a google account.

there is a workaround behind this problem, create new "app" and insert the link -> https://myaccount.google.com after connected, login into and click on icon in corner top right and click gmail -> after automatically will be redirect in app gmail of station logged in and you can remove the your custom app.

there is a workaround, create new "app" and insert the link -> https://myaccount.google.com after connected, login into and click on icon in corner top right and click gmail -> after automatically will be redirect in app gmail of station logged in and you can remove the your custom app.

Worked like a charm, thank you!

Great thank you so much it's working perfectly just a bit boring when we want to use several Google accounts.
Station is losing all is added value :(

Thanks for the workaround!  So only Whatsapp remains an issue now: no QR code appears on screen :(

Is this app maintained?

Is this app maintained?

I though so... if there are then the maintainers must not be checking the issues.

Fixed in 2.1.0


Guidance on following meta redirect

Hi,
I'm finding pages that have meta http-equiv refresh tags in them and I was going to parse the url myself, but wondered if AngleSharp has a way to do this already that I should be using?
The HTML is as follows, it would be ideal if AngleSharp could follow this redirect or has a utility function for parsing out the redirect.
<HTML>
<HEAD>
<meta http-equiv="refresh" content="0; URL=./dir/file.htm">
</HEAD>
<BODY></BODY>
</HTML>

If not, no problem, it will be a quick hack.
Thanks
Ryan

Nope, there is nothing integrated yet, even though I think there will be one in the future (see discussion in #561, bullet point 1).
If you come up with a good (even though hackish) solution a quick share would be wonderful! Thanks 👍

@FlorianRappl I ran into this too. I think the only sane way to provide support for this, is to pull the BrowsingContextExtensions.OpenAsync(DocumentRequest) method into IDocumentLoader and provide an option to enable meta-following with the default loader.
Thoughts?

On the scale of documents I was parsing it was easier to look at the failed redirects and manually re-enter the correct address into my dataset. So I didn't even hack around it, just marked it as a failed parse.
I don't know the codebase at all, otherwise I might be tempted to do this. I can offer testing if you need though.

It's a simple addition, in terms of doing the redirect - the hard part is "where" to put it so it makes sense :)

See my PR: https://github.com/AngleSharp/AngleSharp/pull/571

Just realized this code would break with content="0; other stuff here". If @FlorianRappl approves of the edit I'll fix that.

Thanks @georgiosd , that looks really good.
One thing, as a consumer of this call the redirection delay does not make sense.
That's because if I parsed a page with a redirect in, the call would hang for x seconds before proceeding. I couldn't do anything else while waiting for that.
I think it makes more sense that if redirect is enabled, then it happens straight away, without a delay.
If you wanted finer control then instead of a boolean for redirect on / off, use an int which defines a threshold at which to redirect. for example, 1000 would mean if page redirects in less than 1000 seconds, redirect immediately, otherwise wait for the period the page has defined. Probably not needed / too much detail though.

@RyanONeill1970 I ended up refactoring that code into an extension because I wanted to be able to follow the redirect on an optional basis. If you look at the PR, @FlorianRappl has a better suggestion of implementing this which would cover your "want"


Get active settings when changing Settings window pages

stopped working probably after some electron change - settings were not showed when changing pages

Codecov Report

Merging #109 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #109   +/-   ##
=======================================
  Coverage   88.79%   88.79%
=======================================
  Files           6        6
  Lines         116      116
  Branches       18       18
=======================================
  Hits          103      103
  Misses         13       13

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 f90c163...64679ac. Read the comment docs.


More URLScan fields

Display additional fields in URLScan card results to include columns: results[].verdicts.malicious and brand.key

@WilliamSalusky Could you provide a URLScan result that includes these fields? Thanks!


Add more translator engine

[ ] DeepL
[x] LibreTranslate

It seems hard to get DeepL API https://github.com/soimort/translate-shell/issues/268. So the best way is to get API key.
But currently, I don't have credit card. And my country is not in the list of DeepL available country. So the feature is not going to be provided soon.

ArgosTranslate done in #8
ApertiumTranslate done in #13

ReversoTranslate done in #14

BingTranslate done in #16

ChatGPT done in #18

You should add https://en.pons.com/p/online-dictionary/developers/api

You should add pons

@anonymous01001010 Ok, I'll look into it.

Sent #20 for DeepL support. @eeeXun if you'd like to try testing the PR before merging, feel free to message me and I can give you my API key for testing purposes.

The tasks in this issue are mostly done. If there is any request for new translator, just create a new issue. And let's track there.


Android - Keep screen on

Even though setScreenOnWhilePlaying is set to true in the MediaPlayer, on Android the screen will dim depending on the time the user has set on their phone.
It was already reported in this issue https://github.com/react-native-community/react-native-video/issues/744.
This will prevent the screen to turn off while a video is playing and it only affects the Android platform.

Thanks for pointing this out and creating a fix.
I haven't gotten to test this, so please excuse if I'm not up to speed. I think the ideal behavior is that the screen stays on while you're playing the video, but if you pause the video the screen should be allowed to go to sleep as that's what other video apps do. If we set this flag, will the screen go to sleep while paused?
Also, is this a problem on ExoPlayer as well? If so, would you mind creating a PR for that.

You're right @cobarx the screen should be allowed to go to sleep if the video is paused so I changed the code to take that into account as well :) let me know what you think.
As for the ExoPlayer I can't check it at the moment but I'll try to soon.
Thanks!

Thanks for tackling the pause conditions. Is there a reason we need to check the current state of the flag rather than applying the appropriate value any time we play or pause? It adds quite a bit of code & complexity unless there's a compelling need for it (like performance).

@geriux When we added support for sideloaded captions, it also reworked how the video setup happens. From https://github.com/react-native-community/react-native-video/pull/1086#issuecomment-404681326, @danielmcmillan is no longer experiencing the issue. I've gone ahead and released 3.1.0 with that change, can you test again and see if you're having the problem?

Hi! I had a comment in my e-mail about this being fixed in another PR but i've just tested it and it is still happening with the latest version. Also I don't see your comment here :D do you still want me to continue with this PR? Let me know!

@geriux I posted in the wrong PR, that comment was meant to go in the one about the iOS hanging while loading.
Yes, I would like to get this included. Can you simplify the logic so that it's more straightforward? Unless there's a good reason to do otherwise, it's much simpler to set and clear the flag every time rather than tracking the current state.

See here for how it could potentially be simplified: https://github.com/corbt/react-native-keep-awake/blob/master/android/src/main/java/com/corbt/keepawake/KCKeepAwake.java

@cobarx alright! I'll simplify it and update the PR =)

Thank you for the suggestions @cobarx ! I've fixed the bug and removed the check of the flag. Let me know what you think =)

Sorry for the delay in getting this merged. I kept forgetting to bring along my cable when going to coffee shops and there's no way to test without using a real device #smh
I went ahead and switched this over to setKeepScreenOn since it's much simpler and matches what we're using on the ExoPlayer side. We also need to check for when the video ends and allow the screen to sleep if the video isn't on repeat. I tested and it works great.
I'm glad you brought this up, this is pretty important behavior, I have no idea how people got around this. Maybe everybody was using other modules to control sleeping.

Is there a prop I need to pass in for this fix to work? I am still having this issue.

Would be great to have a way to disable this, since sometimes video is just a background.

Is there a prop I need to pass in for this fix to work? I am still having this issue.

This is still an issue for me too.

Is there a prop I need to pass in for this fix to work? I am still having this issue.

This is still an issue for me too.

any update for exoplayer ?


Let user-defined main() work for all execution environments

Original issue: https://charm.cs.illinois.edu/redmine/issues/1343

No body.

Original date: 2016-12-28 20:27:45

This is necessary to eliminating .ci files because of the current arrangement with mainchares

Original date: 2017-05-16 14:08:05

Revisiting this, are there situation where the desired outcome of this issue isn't satisfied?
Maybe readonly variables need some new treatment? What else would get in the way.
I'm going to have some of the Charmworks interns and new hires explore conversion from mainchare to user main() to flesh this out further.

Original date: 2017-11-29 18:47:14

I think Eric M is already working on this and is a user of its functionality to some extent already.
~~https://charm.cs.illinois.edu/gerrit/#/c/2732/~~ https://github.com/UIUC-PPL/charm/commit/3511cfb6acc346ddc840008f7569b22154d5f8c4

Original date: 2019-04-19 03:17:53

I've updated Justin Szaday's patch (~~https://charm.cs.illinois.edu/gerrit/c/charm/+/2732~~ https://github.com/UIUC-PPL/charm/commit/3511cfb6acc346ddc840008f7569b22154d5f8c4) to allow user driven interop to work without mainchares. This allows any charm program to use user-defined main, and removes the need for mainchares as well. It also addresses Phil's above point of still allowing readonlies by splitting the CharmInit into two steps. The old CharmInit is preserved for backwards compatibility.
It does fundamentally change semantics of user driven startup, in that CharmInit returns automatically after charm initialization is done. Previously, it only returned after the charm code called CkExit. However, that meant a mainchare was required. I'm pretty sure Charades is currently the only user of this API, so the breaking changes are not an issue.


Unable to Execute Binary with Maven Path Containing Spaces

If Maven installed path contains "spaces" the sbom generation breaks with the follwing message. Please see the below screenshot. Pleas note:We see similar behaviour in linux OS as well.
Environment:

Operating System: Windows

Command:

cdxgen.exe -o sbom.json

Version:

9.9.5

Since there's spacing in the folder's name we are getting this error
'C:\Program' is not recognized as an internal or external command, operable program or batch file.

https://github.com/CycloneDX/cdxgen/pull/754


Cannot start a debug session on a remote connection on Amazon Linux

VSCode Version: 1.49.2
OS Version: Ubuntu 18.04 is the host machine OS. Connecting using VS Code to remote ssh session on Amazon Linux

Steps to Reproduce:

In my case, open VS Code on my Ubuntu machine
Connect to AWS Amazon Linux instance
Run debugger using launch.json
I get the 127 error message first. I hit debug anyway and then
The error on node not found pops up

Notes:
The exact error is
> Executing task: tsc -p /usr/local/src/test_deploy/tsconfig.json <

/bin/bash: tsc: command not found
The terminal process "/bin/bash '-c', 'tsc -p /usr/local/src/test_deploy/tsconfig.json'" failed to launch (exit code: 127).

Terminal will be reused by tasks, press any key to close it.

If I open a bash terminal on the remote Amazon machine and type the tsc -p /usr/local/src/test_deploy/tsconfig.json command, it works without any issues.
Here is the npm config ls -l
; cli configs
long = true
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/6.14.8 node/v14.13.1 linux x64"

; userconfig /home/ec2-user/.npmrc
HOME = "/home/ec2-user"
cwd = "/usr/local/src/cryptofights_eb_deploy"
node_bin_location = "/home/ec2-user/.nvm/versions/node/v14.13.1/bin/node"

; default values
access = null
allow-same-version = false
also = null
always-auth = false
audit = true
audit-level = "low"
auth-type = "legacy"
before = null
bin-links = true
browser = null
ca = null
cache = "/home/ec2-user/.npm"
cache-lock-retries = 10
cache-lock-stale = 60000
cache-lock-wait = 10000
cache-max = null
cache-min = 10
cafile = undefined
cert = null
cidr = null
color = true
commit-hooks = true
depth = null
description = true
dev = false
dry-run = false
editor = "vi"
engine-strict = false
fetch-retries = 2
fetch-retry-factor = 10
fetch-retry-maxtimeout = 60000
fetch-retry-mintimeout = 10000
force = false
format-package-lock = true
fund = true
git = "git"
git-tag-version = true
global = false
global-style = false
globalconfig = "/home/ec2-user/.nvm/versions/node/v14.13.1/etc/npmrc"
globalignorefile = "/home/ec2-user/.nvm/versions/node/v14.13.1/etc/npmignore"
group = 1000
ham-it-up = false
heading = "npm"
https-proxy = null
if-present = false
ignore-prepublish = false
ignore-scripts = false
init-author-email = ""
init-author-name = ""
init-author-url = ""
init-license = "ISC"
init-module = "/home/ec2-user/.npm-init.js"
init-version = "1.0.0"
json = false
key = null
legacy-bundling = false
link = false
local-address = undefined
loglevel = "notice"
logs-max = 10
; long = false (overridden)
maxsockets = 50
message = "%s"
; metrics-registry = null (overridden)
node-options = null
node-version = "14.13.1"
noproxy = null
offline = false
onload-script = null
only = null
optional = true
otp = null
package-lock = true
package-lock-only = false
parseable = false
prefer-offline = false
prefer-online = false
prefix = "/home/ec2-user/.nvm/versions/node/v14.13.1"
preid = ""
production = false
progress = true
proxy = null
read-only = false
rebuild-bundle = true
registry = "https://registry.npmjs.org/"
rollback = true
save = true
save-bundle = false
save-dev = false
save-exact = false
save-optional = false
save-prefix = "^"
save-prod = false
scope = ""
script-shell = null
scripts-prepend-node-path = "warn-only"
searchexclude = null
searchlimit = 20
searchopts = ""
searchstaleness = 900
send-metrics = false
shell = "/bin/bash"
shrinkwrap = true
sign-git-commit = false
sign-git-tag = false
sso-poll-frequency = 500
sso-type = "oauth"
strict-ssl = true
tag = "latest"
tag-version-prefix = "v"
timing = false
tmp = "/tmp"
umask = 2
unicode = true
unsafe-perm = true
update-notifier = true
usage = false
user = 1000
; user-agent = "npm/{npm-version} node/{node-version} {platform} {arch} {ci}" (overridden)
userconfig = "/home/ec2-user/.npmrc"
version = false
versions = false
viewer = "man"

Does this issue occur when all extensions are disabled?: Yes/No
Yes

/duplicate https://github.com/microsoft/vscode/issues/106537


test: additions to unit tests

The main change is the addition of the ramforest_undo test case, together with some minor changes that occurred as I was exploring the codebase :

minor change in simple_blockchain test

We were not updating the roots after the Undo, so as it is, it just checks that the <UndoBatch, pre-modification roots> pair is correctly inserted in the vector. My understanding is that the intention there is to check that the roots after the Undo are the same as  before the modification.

test for out of order targets in Modify()

minor addition to cover an untested path that I found during test coverage

more comments

Looks good :)


Add support for alternative (free) messaging app

Most secret santas are budget friendly events, it would be nice if users could use secret-santa with e-mail messaging service, which would allow them to use the library on the go, instead of using a paid service which requires extra effort and money

Hey Waad,
Thanks for bringing this up...
This has been on the roadmap for some time now, however I do believe it will receive a higher priority in this year's development cycle as the main focus is leaning towards making the tool more friendly for any potential user: interface, experience, and budget wise.
Unfortunately, I will not be able to work on this in the near future, but I'll keep this thread updated whenever I get to it 😄
(and in case you'd like to add the support, your contribution would be appreciated and welcomed)


chore(nixpkgs-stable): move to a new 23.05 nixpkgs

Try to update nixpkgs to 23.05 channel

Strange things with nethermind =\

@aldoborrero can you check please nethermind deps? I see you added this package, so maybe you will be able to fix that, but my approach with dotnet restore and after nuget-to-nix doesn't work right now dunno why

@selfuryon yes, I'll have a look today

@selfuryon improved the situation for updating nuget-deps for nethermind.


fix: remove duplicate babel.config.js

Description
Running yarn lint after pulling the repository, will return an error without having made any change yet.
Changed the PR. Found out this babel.config.js not being used, because there's already  example/babel.config.js.

Thanks for your PR Robin!