PHP8 Deprecations

I used PHP 8.1 when I tried to output the png and html got these errors
does anyone get the same issue as me?
root@librenms:/opt/librenms/html/plugins/Weathermap# ./weathermap.php --config configs/mnewstv.conf --output output/mnewstv.png --htmloutput output/mnewstv.html
PHP Deprecated:  strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/share/php/Console/Getopt.php on line 313
PHP Deprecated:  strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/share/php/Console/Getopt.php on line 313
PHP Deprecated:  strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/share/php/Console/Getopt.php on line 313
PHP Deprecated:  Function strftime() is deprecated in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 3287
PHP Deprecated:  Implicit conversion from float 49.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMapNode.class.php on line 635
PHP Deprecated:  Implicit conversion from float 41.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMapNode.class.php on line 635
PHP Deprecated:  Implicit conversion from float 74.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMapNode.class.php on line 635
PHP Deprecated:  Implicit conversion from float 58.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMapNode.class.php on line 635
PHP Deprecated:  Implicit conversion from float 49.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMapNode.class.php on line 649
PHP Deprecated:  Implicit conversion from float 41.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMapNode.class.php on line 649
PHP Deprecated:  Implicit conversion from float 74.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMapNode.class.php on line 649
PHP Deprecated:  Implicit conversion from float 58.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMapNode.class.php on line 649
PHP Deprecated:  Implicit conversion from float 51.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 506
PHP Deprecated:  Implicit conversion from float 43.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 506
PHP Deprecated:  Implicit conversion from float 42.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMapNode.class.php on line 635
PHP Deprecated:  Implicit conversion from float 41.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMapNode.class.php on line 635
PHP Deprecated:  Implicit conversion from float 81.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMapNode.class.php on line 635
PHP Deprecated:  Implicit conversion from float 58.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMapNode.class.php on line 635
PHP Deprecated:  Implicit conversion from float 42.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMapNode.class.php on line 649
PHP Deprecated:  Implicit conversion from float 41.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMapNode.class.php on line 649
PHP Deprecated:  Implicit conversion from float 81.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMapNode.class.php on line 649
PHP Deprecated:  Implicit conversion from float 58.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMapNode.class.php on line 649
PHP Deprecated:  Implicit conversion from float 44.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 506
PHP Deprecated:  Implicit conversion from float 43.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 506
PHP Deprecated:  Implicit conversion from float 23.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMapNode.class.php on line 635
PHP Deprecated:  Implicit conversion from float 40.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMapNode.class.php on line 635
PHP Deprecated:  Implicit conversion from float 23.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMapNode.class.php on line 649
PHP Deprecated:  Implicit conversion from float 40.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMapNode.class.php on line 649
PHP Deprecated:  Implicit conversion from float 25.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 506
PHP Deprecated:  imagefilledpolygon(): Using the $num_points parameter is deprecated in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1926
PHP Deprecated:  imagepolygon(): Using the $num_points parameter is deprecated in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1906
PHP Deprecated:  imagefilledpolygon(): Using the $num_points parameter is deprecated in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1926
PHP Deprecated:  imagepolygon(): Using the $num_points parameter is deprecated in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1906
PHP Deprecated:  imagefilledpolygon(): Using the $num_points parameter is deprecated in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1926
PHP Deprecated:  imagepolygon(): Using the $num_points parameter is deprecated in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1906
PHP Deprecated:  Implicit conversion from float 433.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 506
PHP Deprecated:  imagefilledpolygon(): Using the $num_points parameter is deprecated in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1926
PHP Deprecated:  imagepolygon(): Using the $num_points parameter is deprecated in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1906
PHP Deprecated:  Implicit conversion from float 333.5 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 506
PHP Deprecated:  imagefilledpolygon(): Using the $num_points parameter is deprecated in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1926
PHP Deprecated:  imagepolygon(): Using the $num_points parameter is deprecated in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1906
PHP Deprecated:  imagefilledpolygon(): Using the $num_points parameter is deprecated in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1926
PHP Deprecated:  imagepolygon(): Using the $num_points parameter is deprecated in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1906
PHP Deprecated:  imagefilledpolygon(): Using the $num_points parameter is deprecated in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1926
PHP Deprecated:  imagepolygon(): Using the $num_points parameter is deprecated in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1906
PHP Deprecated:  Implicit conversion from float 404.25 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 506
PHP Deprecated:  Implicit conversion from float 530.25 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 506
PHP Deprecated:  imagefilledpolygon(): Using the $num_points parameter is deprecated in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1926
PHP Deprecated:  imagepolygon(): Using the $num_points parameter is deprecated in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1906
PHP Deprecated:  Implicit conversion from float 306.75 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 506
PHP Deprecated:  Implicit conversion from float 623.75 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 506
PHP Deprecated:  Implicit conversion from float 5.600000000000001 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 506
PHP Deprecated:  Implicit conversion from float 27.6 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1874
PHP Deprecated:  Implicit conversion from float 45.2 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1874
PHP Deprecated:  Implicit conversion from float 29.200000000000003 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 506
PHP Deprecated:  Implicit conversion from float 47.2 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1874
PHP Deprecated:  Implicit conversion from float 64.80000000000001 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1874
PHP Deprecated:  Implicit conversion from float 48.80000000000001 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 506
PHP Deprecated:  Implicit conversion from float 66.80000000000001 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1874
PHP Deprecated:  Implicit conversion from float 84.4 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1874
PHP Deprecated:  Implicit conversion from float 68.4 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 506
PHP Deprecated:  Implicit conversion from float 86.4 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1874
PHP Deprecated:  Implicit conversion from float 123.6 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1874
PHP Deprecated:  Implicit conversion from float 107.6 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 506
PHP Deprecated:  Implicit conversion from float<PHONE_NUMBER>0000001 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1874
PHP Deprecated:  Implicit conversion from float<PHONE_NUMBER>0000002 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1874
PHP Deprecated:  Implicit conversion from float<PHONE_NUMBER>0000002 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 506
PHP Deprecated:  Implicit conversion from float<PHONE_NUMBER>0000002 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1874
PHP Deprecated:  Implicit conversion from float 162.8 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1874
PHP Deprecated:  Implicit conversion from float 146.8 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 506
PHP Deprecated:  Implicit conversion from float 164.8 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1874
PHP Deprecated:  Implicit conversion from float 182.4 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/WeatherMap.functions.php on line 1874
PHP Deprecated:  Implicit conversion from float 166.4 to int loses precision in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 506
PHP Deprecated:  Function strftime() is deprecated in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 1720
PHP Deprecated:  Function strftime() is deprecated in /opt/librenms/html/plugins/Weathermap/lib/Weathermap.class.php on line 1725
PHP Warning:  Undefined property: WeatherMap::$basehref in /opt/librenms/html/plugins/Weathermap/weathermap.php on line 307

I am slowly working through 8.1 deprecation issues in the 0.98-php8 branch. It is still wrong for strftime-related stuff, at least, but these float/int issues should be taken care of.

Hi Howard,
Thanks for your information.
I'm looking forward to seeing this fix for php8.1.
Because of the upgrade to php8.1 that cause my weathermap even can not
drawing any pic in my plugging system.
Best Regards,
Jeffrey
ᐧ
Howard Jones @.***> 於 2022年8月22日 週一 下午5:42寫道：

I am slowly working through 8.1 deprecation issues in the 0.98-php8
branch. It is still wrong for strftime-related stuff, at least, but these
float/int issues should be taken care of.
—
Reply to this email directly, view it on GitHub
https://streaklinks.com/BLBxDBBVlch1cQPYJQfM0qKe/https%3A%2F%2Fgithub.com%2Fhowardjones%2Fnetwork-weathermap%2Fissues%2F302%23issuecomment-1222110513,
or unsubscribe
https://streaklinks.com/BLBxDBN5OZDdYqJMPACZd4zh/https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAUXXEMWEKLOLAIBAOC3QWB3V2NDRXANCNFSM567NLBDA
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

ᐧ


Feat: Implement to use a 👍icon next to approved report preview

Details

Fixed Issues
$ https://github.com/Expensify/App/issues/49847
PROPOSAL: https://github.com/Expensify/App/issues/49847#issuecomment-2379422035
Tests

[Employee] Submit a expense as a employee
[Approver] Approve the request
[Approver] Verify the animation after approving the request.
Pay the approved expense and verify 👍 animates out and ✅ animates in

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

Offline tests

[Employee] Submit a expense as a employee
[Approver] Approve the request
[Approver] Verify the animation after approving the request.
Pay the approved expense and verify 👍 animates out and ✅ animates in

QA Steps

[Employee] Submit a expense as a employee
[Approver] Approve the request
[Approver] Verify the animation after approving the request.
Pay the approved expense and verify 👍 animates out and ✅ animates in

[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] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[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 the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[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 is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[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 any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[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(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[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] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/2b3777ba-08d9-4163-b6d4-b7403d973a52

Android: mWeb Chrome
https://github.com/user-attachments/assets/75ca31c9-4155-4ac5-9c67-08403a52330c

iOS: Native
https://github.com/user-attachments/assets/a8adcc0e-7573-48fb-aa9b-56a4f148a004

iOS: mWeb Safari
https://github.com/user-attachments/assets/cb496aa5-b997-4c7c-8f6c-3bf69bbbef87

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/0b3761cf-5189-4f10-8954-97af55480e5e

MacOS: Desktop
https://github.com/user-attachments/assets/917d497c-7fb6-4c08-b1c2-d92b9663d273

@Expensify/design ^

That looks good to me. Keen to hear the others thoughts. I do see a slight jump when the Red Dot disappears though which I think we should probably fix 🤔

Agree about the RBR not going away immediately. It is weird to see the thumbs up icon before the RBR goes away.
We also might want to consider making that top eyebrow line use a height of 20px so we don't get a small jump from 20px down to 16px height once the RBR goes away.

@Krishna2323 what is status?

Agree "RBR not being removed immediately" is out of scope.

I have increased the line-height of the text beside RBR so it won't jump when the RBR is removed.

👍

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:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] 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 the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] 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 is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] 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 any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] 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(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] 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.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@Krishna2323 please also add test: pay after approve. Just to see how 👍 animates out and ✅ animates in

Let us know when there are updated videos/screenshots to review as well!

https://github.com/Expensify/App/pull/50387#issuecomment-2431176540
@Krishna2323 please post videos as well so design team can review them

I think it's looking really good. Will let Shawn and @dubielzyk-expensify weigh in too!

Yep that looks good to me too 👏

Generally looks good to me, but I think I was expecting the same button animation to happen where the button transforms into some kind of "Approved" text... I know a Payment button needs to show up next, so I think we could just fade that Payment button in after a second or so of showing the Approved text. Thoughts on trying something like that out?

And there are many cases where there is just an approver in the chain who can't actually pay the expense. So I think it would be nice to give the Approver a similar experience where they see the "Approved" text show up in place of the Approve button, and then it just slide animates out.

Yeah, that's a good idea. I think given how significant of a UI and action this is, I think it's worth that extra effort 👍

@Krishna2323 can you please address feedback above?

@Krishna2323 bump

I'm unsure if this looks correct. Could you please review it and let me know? Thanks!

That feels pretty good to me, though I would love it if we kept the same height of the preview card if we know there is a payment button that will immediately follow. This way we don't get the quick change in height after the approved button press and right before the Payment button shows up. Thoughts on that?

Agree with Shawn. By making the scroll not move at all, it'd feel a lot better

Agree with Shawn and Jon! If we can avoid that little dip in height between approve and pay that would be ideal.

That feels pretty great to me!

Yeah looking good!

That feels great 😄

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] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[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 the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[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 is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[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 any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[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(theme.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[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] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

https://github.com/user-attachments/assets/56e99787-c441-463c-8e75-8c297f0eacec

Android: mWeb Chrome
https://github.com/user-attachments/assets/80595689-86bc-401f-b8eb-bcfc3fb72b76

iOS: Native
https://github.com/user-attachments/assets/420062a0-5786-4eee-ab2e-2d3d41b02265

iOS: mWeb Safari

https://github.com/user-attachments/assets/1f63affd-d411-44b1-9daa-f358aa4fedb1

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/f1cac3cc-9a54-4dc9-a9b4-fc99e8abff59

MacOS: Desktop

https://github.com/user-attachments/assets/2cfb07ff-2316-4754-91e0-a30890554bfd

@Krishna2323 Could you please resolve conflict?

@Krishna2323 Bump again

@youssef-lr Could you help to review this PR?

: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.

@Krishna2323 this has been reverted due to causing https://github.com/Expensify/App/issues/52873.
I could only reproduce the behavior from the linked issue on a real Android device, but not an emulator.
I reproduced by tapping approve when the keyboard was visible (or clicking approve and then quickly tapping multiple times on the message composer to bring the keyboard up). Afterwards the dropdown arrow stopped working until I left and navigated back to the response chat.
Tried debbuging this ad hoc and removed the following line:
isDisabled={isPaidAnimationRunning || isApprovedAnimationRunning || isDisabled}
but that did not help - it seems this isn't the root cause.

@Krishna2323 I can still reproduce the issue on the original PR branch (Pixel 4a), will try with the new PR in a moment:
https://github.com/user-attachments/assets/8ac7ac25-973e-4bc1-b0bc-4e784a1f0042

Can't reproduce in your new PR: https://github.com/Expensify/App/pull/53373/#issuecomment-2517722187


[SPARK-21008] [STREAMING] Not to read spark.yarn.credentials.file from checkpoint.

What changes were proposed in this pull request?
Reload the spark.yarn.credentials.file property when restarting a streaming application from checkpoint.
How was this patch tested?
Manual tested with 1.6.3 and 2.1.1.
I didn't test this with master because of some compile problems, but I think it will be the same result.
Notice
This should be merged into maintenance branches too.
jira: SPARK-21008

Can one of the admins verify this patch?

ok to test

Test build #77804 has started for PR 18230 at commit 13d40d7.

Test build #77804 has finished for PR 18230 at commit 13d40d7.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/77804/
Test PASSed.

@saturday-shi would you please update the title to track SPARK-19688?

I guess "spark.yarn.credentials.renewalTime" and "spark.yarn.credentials.updateTime" should also be excluded.

I guess "spark.yarn.credentials.renewalTime" and "spark.yarn.credentials.updateTime" should also be excluded.

Thank you for pointing out that. I'll check & fix them.

@jerryshao I've taken a look at spark.yarn.credentials.renewalTime and spark.yarn.credentials.updateTime, but I don't think there is a necessity for excluding them. Changing on these properties means that either delegation token's configuration or Spark itself has been changed. In both case, restarting from checkpoint will not work.
Could you describe some elaborate scenes about the changing of spark.yarn.credentials.renewalTime and spark.yarn.credentials.updateTime? Or just mean to make it more robust?

From my understanding this two configurations will also point to expired timestamp, since each started application will reset it, so no need to checkpoint them.
I think all the Spark on YARN internal configurations used for internal state tracking and passing needn't to checkpoint, they will always be updated in yarn client's launching.

@jerryshao Sorry for the delay.
Currently, Spark checkpoint ALL the configurations no matter it is "internal" or not. So we have to reload ones that should be updated at launching. Probably not to checkpoint the "internal" ones may be a good idea, but it is much like a new feature than a bug fix.
This PR attempt to fix the bug at least changing of codes, so it'll be easily merged into any maintenance branches. I don't care adding more options into the exclude-list, but you'll have to do an extra work to cherry-pick a subset for branches before 2.1, as spark.yarn.credentials.renewalTime and spark.yarn.credentials.updateTime don't exist in old branches.

I don't agree with your point of view, there's already some potential issues regarding to internal configurations, either they will potentially lead to unexpected state, either they're meaningless to checkpoint, I will reserve my opinion if you insist on a point fix.

No, I don't mean to insist on my opinion. I'm just curious to know the reason for the changing (as it looks like another point fix).

Test build #77910 has started for PR 18230 at commit 2c50858.

Test build #77910 has finished for PR 18230 at commit 2c50858.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/77910/
Test PASSed.

The wording in this code always confuses me... I never know what "reload" means (propertiesToReload).
Anyway, I think I understand why this is broken. Because of this in ApplicationMaster:
      if (sparkConf.contains(CREDENTIALS_FILE_PATH.key)) {
        // If a principal and keytab have been set, use that to create new credentials for executors
        // periodically
        credentialRenewer =
          new ConfigurableCredentialManager(sparkConf, yarnConf).credentialRenewer()
        credentialRenewer.scheduleLoginFromKeytab()
      }

So if you start the second streaming application without providing principal / keytab, Client.scala will not overwrite the credential file path, but still the AM will start the credential updater, because the file location is in the configuration read from the checkpoint.
So the workaround is to make sure the restarted application also has the principal / keytab arguments.
As for the fix, it seems only adding the credential file does fix the problem, since the AM code only looks at it to decide whether to start the credential updater thread. But perhaps a better fix would be to fix the AM to look at the correct config (e.g. PRINCIPAL instead of CREDENTIALS_FILE_PATH) when starting the credential updater.

@vanzin "reload" here meanings retrieving back SparkConf from checkpoint file and using this retrieved SparkConf to create SparkContext when restarting streaming application.
This is a streaming specific operation, the original purpose is to keep restarted streaming application be the same state (as well as configurations) as the previous stopped app. But in Spark we have some configurations which are only meaningful in the current application, so recovering these for restarted app is meaningless and will lead to some issues. And for this purpose Spark Streaming maintains a propertiesToReload list which means these configurations will be not be reloaded, instead they will be set during current application-time.

@jerryshao

"reload" here meanings retrieving back SparkConf from checkpoint file and using this retrieved SparkConf to create SparkContext when restarting streaming application.

That explanation is extremely wrong. But your opinion of what the propertiesToReload list does is right.
After restarting from checkpoint, properties in SparkConf will be the same as the previous application. But something like spark.yarn.app.id will be stale an useless in a restarted app. So after retrieving back the SparkConf from checkpoint, we want to "reload" the fresh values from system properties, instead of using old ones in the checkpoint.
@vanzin

So if you start the second streaming application without providing principal / keytab, Client.scala will not overwrite the credential file path, but still the AM will start the credential updater, because the file location is in the configuration read from the checkpoint.

That's probably right, but not the case. I do submit the principal & keytab at restarting and the AM do renew the token using the principal successfully.
I noticed that the SparkConf used by AMCredentialRenewer and CredentialUpdater seems NOT THE SAME. The credential renewer thread launched by the AM will work correctly, but the credential updater in executor backend - which uses configs provided by the diver - will confuse and fail in its job. So just fixing the AM code doesn't make much sense.
FYI, the log of AMCredentialRenewer looks like this:
17/06/07 15:11:14 INFO security.AMCredentialRenewer: Scheduling login from keytab in 96952 millis.
...
17/06/07 15:12:51 INFO security.AMCredentialRenewer: Attempting to login to KDC using principal<EMAIL_ADDRESS>17/06/07 15:12:51 INFO security.AMCredentialRenewer: Successfully logged into KDC.
...
17/06/07 15:12:53 INFO security.AMCredentialRenewer: Writing out delegation tokens to hdfs://nameservice1/user/xxx/.sparkStaging/application_1496384469444_0036/credentials-044b83ea-b46b-4bd4-8e98-0e38928fd58c-1496816091985-1.tmp
17/06/07 15:12:53 INFO security.AMCredentialRenewer: Delegation Tokens written out successfully. Renaming file to hdfs://nameservice1/user/xxx/.sparkStaging/application_1496384469444_0036/credentials-044b83ea-b46b-4bd4-8e98-0e38928fd58c-1496816091985-1
17/06/07 15:12:53 INFO security.AMCredentialRenewer: Delegation token file rename complete.
17/06/07 15:12:53 INFO security.AMCredentialRenewer: Scheduling login from keytab in 110925 millis.
...

It renews the token successfully and saves it to application_1496384469444_0036's dir.
But the CredentialUpdater (started by YarnSparkHadoopUtil) complains about this:
17/06/07 15:11:24 INFO executor.CoarseGrainedExecutorBackend: Will periodically update credentials from: hdfs://nameservice1/user/xxx/.sparkStaging/application_1496384469444_0035/credentials-19a7c11e-8c93-478c-ab0a-cdbfae5b2ae5
...
17/06/07 15:12:24 WARN yarn.YarnSparkHadoopUtil: Error while attempting to list files from application staging dir
java.io.FileNotFoundException: File hdfs://nameservice1/user/xxx/.sparkStaging/application_1496384469444_0035 does not exist.
...

... which says that the credentials file doesn't exist in application_1496384469444_0035's dir.

Ok, I think I follow the code path now. The AM uses the conf from the user, while SparkContext (which provides the conf to the executors) loads it from the checkpoint and needs to overwrite the properties listed in the "reload" list.
Anyway, current patch looks good. Merging to master / 2.2 / 2.1 / 2.0 / 1.6 (although I wouldn't hold my breath for a new 1.6 release).

@saturday-shi I don't know your jira handle, let me know it if you want the bug to be assigned to you.

@vanzin Xing Shi (saturday_s), thanks.


[fmt] fix format conflict

Fix #25109
Added patch fix-format-conflict.patch(https://github.com/fmtlib/fmt/issues/2896), use qualified format_to call to avoid ADL conflict with std::format_to.
No feature needs to test.

This looks wrong. The patch only modifies docs (doc/api.rst).

Waiting for user verification.

This looks wrong. The patch only modifies docs (doc/api.rst).

This change comes from upstream, format_to conflict with std::format_to, so add a namespace to avoid this.

@Adela0814:
I think you have the wrong patch. vcpkg shouldn't install docs so there is no reason to patch docs.

This change comes from upstream, format_to conflict with std::format_to, so add a namespace to avoid this.

I know about that and encountered that in HPX. *.rst files are not source files so your current change does not lead to a different output library. Basically FMT_DOC should be set to false/off in the portfile which it is https://github.com/microsoft/vcpkg/blob/be9fb7d37753f0f5e8829a417a9786b1a0626dd7/ports/fmt/portfile.cmake#L18
which thus deactivates the subfolder doc/ completely
https://github.com/fmtlib/fmt/blob/b135f1c01449f6f41be3933437797e768b54295a/CMakeLists.txt#L353-L355
So your change here doesn't do anything to the output of vcpkg.

You want to patch include/fmt/format-inl.h(78)

@Adela0814:
I think you have the wrong patch. vcpkg shouldn't install docs so there is no reason to patch docs.

This change comes from upstream, format_to conflict with std::format_to, so add a namespace to avoid this.

I know about that and encountered that in HPX. *.rst files are not source files so your current change does not lead to a different output library. Basically FMT_DOC should be set to false/off in the portfile which it is
https://github.com/microsoft/vcpkg/blob/be9fb7d37753f0f5e8829a417a9786b1a0626dd7/ports/fmt/portfile.cmake#L18
which thus deactivates the subfolder doc/ completely
https://github.com/fmtlib/fmt/blob/b135f1c01449f6f41be3933437797e768b54295a/CMakeLists.txt#L353-L355
So your change here doesn't do anything to the output of vcpkg.

Thanks for your comment, I will update this PR.

@frits-greuter, Could you try if this PR solves your problem?


[Bug] IPSec VPN: Wrong VPN Types offered with IKEv2

In case of setting up a VPN for mobile clients (roadwarrior) the phase1 settings offers wrong authentication methods in conjunction with "IKEv2" as key exchange version.

Hybrid RSA + Xauth
Mutual RSA + Xauth
Mutual PSK + Xauth

If I understand the strongswan documentation correctly [1], "Xauth" is only supported for "IKEv1". I investigated a little bit because it was not possible to get a connection from androids' strongswan client with mode (Mutual RSA + EAP User/Password).
If I manually change the "rightauth2" parameter in the "ipsec.conf" from "xauth" to "eap-mschapv2" the strongswan client on my mobile phone works fine. So I think the authentication methods have to be adapted to IKEv2 (e.g. Mutual RSA + EAP MSCHAPv2, ...) if the latter is selected.
Opnsense version: 17.7.8
[1] https://wiki.strongswan.org/projects/strongswan/wiki/ConnSection

Is anybody here familiar with IPSEC IKEv2 and Strongswan respectively using it?

My testing of the IPSEC functionality in OPNSense shows that its pathologically broken - they can site-to-site with each other, but aren't compatible with mainstream IKE implementations in v1 or v2. We solved this problem in openstack's vpnaas via libreswan, but getting that to build on BSD is apparently a nightmare (i tried). Our solution was to move as much as we could to OpenVPN and use an alternative ipsec terminator when required.

Is there anybody who can help to solve this problem? With every update of the opnsense, I have to manually update the configuration. In my opinion the GUI should allow to configure {left|right}auth and {left|reight}auth2 separately.

What configuration do you need and for what use-case? IKEv2 + eap-mschapv2 is supported, if I'm not mistaken it's approximately the use-described here https://wiki.strongswan.org/projects/strongswan/wiki/Win7EapMultipleConfig

I need mutual RSA + eap-mschapv2. This is not configurable via the GUI
leftauth = pubkey rightauth = pubkey rightauth2 = eap-mschapv2

@somova can you try https://github.com/opnsense/core/commit/66191476ddc4f8c30d8756654304ba11787f4289 ?
To install the patch, use:
opnsense-patch 661914

@AdSchellevis: Thank you, the patch works great

Shipping in 18.1.12 then, thanks for testing! ❤


Fix #476 : delete dangling build artifacts before migration

Fix #476 : Delete dangling build artifacts before migration.

@pierrotsmnrd going forward I was wondering what adjustments would be needed in the orm model?

@costrouc my understanding is that nothing else is necessary.
This line ensures the on-delete cascade from build to build_artifacts and was added 2 years ago.
So :

Either there's something we haven't spot yet in the codebase that leads to dangling build_artifacts (but what ?)
Or the case we encountered is the result of an old install of conda-store, where builds has been deleted before the on-delete cascade was added. Considering this identified case is using an old Postgres 11.14, this hypothesis could make sense. Or maybe they tinkered with their data and we don't know.


feat: Add useTopics model hook and query for topics listing

This commit adds a new useTopics model hook, which makes GraphQL
requests to the server to administer Kafka topics.
The hook returns a set of sub-hooks, with just the useGetTopics
sub-hook implemented for now. useGetTopics returns the list of topics
(including name, number of partitions and number of replicas).

Contributes to: #124
Signed-off-by: Andrew Borley<EMAIL_ADDRESS>

@matthew-chirgwin  - I have pushed up a new commit based on your suggestions. It seems to work fine in webpack-dev-server and the e2e server, and tests are passing, but I'm getting an eslint warning that I haven't been able to get past so far.


response.headers should not be in lowercase

Tell us about your environment:

Puppeteer version: master branch

What steps will reproduce the problem?
response.headers: all headers keys are lower case
Ex: response.headers.['content-type'] is not a valid HTTP1.1 header...
What is the expected result?
Can you provide an option to have "real" headers keys?

Is that true? According to https://stackoverflow.com/a/41169947/274673, header names are case-insensitive in both http1.1 and h/2.
This was changed in https://github.com/GoogleChrome/puppeteer/commit/66912a7277a7baf99ff25d23a7531ee39521b1ea and the docs call out headers by all lower case.

Case-insensitive OK... Ty for the link.
But it should not force lowercase on all keys...

@HanXHX header names are lower-case intentionally so that it's easy to query them.


We should remove the household heat pump buffers from the ETM

The heat demand profiles for households have been smoothed a month ago. One of the effects is that heat deficits do not occur anymore for all heat pumps (air, ground, hybrid). At least that is what I conclude from the charts below (scenario: https://beta-pro.energytransitionmodel.com/saved_scenarios/4488)

This is what I see when using the heat buffer sliders:

If I install heat buffers for heat pump ground and heat pump air (hot water and space heating), only the total costs changes and nothing else (CO2, energy use)
If I install a heat buffer for the hybrid heat pump, also the energy use and % renewables changes. This is interesting, since no heat deficits take place....

@antw , @DorinevanderVlies do you maybe have time to look into this?
If heat buffers do not have an effect anymore, we should consider removing this feature!
Notifying @ChaelKruip

I don't feel qualified to say whether it's right to remove the buffers or not from a modelling point of view. However, anything that makes heat pumps simpler (especially HHPs) gets a big :+1: from me; so...
:+1:

@AlexanderWirtz @jorisberkhout @michieldenhaan @MartLubben what do you think?

Ok for me to remove them.
I remember Gasunie was keen on this addition. So I think we should inform them before removing het buffers. We can explain that the effect is non-existent with the update of the smoothed curves. I have to contact Martijn this afternoon about II3050 presets and will ask/inform him about this.

Gasunie has agreed that we could remove this section! @mabijkerk could you maybe pick this up this week?
This is the section where it's all about: https://beta-pro.energytransitionmodel.com/scenario/flexibility/flexibility_net_load/demand-response-buffers-for-heat-pumps
Removing this section includes removing:

the slide (ETModel)
the sliders / input elements (ETModel)
the slide and slider translations (ETModel)
the inputs for the sliders (ETSource), these can be found here: https://github.com/quintel/etsource/tree/master/inputs/flexibility/households
the section about buffers on our documentation: https://docs.energytransitionmodel.com/main/heat-pumps

@antw the back-end should also be removed at some point, but has no hurry. We can keep the issue open until that's sorted

@marliekeverweij I created pull request for "remove-heat-pump-buffers" branches in ETModel, ETSource and Documentation.

I have removed the household heat pump section as requested. The following graph however still shows the possibility for deficits, and for buffering and time-shifting:

@antw @DorinevanderVlies does either of you know whether deficits, buffering and time-shifting can still occur for households now that the option to set household heat pump buffers has been removed from the model? I ask this because deficits, buffering and time-shifting does still occur for buildings, even though no sliders can be set manually for heatpumps buffers in buildings:

If, with the removal of heat pump buffers for households, deficits and buffering and time-shifting can no longer occur for households, then we can delete those timeseries from the "Heat demand and production in households" graph right?
Finally, we might also need to revise the documentation (https://docs.energytransitionmodel.com/contrib/fever/).

@antw @DorinevanderVlies does either of you know whether deficits, buffering and time-shifting can still occur for households

Yes. Space heaters are allowed to defer (time-shift) their demand up to four hours.

Yes. Space heaters are allowed to defer (time-shift) their demand up to four hours.

Ok, thanks for the explanation! Then this issue can remain open until the back-end is removed.

@antw we maybe want to keep the buffers for hot water heat pumps in households. So could you not remove the back-end of the buffers yet? :)


Improve grammar and spelling in README

This improves grammar and spelling in the README for smoother reading.

I updated the pull request, please check it again.


Should font size be responsive to window dimensions?

Bevy version
0.7.0
What you did
I might declare a UI node like this:
    let title = commands
        .spawn_bundle(TextBundle {
            style: Style {
                margin: Rect {
                    bottom: Val::Px(75.0),
                    ..default()
                },
                ..default()
            },
            text: Text::with_section(
                "main menu",
                TextStyle {
                    font: asset_server.load("fonts/FiraSans-Bold.ttf"),
                    font_size: 200.0,
                    color: Color::WHITE,
                },
                Default::default(),
            ),
            ..default()
        })
        .insert(MenuTitle)
        .id();

Where font_size has to be described in pixels (or point size?).
If my game is in windowed mode and the window is resized, it isn't clear to me how to easily resize the font_size to be responsive to the changes. font_size is responsive to changes in the device scale_factor.
As a side note, the margin (or any element defined in pixels) is not responsive to the window size changing.
I'm not sure if it should be, but it does seem like there should be a way to scale to the size of the window.
A system to handle this is somewhat complicated to write, because different controls might have different sizes and the base size isn't tracked by the TextStyle. One way to do it is to provide a component that tracks this information.

If you are changing font sizes or ui scaling dynamically consider using Transform::scale to modify the size is part of an error message when I tried to implement this functionality in my project. This tip seems interesting but I have no idea how Transform::scale can be used for font size scaling. Example for that would be greatly appreciated. Also not sure how to access TextSettings.max_font_atlases to begin with.

If you are still looking for an example, take a look at this example "Text 2D"


FR: Support new buildpacks key in manifest.yml

New version of the CF CLI supports multiple buildpacks in manifest.yml with the buildpacks array:
buildpacks:
- buildpack1
- buildpack2

However it seems that the same is not yet supported by blue-green-deploy. Here is the error I receive when I try to use cf bgd -f manifest.yml with a multiple buildpacks manifest:
Could not push new version - Error reading manifest file:
The following manifest fields cannot be used with legacy push: buildpacks

Would it be possible to add support for new manifest fields in a new version of the plugin?

This might be related to the underlying cf cli plugin architecture, moreso than this plugin.
For reference: https://www.pivotaltracker.com/n/projects/892938/stories/160460938

Any work arounds ? Can we use multiple buildpacks with this plugin ?

Hi,
any update on this?

Having this issue in Travis. Honestly not an issue yet because it just says it's deprecated but sooner or later support for the legacy - buildpack will we stopped and we won't be able to deploy any more.

Just experienced the same thing also. My deployment simply stopped/failed:
Could not push new version - Error reading manifest file:
The following manifest fields cannot be used with legacy push: buildpacks
Unable to push the instance live. Aborting.

I can work around it possibly bypassing the blue-green-deploy, however would be nice this would be supported.

Please refer this documentation: https://docs.cloudfoundry.org/buildpacks/use-multiple-buildpacks.html

This is great but that's not going to solve the fact that the manifest eventually is going to be completely broken. This needs an update to the travis plugin


Use gensites for populating repository information

Related to work done in #33. We could use gensites to generate that info.

Also related to #10 in that we would want to standardize the IDs.


Report message URL

Describe the bug
I noticed that messages are still telling the user to use the old URL https://github.com/aroberge/friendly-traceback/issues
That URL correctly redirects to https://github.com/aroberge/friendly/issues but should it be changed in the source?
I mean... it's not exactly a bug I guess, but I can make a simple PR if you like.
Expected behavior
Correct URL should be displayed in the message.
Screenshots

Which Python version and Friendly version are you using
Python=3.9
friendly = "^0.3.12"

If you want to do it, you can go ahead. But it's on my list of things to do and I will probably get to it this weekend. For me, it will be a simple search and replace, followed by undating the language file so that it can be translated).  I do appreciate the reminder, indicating that this should be taken care of sooner rather than later.
So, to sum up: feel free to make a PR, but even if you do not, I do appreciate the fact that you filed this issue.

Thanks, I guess I will leave it to you then!

Thanks for the extra motivation. Three links have been updated in the original and French translation.


add icon to fql

hello icon material devs, I'm very satisfied with your icon theme, I love it I always use it, today I went to create a scraper with ferret, using fql a declarative scraper language for ferret, but the file didn't have an icon, add one icone for fql files, if you want an image here is one: image.
:heart:  Thank you, until next time!

note: I didn't do a PR to add an icon because I don't know how an icon theme works in vscode, so I opened an insue, I hope it's not a problem.

How'd you can see in about section of readme all icons and file assignments on this project are pulled directly from VS Code material icon theme, so you might not ask in here for adding an icon... 🙂
My advice is to open an issue in here and ask for it! Easy as that.

Hey all! Yeah, unfortunately we don't really handle icon changes/requests on this repo since this only creates the browser extension that in turns uses the icons from the project @dovatti mentioned. Thanks for opening the issue @J4c5, I hope you manage to get it sorted upstream.
I'll close this issue since there is no action to be taken here.


download: broken at Yukicoder No.750,751

https://yukicoder.me/problems/no/750
https://yukicoder.me/problems/no/751

https://yukicoder.me/problems/no/750
https://yukicoder.me/problems/no/751
I checked the HTML source.
In no.750 and no.751, I found that the
 tag was written within the
 tag.
Ex) no.750 サンプル1

6
1 1
7 4
0 5
1 3
-8 9
5 1

I guess that is the cause of the bug.

@kawacchu If you're interested in, please make the pull request!

@kmyk @fukatani
Although I'm a beginner in this field, I will do my best!
When I'm in trouble, I ask for your advice!

I am going to prepare my pull request!
Which branch is preferable, master or develop?
My pull request will solve this issue, but will remain unexpected behavior for the user in some problems. (although I have never seen in real environment.)

Please create branch from master. I removed develop branch.

My pull request will solve this issue, but the unexpected behavior for the user will remain in some problems. (although I have never seen it in a real environment.)

Unittest and code review reduce such a risk, let's do our best together!

OK, thanks!

This issue is fixed by https://github.com/kmyk/online-judge-tools/pull/552, and the remaining problem is opened as https://github.com/kmyk/online-judge-tools/issues/553.
Thank you, @kawacchu.


Intermittent crash while navigating between library and search

Steps to reproduce
This is just what I had done during the most recent occurrence. It's not really a guaranteed reproducer due to the nature of this potential bug.

Leave Mihon open in the background for a while, on a series page
Return to library
Perform a global search
View a couple of the search results
Add one of the search results to library
Back out of the search

Expected behavior
Eventually the main library view is displayed again
Actual behavior
Mihon crashes with the error trace below
Crash logs
Note: I had to extract these from a screenshot using Google Lens, as the traceback display doesn't allow selecting text. Original screenshot included below.
java.lang.Throwable: java.lang.IllegalArgumentException: Key eu.kanade.tachiyomi.ui.library.LibraryTab:current Tab was used multiple times
at coll.compose UtilsKtSonStateOf$1 invoke(SourceFile:17) at coil.compose UtilsKtSonStateOf$1.invoke(SourceFile:165)
at androidx.compose.runtime. DisposableEffectimpl.onRemembered (Unknown Source:4)
at androidx.compose.runtime.CompositionimplŞRememberEventDispatcher.dispatch RememberObservers(Unknown Source: 103)
at androidx.compose.runtime.Compositionimpl.applyChangesInLocked(Unknown Source:63)
at androidx.compose.runtime.CompositionImpl.applyChanges (Unknown Source 5)
at androidx.compose.runtime. Recomposer Srun RecomposeAndApplyChanges$2$1 invoke(Unknown Source:201)
at androidx.compose ui platform. AndroidUiFrameClockSwithFrameNanos$2Scallback$1.doFrame(Unknown Source:6)
at androidx.compose.ul platform. AndroidUiDispatcherSdispatchCallback$1.doFrame(Unknown Source:47)
at android.view.Choreographer$Callback Record.run(Choreographer.java:1550) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1561)
at android.view.Choreographer.doCallbacks(Choreographer.java:1117)
at android.view Choreographer.doFrame(Choreographer.java:992)
at android view Choreographer FrameDisplay EventReceiver run(Choreographer java:1535)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java: 257)
at android.os.Looper.loop(Looper.java:368)
at android.app.ActivityThread.main(ActivityThread.java:8825)
at java.lang.reflect.Method.invoke(Native Method) at com.android. intemal.os. RuntimelnitŚMethodAndArgsCaller.nun(Runtimelnit.java:572)
at com android internal.os.ZygoteInit.main(Zygotelnit.java:1049)
Suppressed: kotlinx coroutines.internal. DiagnosticCoroutineContextException: [androidx.compose.runtime. PausableMonotonicFrameClock@bacf967, androidx.compose.ui.platform.MotionDurationScalelmpl@94dc314, StandaloneCoroutine(Cancelling)@d0457bd, AndroidUIDispatcher@6c321b2|

Mihon version
0.16.3
Android version
OxygenOS 14
Device
OnePlus Pad
Other details
I've had this crash on a pretty regular basis since switching from Tachiyomi by importing my library backup. I have searched the issue tracker a few separate times to see if the error type or Key was mentioned in any existing issues.

Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have gone through the FAQ and troubleshooting guide.
[X] I have updated the app to version 0.16.3.
[X] I have updated all installed extensions.
[X] I will fill out all of the requested information in this form.

Very well known issue but we currently have no fix or workaround at hand for this. Thanks for filing the issue.

I face this crash at least a couple of times a day, I can reproduce it randomly by
1- leaving the app in the background for a while on library page sceeen (I have multiple categories)
2- edge swiping back to close the app
This usually happens when the swiping gesture also swipes the category tabs at the same time.
The device is Galaxy A50 on Android 12, running mihon 0.16.3

2- edge swiping back to close the app

Wow, thanks for mentioning this. I didn't even think about the fact that my device is using edge-swipe navigation when filing my initial report.
I will have to pay attention to which side of the screen I use for Back gestures. The bulk of my library is in the first category tab, and therefore swipes from the right edge should have a much higher chance of triggering this crash if it is indeed related to the Back gesture also triggering a category change. (If I can remember to do so,) I'll go a few days only swiping from the left and see if it affects how often I get this crash.

Seems to be the same as #282

@pudup So it does, indeed. Don't know how I missed that across 3 or 4 searches of the issue tracker before opening this.


Clarify language rules in README.md

With the current documentation, it's unclear what one needs to do if they want the captions for a single video which is not in English, nor what to do if they only want one language, with no fallback (albeit this is slightly clearer than the first case.

@nbonato thank you for your contribution! 👍


XSS Security Vulnerability

@kevinmmansour This issue needs your immediate attention!
Try entering this markdown syntax:
[Click Me](javascript:alert('XSS'))

This can allow malicious scripts to run on any user's browser that views this.
These problems are also mentioned in marked.js too:

Warning: 🚨 Marked does not sanitize the output HTML. Please use a sanitize library, like DOMPurify (recommended), sanitize-html or insane on the output HTML! 🚨

I'm no security expert, but I'm pretty sure:
We'll need to sanitize the inputs.
IMPORTANT: We need to sanitize the markdown after marked.js processes it, because of attacks like this:
> hello  href="javascript:alert('XSS')">*you*

OK. We can use DOMPurify. I would appreciate if you can create a pull request (if applicable).


Breaking change in serde macro

All of this is on the rust:1.71 docker image:
Running cargo install sqlx-cli --no-default-features --features rustls,postgres fails with a strange error:
24.86 error[E0507]: cannot move out of `*self` which is behind a shared reference
24.86   --> /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/cargo_metadata-0.14.2/src/diagnostic.rs:95:24
24.86    |
24.86 95 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Hash)]
24.86    |                        ^^^^^^^^^
24.86    |                        |
24.86    |                        data moved here
24.86    |                        move occurs because `unrecognized` has type `Applicability`, which does not implement the `Copy` trait
24.86    |
24.86    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
24.86 help: consider borrowing here
24.86    |
24.86 95 | #[derive(Debug, Clone, &Serialize, Deserialize, PartialEq, Eq, Hash)]
24.86    |                        +
24.86
24.91 error[E0507]: cannot move out of `*self` which is behind a shared reference
24.91    --> /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/cargo_metadata-0.14.2/src/messages.rs:101:24
24.91     |
24.91 101 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Hash)]
24.91     |                        ^^^^^^^^^
24.91     |                        |
24.91     |                        data moved here
24.91     |                        move occurs because `unrecognized` has type `Message`, which does not implement the `Copy` trait
24.91     |
24.91     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
24.91 help: consider borrowing here
24.91     |
24.91 101 | #[derive(Debug, Clone, &Serialize, Deserialize, PartialEq, Eq, Hash)]
24.91     |                        +
24.91
25.06 For more information about this error, try `rustc --explain E0507`.
25.07 error: could not compile `cargo_metadata` (lib) due to 2 previous errors

full log:  log.txt
But running cargo install sqlx-cli --no-default-features --features rustls,postgres --git https://github.com/launchbadge/sqlx --locked succeeds.
full log: log-works.txt

I first observed this in https://github.com/launchbadge/sqlx/issues/2704

I believe this was fixed in https://github.com/serde-rs/serde/releases/tag/v1.0.185 so you may just have to cargo update

Duplicate of https://github.com/serde-rs/serde/pull/2592


Raise error if background value is found in multiple rows

As an example, if the background value in the marker sheet points to multiple channels (pointing is done by matching to the marker_name value), the scalar critical for the subtraction calculation would be a list of multiple values (1 per matched row). As denoted in the documentation, it is important that the marker_name column only contains unique values as it is used for background channel matching and an error should be raised if this happens.

Test marker sheet without biological significance:
channel_number,cycle_number,marker_name,filter,background,remove,exposure
1,1,PK,Alexa488,,,100
2,1,CD11c,Alexa594,,,100
3,1,PK,Alexa647,,TRUE,100
4,1,CD163,Cy7,PK,,100
5,1,DAPI_1,DAPI,CD11c,,100
6,1,AF_1,AF,,TRUE,100

Command output:
Command error:
  2024-09-04 07:38:43.522 | INFO     | __main__:write_pyramid:171 - Writing to small_test_backsub.ome.tif
  Pixel size overwrite not specified
  Channel PK (0) processed, no background subtraction
  Channel CD11c (1) processed, no background subtraction
  Channel PK (2) processed, no background subtraction
  Channel CD163 (3) processed, background subtraction
  Channel DAPI_1 (4) processed, background subtraction
  Channel AF_1 (5) processed, no background subtraction
  [(1024, 1024), (1024, 1024), (1024, 1024)]

  Assembling mosaic  1/ 1 (channel  1/ 4):   0%|          | 0/8 [00:00<?, ?it/s]
  Assembling mosaic  1/ 1 (channel  1/ 4): 100%|##########| 8/8 [00:00<00:00, 439.75it/s]

  Assembling mosaic  1/ 1 (channel  2/ 4):   0%|          | 0/8 [00:00<?, ?it/s]
  Assembling mosaic  1/ 1 (channel  2/ 4): 100%|##########| 8/8 [00:00<00:00, 520.51it/s]

  Assembling mosaic  1/ 1 (channel  3/ 4):   0%|          | 0/31 [00:00<?, ?it/s]
  Assembling mosaic  1/ 1 (channel  3/ 4):  77%|#######7  | 24/31 [00:00<00:00, 1523.42it/s]
  Traceback (most recent call last):
    File "/background_subtraction/background_sub.py", line 429, in <module>
      main(args)
    File "/background_subtraction/background_sub.py", line 416, in main
      write_pyramid(
    File "/background_subtraction/background_sub.py", line 180, in write_pyramid
      tif.write(
    File "/opt/conda/envs/backsub/lib/python3.9/site-packages/tifffile/tifffile.py", line 3049, in write
      iteritem, dataiter = peek_iterator(dataiter)
    File "/opt/conda/envs/backsub/lib/python3.9/site-packages/tifffile/tifffile.py", line 21409, in peek_iterator
      first = next(iterator)
    File "/opt/conda/envs/backsub/lib/python3.9/site-packages/tifffile/tifffile.py", line 21413, in newiter
      yield from iterator
    File "/opt/conda/envs/backsub/lib/python3.9/site-packages/tifffile/tifffile.py", line 21413, in newiter
      yield from iterator
    File "/background_subtraction/background_sub.py", line 241, in tile_from_combined_mosaics
      c = da_to_zarr(c) if save_RAM else c.compute()
    File "/opt/conda/envs/backsub/lib/python3.9/site-packages/dask/base.py", line 342, in compute
      (result,) = compute(self, traverse=False, **kwargs)
    File "/opt/conda/envs/backsub/lib/python3.9/site-packages/dask/base.py", line 628, in compute
      results = schedule(dsk, keys, **kwargs)
    File "/background_subtraction/background_sub.py", line 337, in scale_background
      background_channel = np.rint(ne.evaluate("background_channel * scalar"))
    File "/opt/conda/envs/backsub/lib/python3.9/site-packages/numexpr/necompiler.py", line 827, in evaluate
      return compiled_ex(*arguments, **kwargs)
  ValueError: operands could not be broadcast together with shapes (2793,1860) (2,)


New package: QXTools v0.1.7

Registering package: QXTools
Repository: https://github.com/JuliaQX/QXTools.jl
Created by: @nmoran
Version: v0.1.7
Commit: bfbcecd331bfd9661663dea2b5111cb055a8e230
Git reference: HEAD

[noblock]
Hoping this can be merged manually despite the name being a distance 2 from IRTools since

I have already changed the name to try to avoid name conflicts and am running out of ideas
The QXTools name works with the rest of the packages already registered at github.com/JuliaQX
Seems overly restrictive to not allow packages with names with format XXTools

Seems overly restrictive to not allow packages with names with format XXTools

The point of the automatic check isn't to not allow packages with names with format XXTools, but to prevent malicious typosquatting: a human has to manually review the pull request to make sure everything is OK

As a matter of fact, using 2-letter acronyms + a common word has a very high probability of being similar to the name chosen by someone else who had the same idea.

[noblock] Great! Thanks for explaining the logic behind this. Makes a lot of sense.


Скласти інтро

Скласти інтро (вступ), де в 2-4 реченнях описати, що замовник робить, що подобається робити, що хочеться робити краще, що важливо робити, тощо.

I'm new to it
For two years now, I have been making my way into this sphere of activity on my own due to hopelessness. Not everything goes smoothly in life, but Superman inspires me

I'm new to it
For two years now, I have been making my way into this sphere of activity on my own due to hopelessness. Not everything goes smoothly in life, but Superman inspires me

I'm new to it
For two years now, I have been making my way into this sphere of activity on my own due to hopelessness. Not everything goes smoothly in life, but Superman inspires me

I'm new to it
For two years now, I have been making my way into this sphere of activity on my own due to hopelessness. Not everything goes smoothly in life, but Superman inspires me


[BUG] Cannot open Member from CheckBot - suspected internal error

Describe the bug
I cannot open Member from CheckBot - I kindly ask your help on the internal error reported by Member on opening.

followed by:

To Reproduce
Click on "Open member" once a member is selected in CheckBot.

Expected behavior
Member has to start normally.
Desktop (please complete the following information):

OS: Windows 11
IOM Version: latest from ideastatica-public
IdeaStatiCa Version: <IP_ADDRESS>6

Additional context
Please see IdeaMember.log excerpt attached:
IdeaMemberLog.txt
IDEA StatiCa folder with CheckBot model:
IDEAfolder.zip

Hi @johnnyontheweb please contact support centre regarding this issue. https://www.ideastatica.com/support-center

Hi, thanks for replying, unfortunately I get the error "Error creating case." from Support Center portal.

Tested after #355 , still not working.

Hi Johny, thank you for the information and for submitting the support ticket to the Support Centre. We have analyzed it already and the reason for the Member application failure is that the member being imported has a zero length. This causes the Member application to fail to create a project.
We will fix the way we explain this situation to the customer into some of the next patches, but please try to check, if this could be the right reason for this failure. Thank you.

Hi Martin,
thanks for replying, I've already forced any member written in IOM with a non-zero length, also by manually assigning the .Length property. This does not solve the error; I kindly ask how the member length is acquired, I'll continue testing on my end.

Hi @johnnyontheweb,
I will respond here. When creating a sub-structure or design member it is currently a requirement to have a connection at either end of the member.
We are currently not validating this requirement on import, hence why the import works correctly but when opening member there is an issue.
So to get it to work as it currently stands, you should also define a connection in the IOM and reference it as well as one of the imported items. I have attached an updated IOM.xml file which should work.
Import_nl.zip
Cheers
Nathan

Thanks @nathanlukeIDEA for the reply, actually I was expecting it on the opened User Portal issue.
As a consequence, I forced to have always connections defined in IOM for both ends of a member, even if the user did not select both end nodes of a beam.
It turned out that the "zero-length" error was referred to beams connected to end nodes of the member, so the portion of the structure I should write in IOM must include also these other beams with their nodes.
I usually pass to IOM only the selected portion of the structure to avoid writing a huge amount of data, but I'm currently experiencing some syncing issues (i.e. overlapped elements on second run - if it happens again, I'll start another thread there).
For future, I think a more verbose error would be of a great help.

Hi @johnnyontheweb,
We will also close the Portal issue. Are you using the BIMAPI and BIMAPILink interfaces now?
https://developer.ideastatica.com/docs/bimapi/bimapi_checkbot_link.html
This will dramatically help with reducing syncing errors.
An addition to the error messages, we will try and validate the import to ensure any member requirements are automatically fixed. As you will notice if you delete the Member and then re-instate it in the Checkbot UI, the end connection automatically gets added so we will try and allow this for imported IOM structures as well.
Regards
Nathan

Hello,
no, I'm not using BIMAPI and BIMAPILink interfaces - is this a new (and different) method to communicate woth CheckBot?
In any case, I expect the current code to work.
I amended my code by removing all the calls to GetMaxId, and this made stable the modelling data passed to CheckBot: this is to  avoid passing the same element with different ID. On CheckBot opening all is working fine (connections and members are ok), but....
I still get different error when I press "Sync" in CheckBot, and I cannot syncing the model in any case due to the following errors. Please note that selection in fea is changed (different nodes and elements to import).
ERROR 1:

2023-11-10 09:04:26.978 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel] SynchronizeCommand failed with error: System.IO.FileNotFoundException: Connection data contract file does not exist. 2023-11-10 09:04:26.978 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel] HRESULT: 0x80070002 2023-11-10 09:04:26.979 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel] Source: IdeaStatiCa.ConnectionChecks 2023-11-10 09:04:26.979 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel] Stack trace: 2023-11-10 09:04:26.979 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaStatiCa.ConnectionChecks.Service.ConnectionDataContractStorage.Load(String connWorkingDir, Boolean updateToLatestVersion) 2023-11-10 09:04:26.979 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaStatiCa.Helpers.ConnectionDataContractUpdater.ReadConDataContract(IConnectionPoint cp) 2023-11-10 09:04:26.979 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaStatiCa.Store.Helpers.ConnectionPointTools.AddBeamsToDataContract(State state, ConnectionDataContractUpdater connectionUpdateService, SelfConnectionEditorContextProvider editorContextProvider, LibCommandFactory cmdWSFact, IConnectionPoint cp) 2023-11-10 09:04:26.979 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaCheckbot.BookmarkTableDriveResolver.ProcessFile(State lockMap, ConnectionDataContractUpdater captionSet, SelfConnectionEditorContextProvider handler, LibCommandFactory nodeAvailable, IConnectionPoint parentVersion) 2023-11-10 09:04:26.979 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaStatiCa.Store.Helpers.ConnectionAutomationClientGRPC.WriteEditedConToTemp(State currentState, IConnectionPoint cp) 2023-11-10 09:04:26.979 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaStatiCa.Store.Reducers.ConnectionReducer.WriteEditedConPointToTemp(State state, ContainerStorageImmutable storage, ReducerState newState) 2023-11-10 09:04:26.979 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaStatiCa.Store.Reducers.ConnectionReducer.StorageAction(State state, IConnControlService connClientServic, State previousState, IModuleService moduleService, ContainerStorageImmutable storage) 2023-11-10 09:04:26.979 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaStatiCa.Store.Reducers.ConnectionReducer.Invoke(IAction action, State state, State previousState) 2023-11-10 09:04:26.979 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaStatiCa.Store.Reducers.Reducer.InvokeInternal(State newState, IAction action) 2023-11-10 09:04:26.979 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaStatiCa.Store.Reducers.Reducer.Invoke(State currentState, IAction action) 2023-11-10 09:04:26.979 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in Redux.Store1.InnerDispatch(IAction action)
2023-11-10 09:04:26.979 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaStatiCa.ViewModels.ModelEntitiesViewModel.<>c__DisplayClass30_1.<<-ctor>b__25>d.MoveNext()`
ERROR 2:

2023-11-10 09:04:08.871 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel] SynchronizeCommand failed with error: System.ArgumentNullException: Il valore non può essere null. 2023-11-10 09:04:08.872 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel] Nome parametro: path2 2023-11-10 09:04:08.872 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel] HRESULT: 0x80004003 2023-11-10 09:04:08.872 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel] Source: mscorlib 2023-11-10 09:04:08.872 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel] Stack trace: 2023-11-10 09:04:08.872 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in System.IO.Path.Combine(String path1, String path2) 2023-11-10 09:04:08.872 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaStatiCa.ConnectionInProjectTools.GetConnectionTempData(ProjectLocationInfo projectLocationInfo, IConnectionPoint connectionPoint, Boolean useExistingTempData) 2023-11-10 09:04:08.872 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaStatiCa.Helpers.ConnectionDataContractUpdater.ReadConDataContract(IConnectionPoint cp) 2023-11-10 09:04:08.872 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaStatiCa.Store.Helpers.ConnectionPointTools.AddBeamsToDataContract(State state, ConnectionDataContractUpdater connectionUpdateService, SelfConnectionEditorContextProvider editorContextProvider, LibCommandFactory cmdWSFact, IConnectionPoint cp) 2023-11-10 09:04:08.872 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaCheckbot.BookmarkTableDriveResolver.ProcessFile(State lockMap, ConnectionDataContractUpdater captionSet, SelfConnectionEditorContextProvider handler, LibCommandFactory nodeAvailable, IConnectionPoint parentVersion) 2023-11-10 09:04:08.872 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaStatiCa.Store.Helpers.ConnectionAutomationClientGRPC.WriteEditedConToTemp(State currentState, IConnectionPoint cp) 2023-11-10 09:04:08.872 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaStatiCa.Store.Reducers.ConnectionReducer.WriteEditedConPointToTemp(State state, ContainerStorageImmutable storage, ReducerState newState) 2023-11-10 09:04:08.872 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaStatiCa.Store.Reducers.ConnectionReducer.StorageAction(State state, IConnControlService connClientServic, State previousState, IModuleService moduleService, ContainerStorageImmutable storage) 2023-11-10 09:04:08.872 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaStatiCa.Store.Reducers.ConnectionReducer.Invoke(IAction action, State state, State previousState) 2023-11-10 09:04:08.872 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaStatiCa.Store.Reducers.Reducer.InvokeInternal(State newState, IAction action) 2023-11-10 09:04:08.872 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaStatiCa.Store.Reducers.Reducer.Invoke(State currentState, IAction action) 2023-11-10 09:04:08.872 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in Redux.Store1.InnerDispatch(IAction action)
2023-11-10 09:04:08.872 +01:00 [Error] (11568-1) [ccm.app.gui.contentviewmodel]    in IdeaStatiCa.ViewModels.ModelEntitiesViewModel.<>c__DisplayClass30_1.<<-ctor>b__25>d.MoveNext()`
**What does "path2" should contain?
Which file is the data contract? I just need to know what to look for.**
After pressing Sync two or more times, CheckBot asks me to update materials, even if they have no changes.


Support for "++"/"--" (pre and post) and "+="

All these operators throw with Error: cannot traverse unknown node type: at the moment, would be great if they could be added

I'll take a look at this soon. Thanks for pointing it out!

Thank you for a great tool

Mostly fixed in v1.19.2. Increment and decrement now work, but compound assignment only works in the same cases it works in JavaScript. Don't expect ||=, &&=, or ?= to work yet.


Support collation in position function

What problem does this PR solve?
Issue Number: close #9377
Problem Summary:
What is changed and how it works?

Check List
Tests

[x] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

Support collation in `position` function

/cc @windtalker @yibin87

Generally, use ++variable instead of variable++ unless we do need to keep the unchanged value.

LibCASCIICaseSensitiveStringSearcher

Modern compiler should know if it needs to create a tmp object for variable++, so I think there is no difference between variable++ and ++variable.

/cc @windtalker

/retest

/cherrypick release-8.1

/retest

/retest

/cherrypick release-8.5


Add progress bar (pb library)

I believe that adding the pb library will help rump's UX

@jdorfman I think that depends on knowing how much work we have to do or how long it might take, right I think we're just showing that it's doing something, not that we're x% complete.

@BDQ feel free to mark wontfix and close it.

Maybe instead implement progress report on USR1 signal (if OS supports it) like the dd does?

Yeah, I thought about showing the progress at first.
The problem is that one of the core ideas of Rump is scanning, so it can't know the total number of keys to be transferred when it starts transferring.
It scans over the keys in batches and transfers a batch.
That's the reason why the tool is currently outputting > and ..
A > means a batch of keys has been read from source, and a . means a batch of keys has been restored on destination.
Maybe we can think about a more expressive symbol/word to show for a batch of keys dumped/restored.


How do I import this model to Android?

There is no support for model conversion and deployment of this model inside this repository.


Demo page on readme file is does not exist

This page:-
http://gooy.github.io/aurelia-dialogs-demo
Does not exist, but is on the readme file.

The demo has been removed, i am working on a new one, this repo needs to be updated ;)


stroke type progress bar with pattern not showing in Safari and Firefox

fixed https://github.com/loadingio/loading-bar/commit/5e37aed79437beb898283034a64b5fcac3f93da7


Parser style fixes after Class part II patch.

@zherczeg Please rebase to the current master.

Please check the patch again.

@zherczeg please rebase the PR

I may open it in the future.


Missing "Microsoft.CognitiveServices.Speech.core.dll" in Blazor WASM project (same as #930)

I am still experiencing issue #930 (reported in January 2021), with repro steps as outlined here: https://stackoverflow.com/questions/65761453/azure-speech-to-text-c-sdk-in-blazor-webasm-app-bug .
I am trying to use the Azure Cognitive Services - Text to Speech in a Blazor Webassembly app.  Here was the finding from trrwilson in response to #930:
"
Unfortunately, the core SDK (that .core.dll) is portable C++ code that doesn't yet target WASM. What you see is that blazor can resolve the pure .NET binding DLL (.csharp.dll) and make it work, but the magic that makes it possible for blazor to run .NET DLLs in WASM doesn't work for C++. When you copy the x86/x64 .core.dll, it still says "not found" because those are targeting the wrong architecture -- native code needs the explicit WASM target to work.
For this to happen, the SDK team needs to do work to add WASM as a compilation target for the core DLL. I'll ensure there's an item on our backlog to track it.
"
The recommended solution was to use the JavaScript version of the SDK.  I have spent many hours trying to get the JavaScript SDK working for my purpose and it is suboptimal -- it does not seem to have parity with the C# API in a couple of ways which I am about to file a separate issue about.
Has there been any update on this?  I would like to put in my vote for it to be revisited and wasn't sure how to do that other than filing the bug here again (I realize it's not technically a bug with the samples).
Thanks for your consideration.

Thanks for checking in with us on this. I wish I had better news, but the end answer is still that we don't support it.
The more complete answer is also more nuanced. Over the last year we've been doing some work to separate out the non-portable pieces of the base C/C++ library, namely in the networking stack into something that could allow the emscripten websocket implementation to replace the existing non-portable networking code. But this hasn't been done with a concrete goal of "Have WASM working by..." leading me to not want to give false hope about imminency.
I'll look at the other issues and see if we can do some gap closing between C# and JS. That's usually something we can move quicker on.

Closing the item as WASM is not a supported target and there is no plan to add support in the near future. Please raise new issues on JavaScript specific topics as appropriate.


Shebang fails with Rhai engine

I pulled in the rhai engine in order to test the compliance of the parser (and later the HIR), but Engine::compile(...) seems to fail if the scripts starts with a shebang line with the error of #! being reserved.
According to the book, eval_file supports shebangs, is this a bug or do I need to strip the line manually before passing the script to compile?
I'm not sure if I should open this in the Rhai repo.

/cc @schungx

Yes, the shebang is only handled when reading script files.  You'd need to strip it off manually if working with a script in string form.
It may be useful to handle it globally, but it may introduce subtle errors where multiple pieces of texts are joined together in order to form a single script.  For example:
Script 1:
print(`This is a shebang:

Script 2:
#! /usr/bin/rhai-run
`);

Rhai currently allows you to specify a slice of strings to join together as a single script via Engine::compile_scripts_with_scope.
What do you think?


Broken scryfall link in Add card window

I opened the "Add card" window
Entered the name of a new card (Molten Duplication) which autocompleted the other fields
Clicked "Show card in scryfall" link and it took me to https://scryfall.com/search?as=grid&extras=true&lang=any&order=name&q=!""&unique=cards

I'm guessing the link is generated with a blank search field when the window is opened and doesn't update when the card name is added.

I should mention the scryfall image loads fine within the window itself, so this link isn't all that useful; if fixing the link isn't trivial we could just remove it.


files/dirs that start with a dot (.) not be checked on take over mode

open take over mode, disable builtin typescript features.

.ts file not be checked in the .vuepress folder.

open builtin typescript features, it is ok.

relative issue for typescript:  builtin typescript features.

As a workaround, you can add .vuepress to include option in tsconfig for now. See https://github.com/johnsoncodehk/volar/issues/70#issuecomment-782876369.

As a workaround, you can add .vuepress to include option in tsconfig for now. See #70 (comment).

that work with typescript, but seems not work in take over mode(disable builtin typescript features)

Fixed by https://github.com/johnsoncodehk/volar/commit/07d204f8c90c4778b4037ef5db35edf312397446