text:
[New architecture] Upgrade react-native-document-picker

Details

This PR includes a version upgrade of react-native-document-picker from ^8.2.1 to ^9.1.1.
Fixed Issues

$ https://github.com/Expensify/App/issues/35991
PROPOSAL: N/A
Tests

[ ] Verify that no errors appear in the JS console
[ ] Verify that sending documents within the app works properly (for example: documents can be send in the request money flow or on the report screen)

Offline tests

N/A
QA Steps

Same as tests
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 approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If 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 form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label 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
The updated library is used only on the mobile platforms, so videos are attached only for:

iOS: Native
Android: Native

Android: Native

https://github.com/Expensify/App/assets/47774969/1d878787-c1c6-449b-a7d0-47a28f58227f

Android: mWeb Chrome

iOS: Native

https://github.com/Expensify/App/assets/47774969/fbae67f7-754a-4863-9dcc-76eb61a4a2ac

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Thanks for the ping @hoangzinh!

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

🚀 Deployed to production by https://github.com/thienlnam in version: 1.4.41-12 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

authors: OSBotify WojtekBoman yuwenmemon


text:
Delete docs/articles/expensify-classic/workspaces/reports/Currency.md

This file contains duplicate information and doesn't need to exist. I've confirmed all unique data is accounted for in the article about currency we are keeping under classic/workspaces/Currency.

Details

Fixed Issues

$
PROPOSAL:
Tests

[ ] Verify that no errors appear in the JS console

Offline tests

QA Steps

[ ] 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 / Chrome
[x] iOS / native
[x] iOS / 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 approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes

[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(themeColors.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 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 author 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

A preview of your ExpensifyHelp changes have been deployed to https://476d68fc.helpdot.pages.dev ⚡

Working on redirects now.

🚀 Deployed to staging by https://github.com/arosiclair in version: 1.4.75-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/puneetlath in version: 1.4.75-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

source: gharchive/pull-request

repo: Expensify/App

license: MIT

license_type: permissive

license_source: github-api


text:
Fix chat list in RHP auto scroll down when updating money request fields

Details

The chat list in RHP auto scroll down when updating money request fields. This PR fix it.
Fixed Issues

$ https://github.com/Expensify/App/issues/45434
PROPOSAL: https://github.com/Expensify/App/issues/45434#issuecomment-2230076486
Tests

Same as QA Steps

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

Offline tests

Same as QA Steps
QA Steps

Submit a money request to a workspace chat
Go to the transaction thread of the request
Send enough messages so that the thread is scrollable
Open Search page
Open the report RHP for the same transaction thread
Scroll to the top, click on any field, edit and save it
Verify the chat doesn't scroll down

[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/5da588e4-d60b-4875-a116-4390dc21a094

Android: mWeb Chrome

https://github.com/user-attachments/assets/5440a580-d0a8-45ba-836b-ed53b80a10c9

iOS: Native

https://github.com/user-attachments/assets/7bf348cf-1bf0-40af-a2aa-a59d6c8c2985

iOS: mWeb Safari

https://github.com/user-attachments/assets/db9b445c-16aa-4552-b164-9fd95dae2420

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/ef2a5958-dd79-4776-aeef-421108ec2310

MacOS: Desktop

https://github.com/user-attachments/assets/825a1fc3-478a-4d58-af5a-cb061b661b4a

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 approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

[x] If 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 form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label 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

Android: mWeb Chrome
https://github.com/user-attachments/assets/b9ccf0c1-8c27-4718-9705-76be3a361459

iOS: Native
https://github.com/user-attachments/assets/c05f92b8-9233-4093-aab9-d68b97e45ac2

iOS: mWeb Safari
https://github.com/user-attachments/assets/35440bd1-88a2-4999-a63b-805df807f64b

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/42218295-6ddd-44ba-af87-9c624e3e5329

MacOS: Desktop
https://github.com/user-attachments/assets/dd544d92-eca6-4f7e-9bd1-c939b1323fac

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

🚀 Deployed to staging by https://github.com/aldo-expensify in version: 9.0.16-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/marcaaron in version: 9.0.16-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

authors: OSBotify alitoshmatov bernhardoj


text:
[No QA]Attempt to resolve flaky iOS uploads

Explanation of Change

iOS builds are failing with this error (https://github.com/Expensify/App/actions/runs/11672330270/job/32500701400):
[21:04:23]: Successfully uploaded the new binary to App Store Connect
[21:04:23]: Waiting for processing on... app_id: 47171[39](https://github.com/Expensify/App/actions/runs/11672330270/job/32500701400#step:21:40)59, app_version: 9.0.57, build_version: 9.0.57.2, platform: IOS
[21:04:24]: Read more information on why this build isn't showing up yet - https://github.com/fastlane/fastlane/issues/14997
[21:04:24]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[21:04:54]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[21:05:24]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[21:05:55]: Waiting for App Store Connect to finish processing the new build (9.0.57 - 9.0.57.2) for IOS
[21:06:26]: Waiting for App Store Connect to finish processing the new build (9.0.57 - 9.0.57.2) for IOS
[21:06:57]: Waiting for App Store Connect to finish processing the new build (9.0.57 - 9.0.57.2) for IOS
[21:07:28]: Waiting for App Store Connect to finish processing the new build (9.0.57 - 9.0.57.2) for IOS
[21:07:59]: Successfully finished processing the build 9.0.57 - 9.0.57.2 for IOS
[21:08:00]: Successfully set the changelog for build
[21:08:00]: Distributing new build to testers: 9.0.57 - 9.0.57.2
+----------------------------------------------+
|                 Lane Context                 |
+---------------+------------------------------+
| PLATFORM_NAME | ios                          |
| LANE_NAME     | ios upload_testflight_hybrid |
+---------------+------------------------------+
[21:08:01]: Called from Fastfile at line [42](https://github.com/Expensify/App/actions/runs/11672330270/job/32500701400#step:21:43)4
[21:08:01]: ```
[21:08:01]:     422:	  desc "Upload HybridApp to TestFlight"
[21:08:01]:     423:	    lane :upload_testflight_hybrid do
[21:08:01]:  => 424:	      upload_to_testflight(
[21:08:01]:     425:	        app_identifier: "com.expensify.expensifylite",
[21:08:01]:     426:	        api_key_path: "./ios/ios-fastlane-json-key.json",
[21:08:01]: ```
[21:08:01]: Another build is in review. - Another build is in review.

This flag should remove the build that is in review and then place our current build we are uploading into review. We've had issues with this flag in the past: https://github.com/Expensify/App/issues/2748, but I am hoping that the more recent versions of Fastlane fixed this (I see some recent PRs, e.g. https://github.com/fastlane/fastlane/pull/21995)
Fixed Issues

Fixes flaky iOS uploads
Tests

CP this PR while there is another version of iOS in review, verify we do not get an error

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

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

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

authors: AndrewGable luacmartins


text:
React Native Boilerplate Package

This is an initial PR of a package boilerplate created with https://github.com/callstack/react-native-builder-bob. This PR doesn't have any modifications or logic related to key-command capturing. Created with intention to simplify CR process and minimize future diff.

note: force pushed single signed commit c6a019a

@luacmartins @parasharrajat I think all is good now.

Reviewing...

@azimgd any updates? We're a few minor comments away from getting this merged!

Hey @luacmartins @parasharrajat, I'm back on this now. Looks like the only outstanding comment to be fixed is the change for eslint config.
What's the real value we get from moving to Expensify/eslint-config-expensify ? We only have like a single index.tsx file related to the library itself and an example folder which is used solely for testing and demo.
Instead I see couple drawbacks, which I don't quite endorse:

need to use lodash for basic operations like map or filter, we need to keep dependency list smaller here
doesn't play nicely with TypeScript, can't use .tsx extension at all
doesn't support prettier

need to use lodash for basic operations like map or filter, we need to keep dependency list smaller here

I guess we can override these rules.

doesn't support prettier

That is intentional.

doesn't play nicely with TypeScript, can't use .tsx extension at all

Could you please elaborate?

I guess we can override these rules.

I understand this, but what's the real value of using eslint-config-expensify if we are going to align the rules to our needs ?
Expensify's config plays nicely and has been implemented specifically for a larger scoped JS app, but this package has a single JS file for implementation and just a couple for a demo purposes. Moreover we don't have any TS support there. Happy to change if you can explain what other benefits or diff it has beside adding a 4 space tabbing.

Not much probably but extensibility and familiarity with code. Other Expensify Engineers will find it easy to read the code, it would be easier to adopt the formatting rules if we decided to make changes to the expensify-standards.
Let's wait for @luacmartins to answer this. He knows better.

It's mostly what @parasharrajat said. All our engineers have their dev environments configured to play with eslint-config. Deviating from that would bring inconsistencies in code style, as well as more time spent fixing them in the future. I think we should use eslint to avoid future issues with the team!

Understood, could you please give your thoughts on the other points as well please.

Yeah, TS support is something we will have to think about. But I don't think setting that up will be a challenge.

need to use lodash for basic operations like map or filter, we need to keep dependency list smaller here

This is intentional. It makes things more consistent, as well as minimizing runtime errors and providing extra functionality for array like objects for example.

doesn't support prettier

Also intentional to keep styling consistent with what we already have internally.

doesn't play nicely with TypeScript, can't use .tsx extension at all

Asked in Slack

@azimgd can we refactor TypeScript to JS and add eslint?

@azimgd and I chatted 1:1 and he'll need some time to work through the changes. We can expect an update next week!

@parasharrajat @luacmartins have a look please

Should i force push ?

Gonna merge this since @parasharrajat had already approved and his NAB were addressed!

@azimgd your last commit was unsigned. Can you fix that?

authors: azimgd luacmartins parasharrajat

repo: Expensify/react-native-key-command


text:
"number of files to index exceeds sanity limit, bailing out"

Somebody on Stack Overflow says:

Gave your package a shot, and it brought down Sublime pretty quickly, with tons of "number of files to index exceeds sanity limit, bailing out" in the console.

I have no idea what this means, currently.

@DanielSmedegaardBuus any details you can add would be appreciated.

Oops, sorry for the delay, hadn't noticed the notification icon on GitHub :D
I don't see myself commenting on the linked SO page, but... IIRC, I got this error because I wanted to have a Sublime project for my shell configs and a .scripts directory in $HOME, so the project root was in $HOME. I have many thousand files and folders here.
So the error message makes sense in that respect :)

How about you tell us briefly what exactly you did?

I just had that because I accidentally dragged my whole user folder inside sublime lol (took me a while to realise)

source: gharchive/issue

authors: DanielSmedegaardBuus ExplodingCabbage edwingure isaacalves

repo: ExplodingCabbage/sublime-gitignorer

license: WTFPL


text:
How to control reference naming and remove namespaces?

First of all a thank you for spending your time to create this masterpiece.
I have two questions/issues that I can't wrap my head around and hopefully you can tell me that it can't be done and I can move on =)

I've tried many ways to get access to the naming used for the identity and reference attributes, but don't see a way of overriding them?
I'm only serialising my model and would like to remove all namespace information.

At the moment I'm performing a regex replace to alter the output xml, but hoped I could do something to ease this.
public string ShapeXml(string xml)
{
    return xml.ReplaceMultiple(new Dictionary<string, string>
    {
        {@"((?<=<|<\/| ))\w+:| xmlns(:\w+)?=\"".*?\""", @"" },
        {@"<Capacity>\d+<\/Capacity>", @"" },
        {@" exs:member=""""", "" },
        {@" exs:identity=""", @" id=""" },
        {@" exs:reference=""", @" ref=""" },
    });
}

I've set up a dotnetfiddle here.
The current output:
<?xml version="1.0" encoding="utf-8"?>
<List xmlns:ns1="clr-namespace:XmlRef.Tests;assembly=Odin.Tests"
    xmlns:exs="https://extendedxmlserializer.github.io/v2" exs:arguments="XmlRefTests-Person"
    xmlns="https://extendedxmlserializer.github.io/system">
    <Capacity>4</Capacity>
    <XmlRefTests-Person>
        <Name>Princess Eugenie</Name>
        <Uncles>
            <Capacity>4</Capacity>
            <XmlRefTests-Person exs:identity="2">
                <Name>Price Charles</Name>
            </XmlRefTests-Person>
            <XmlRefTests-Person exs:identity="3">
                <Name>Price Andrew</Name>
            </XmlRefTests-Person>
            <XmlRefTests-Person exs:identity="4">
                <Name>Price Edward</Name>
            </XmlRefTests-Person>
        </Uncles>
        <Aunts>
            <Capacity>4</Capacity>
            <XmlRefTests-Person exs:identity="1">
                <Name>Princess Anne</Name>
            </XmlRefTests-Person>
        </Aunts>
    </XmlRefTests-Person>
    <XmlRefTests-Person>
        <Name>Princess Beatrice</Name>
        <Uncles>
            <Capacity>3</Capacity>
            <XmlRefTests-Person exs:reference="2" />
            <XmlRefTests-Person exs:reference="3" />
            <XmlRefTests-Person exs:reference="4" />
        </Uncles>
        <Aunts>
            <Capacity>1</Capacity>
            <XmlRefTests-Person exs:reference="1" />
        </Aunts>
    </XmlRefTests-Person>
</List>

The output I'm after:
<?xml version="1.0" encoding="utf-8"?>
<List>
    <XmlRefTests-Person>
        <Name>Princess Eugenie</Name>
        <Uncles>
            <XmlRefTests-Person id="2">
                <Name>Price Charles</Name>
            </XmlRefTests-Person>
            <XmlRefTests-Person id="3">
                <Name>Price Andrew</Name>
            </XmlRefTests-Person>
            <XmlRefTests-Person id="4">
                <Name>Price Edward</Name>
            </XmlRefTests-Person>
        </Uncles>
        <Aunts>
            <XmlRefTests-Person id="1">
                <Name>Princess Anne</Name>
            </XmlRefTests-Person>
        </Aunts>
    </XmlRefTests-Person>
    <XmlRefTests-Person>
        <Name>Princess Beatrice</Name>
        <Uncles>
            <XmlRefTests-Person ref="2" />
            <XmlRefTests-Person ref="3" />
            <XmlRefTests-Person ref="4" />
        </Uncles>
        <Aunts>
            <XmlRefTests-Person ref="1" />
        </Aunts>
    </XmlRefTests-Person>
</List>

And my test program:
 using System;
 using System.Collections.Generic;
 using System.Linq;
 using ExtendedXmlSerializer;
 using ExtendedXmlSerializer.Configuration;
 using ExtendedXmlSerializer.ExtensionModel;

 public class Program
 {
	public static void Main()
	{
		IExtendedXmlSerializer_Serialize_ProducesCustomXml();
	}

	public static void IExtendedXmlSerializer_Serialize_ProducesCustomXml()
	{
		//arrange
		string result = null;
		var people = new List<Person> { new Person("Princess Eugenie"), new Person("Princess Beatrice") };
		var aunts = new List<Person> { new Person("Princess Anne") };
		var uncles = new List<Person> { new Person("Price Charles"), new Person("Price Andrew"), new Person("Price Edward") };
		people[0].Aunts = aunts;
		people[0].Uncles = uncles;
		people[1].Aunts = aunts.ToList();
		people[1].Uncles = uncles.ToList();

		IExtendedXmlSerializer serializer = new ConfigurationContainer()
			.EnableReferences()
			.UseOptimizedNamespaces()
			.EnableImplicitTyping(typeof(Person))
			.Create();

		//test
		result = serializer.Serialize(people);

		//assert
		Console.WriteLine(result);
		if (result != @"<?xml version=""1.0"" encoding=""utf-8""?><List><XmlRefTests-Person><Name>Princess Eugenie</Name><Uncles><XmlRefTests-Person id=""2""><Name>Price Charles</Name></XmlRefTests-Person><XmlRefTests-Person id=""3""><Name>Price Andrew</Name></XmlRefTests-Person><XmlRefTests-Person id=""4""><Name>Price Edward</Name></XmlRefTests-Person></Uncles><Aunts><XmlRefTests-Person id=""1""><Name>Princess Anne</Name></XmlRefTests-Person></Aunts></XmlRefTests-Person><XmlRefTests-Person><Name>Princess Beatrice</Name><Uncles><XmlRefTests-Person ref=""2"" /><XmlRefTests-Person ref=""3"" /><XmlRefTests-Person ref=""4"" /></Uncles><Aunts><XmlRefTests-Person ref=""1"" /></Aunts></XmlRefTests-Person></List>")
			throw new Exception("Xml mismatch.");
	}

	public class Person
	{
		public Person() { }
		public Person(string name)
		{
			Name = name;
		}
		public string Name { get; set; }
		public List<Person> Uncles { get; set; }
		public List<Person> Aunts { get; set; }
	}
 }

Thanks to anyone who reads this :)

Hi @jamesquox thanks for writing in.  You will be able to remove a
To address your questions here:

Unfortunately these are considered critical/essential attributes so they cannot be removed without breaking functionality with expected ExtendedXmlSerializer syntax.
You can get a little more out of removing unwanted namespaces by adding List<Person> to your EnableImplicitTyping call, so: .EnableImplicitTyping(typeof(Person), typeof(List<Person>)).

If you have specialized requirements to remove additional text/characters/symbols for use with another system, I would for sure recommend using XSLT for this as that is exactly how it is intended to be used. :)
Please let me know if you have any further questions and I will do my best to answer here. 👍

Cheers Mike for the confirmation👍

Years old and already answered, but i still want to return to this due to it being a rather critical and common feature of XML serialization usecases.
The System.Xml library supports overriding and attributing namespaces specifically because many of the use cases require explicitly setting something in a given namespace and lack of support for explicit namespaces makes this unsuitable as is for the purpose.
My usecase here being generation of a model with varying namespaces depending on who's asking, i could either duplicate thousands of lines of code, or control this one feature that is supported by the underlying Xml.
If i can come up with a way to support this without breaking functionality or by adding new functionality for one way transformations cleanly, are still open for PR's and reviewing said work should you agree with a proposal?

Hi @RiversJohn thank you for your inquiry.  I am certainly open to working on a PR with you.  Primarily, if you can contain the changes in an extension so that users must call a particular method during the container-creation process (and thereby constrain its unintended effects) then that is ideal.  Of course, all existing tests must pass, as well.
I also want to be sure you understand that this repo is for all intents and purposes in a maintenance state.  Sadly, (even as cool as ExtendedXmlSerializer is) my recommendation these days is to use JSON if possible as that is far better supported by Microsoft these days, and we never really quite got a community to actively support this repository.
That stated, there is always the possibility to build a community here. :)  If someone wants to work on a PR with the above goals I will do my best to assist them to head in this direction. 👍

Thank you for your speedy reply @Mike-E-angelo
I was out severely sick so i couldn't return the courtesy.
I was aware of the maintenance, hence the question if you'd possibly be up for it since this would obviously be quite outside the scope of just maintenance. My personal time at least for the next few months is quite limited but depending on our needs i might be able to devote work time on this if using EXS is the route we pick.
The consumers of the outputs we're generating don't accept JSON, only CSV / XML and they're huge corps meaning there's little probability of influencing them to accept other formats.
I'll get back to you on this if i can go forward with this and check the proposal idea with you to make sure it's compatible in implementation.

Glad to hear you are feeling better @RiversJohn. 🙏  And for the rest that sounds like a good plan. 👍

authors: Mike-E-angelo RiversJohn jamesquox

repo: ExtendedXmlSerializer/home


text:
Fixed bug with null arrays when EmitBehaviors.WhenModified is used.

Closes #337

:white_check_mark: Build ExtendedXmlSerializer 3.0.1.1-bpypvmae completed (commit https://github.com/ExtendedXmlSerializer/home/commit/fc8ee92902 by @Mike-EEE)
Install it by running the following command in Package Manager Console:
Install-Package ExtendedXmlSerializer -Version 3.0.1.1-bpypvmae -Source https://ci.appveyor.com/nuget/extendedxmlserializer-preview

:white_check_mark: Build ExtendedXmlSerializer 3.0.1.1-upwohjoe completed (commit https://github.com/ExtendedXmlSerializer/home/commit/381fe47088 by @Mike-EEE)
Install it by running the following command in Package Manager Console:
Install-Package ExtendedXmlSerializer -Version 3.0.1.1-upwohjoe -Source https://ci.appveyor.com/nuget/extendedxmlserializer-preview

authors: AppVeyorBot Mike-EEE


text:
support switch back

Alexa, switch back

implemented with #53

repo: Extrawurst/alexa-openwebif

license: mit

license_source: bigquery


text:
Service_Address won't take a subnet for a virtualAddress

Do you already have an issue opened with F5 support?
Github Issues are consistently monitored by F5 staff, but should be considered as best effort only and you should not expect to receive the same level of response as provided by F5 Support. Please open an case with F5 if this is a critical issue.
ISSUE TYPE

Bug Report

AS3 BUILD/ VERSION

f5-appsvcs-3.9.0-3.noarch

BIGIP VERSION

Sys::Version
Main Package
  Product     BIG-IP
  Version     12.1.4
  Build       0.0.8
  Edition     Final
  Date        Wed Dec 12 15:15:49 PST 2018

SUMMARY

Need to advertise subnet routes into route domain dynamic routing. How do I advertise a subnet?
I also cannot advertise a default route (0.0.0.0/0) from a RD other than 0, in Service_Address.
STEPS TO REPRODUCE

{
    "class": "ADC",
    "schemaVersion": "3.9.0",
    "id": "Service_Address",
    "Sample_misc_05": {
        "class": "Tenant",
        "defaultRouteDomain": 21994,
        "Application": {
            "class": "Application",
            "template": "generic",
            "theService": {
                "class": "Service_HTTP",
                "virtualPort": 123,
                "virtualAddresses": [
                    {
                        "use": "serviceAddress"
                    }
                ]
            },
            "serviceAddress": {
                "class": "Service_Address",
                "virtualAddress": "123.123.123.0/24",
                "arpEnabled": false,
                "icmpEcho": "disable",
                "routeAdvertisement": "enable",
                "spanningEnabled": true,
                "trafficGroup": "/Common/traffic-group-local-only"
            }
        }
    }
}

{
    "class": "ADC",
    "schemaVersion": "3.9.0",
    "id": "Service_Address",
    "Sample_misc_05": {
        "class": "Tenant",
        "defaultRouteDomain": 21994,
        "Application": {
            "class": "Application",
            "template": "generic",
            "theService": {
                "class": "Service_HTTP",
                "virtualPort": 123,
                "virtualAddresses": [
                    {
                        "use": "serviceAddress"
                    }
                ]
            },
            "serviceAddress": {
                "class": "Service_Address",
                "virtualAddress": "0.0.0.0",
                "arpEnabled": false,
                "icmpEcho": "disable",
                "routeAdvertisement": "enable",
                "spanningEnabled": true,
                "trafficGroup": "/Common/traffic-group-local-only"
            }
        }
    }
}

EXPECTED RESULTS

I expect the declaration to respond with success and see something similar too the following route table entry (I manually updated this table to show what I would expect to see in the actual routing table).
bigip-12-1-4.lab.local[21994]#show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
       O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default

K       123.123.123.123/24 [0/0] is directly connected, tmm
K       0.0.0.0/0 [0/0] is directly connected, tmm
C       127.0.0.1/32 is directly connected, lo
C       127.1.1.254/32 is directly connected, tmm

ACTUAL RESULTS

Response is:
       {
            "message": "declaration failed",
            "response": "Invalid IP address: 123.123.123.123/24",
            "code": 422,
            "host": "localhost",
            "tenant": "Sample_misc_05",
            "runTime": 1002
        }

and
        {
            "message": "declaration failed",
            "response": "0107028b:3: The source (0.0.0.0%21994) and destination (0.0.0.0) addresses for virtual server (/Sample_misc_05/Application/theService) must be in the same route domain.",
            "code": 422,
            "host": "localhost",
            "tenant": "Sample_misc_05",
            "runTime": 793
        }

Hi @writemike , regarding the first declaration, the virtualaddress points to a host and so the netmask doesn't match:
I believe you want:
"virtualAddress": "123.123.123.0/24"
Regarding the second declartion, we are tracking the issue internally with 948.

Hello @kaustriaf5, you are right, 123.123.123.123/24 is an invalid IP address, but the recommended address also gives the same error. In my troubleshooting of the issue, I must have switched the address in the example provided and have now fixed it above.
        {
            "message": "declaration failed",
            "response": "Invalid IP address: 123.123.123.0/24",
            "code": 422,
            "host": "localhost",
            "tenant": "pt_tenant2199_21994",
            "runTime": 830
        }

Do you see a different result when testing the first declaration above?
Thanks for the information on the second declaration. Is there any planned ETA on issue 948? AS3 3.10?

Thanks @writemike It looks like we're not using the correct format for the netmask. I created 949 to track this issue.
The issues will need to be prioritized, and most likely will be after 3.10.

Hello @kaustriaf5,
Forgive me if this question has an obvious answer, but is there some way to track the progress of issues 948 and 949, besides this issue #73? Thanks

@writemike we can put you in touch with our Product Owner if you’d like.

Just sent an e-mail with the details. Thanks!

I've implemented /CIDR network masking. It should be included in our 3.10 release. Thank you for bringing this to our attention.

I reviewed the 3.10 release notes and there is no mention of the feature being added. Additionally, I would like to know how this has been implemented. I suppose I could find the code change somewhere... but it would be nice to see the documentation explain it on the clouddocs site.
I tried simply using x.x.x.x/24 but the slash was interpreted as a folder.
I tried various array methods and got various errors.

Good morning @mofftech,
Shortly before release we discovered an issue when coupling VIPs and CIDR. This issue is a minor one, the first time a user submits some declarations it'll say success and configure the Big-IP properly. However, As3 would be slightly off, so if the declaration was submitted a second time it would succeed again. This is undesirable behavior. So we removed it from the release notes, but the code is still in place.
In the implementation of /CIDR, I had not encountered the issue you were seeing. Can you please send me the declaration you're seeing this issue?

@writemike The routeDomain fix made it in the 3.10 release. Regarding the CIDR, as @ansmithf5 mentioned above, the workaround is to POST the declaration twice to get the subnet mask to be properly applied (it gets saved as /32 the first time).

Sent out of band message to @ansmithf5 .

@kaustriaf5 still doesn't seem to be working properly.
I sent the declaration twice and always get a success or "no change" back, but the BIG-IP (12.1.4) GUI never shows the subnet prefix.
{
    "results": [
        {
            "message": "no change",
            "host": "localhost",
            "tenant": "Common",
            "runTime": 571,
            "code": 200
        },
        {
            "message": "no change",
            "host": "localhost",
            "tenant": "Sample_misc_05",
            "runTime": 507,
            "code": 200
        },
        {
            "message": "no change",
            "host": "localhost",
            "tenant": "Common",
            "runTime": 522,
            "code": 200
        }
    ],
    "declaration": {
        "Sample_misc_05": {
            "class": "Tenant",
            "defaultRouteDomain": 0,
            "Application": {
                "class": "Application",
                "template": "generic",
                "theService": {
                    "class": "Service_HTTP",
                    "virtualPort": 123,
                    "virtualAddresses": [
                        {
                            "use": "serviceAddress"
                        }
                    ]
                },
                "serviceAddress": {
                    "class": "Service_Address",
                    "virtualAddress": "123.123.124.0/24",
                    "arpEnabled": false,
                    "icmpEcho": "disable",
                    "routeAdvertisement": "enable",
                    "spanningEnabled": true,
                    "trafficGroup": "/Common/traffic-group-local-only"
                }
            }
        },
        "class": "ADC",
        "schemaVersion": "3.10.0",
        "id": "Service_Address",
        "updateMode": "selective",
        "controls": {
            "archiveTimestamp": "2019-04-11T23:35:58.515Z"
        }
    }
}

What TMSH shows:
root@(bigip-12-1-4)(cfg-sync Standalone)(Active)(/Common)(tmos)# list ltm virtual-address /Sample_misc_05/serviceAddress
ltm virtual-address /Sample_misc_05/serviceAddress {
    address 123.123.124.0
    arp disabled
    floating disabled
    icmp-echo disabled
    mask 255.255.255.0           <<<<<<<Correct, but not showing in the GUI.
    partition Sample_misc_05
    route-advertisement enabled
    spanning enabled
    traffic-group traffic-group-local-only
    unit 0
}

root@(bigip-12-1-4)(cfg-sync Standalone)(Active)(/Common)(tmos)# list ltm virtual /Sample_misc_05/Application/theService
ltm virtual /Sample_misc_05/Application/theService {
    description Application
    destination /Sample_misc_05/serviceAddress:ntp
    ip-protocol tcp
    mask 255.255.255.255          <<<<<< Not correct. GUI shows the same result.
    partition Sample_misc_05
    persist {
        cookie {
            default yes
        }
    }
    profiles {
        Shared/f5_tcp_progressive_12_1 { }
        http { }
    }
    source 0.0.0.0/0
    source-address-translation {
        type automap
    }
    translate-address enabled
    translate-port enabled
    vs-index 11
}

Furthermore, Route Domains are still failing. Same declaration with the default RD updated.
{
    "results": [
        {
            "message": "no change",
            "host": "localhost",
            "tenant": "Common",
            "runTime": 540,
            "code": 200
        },
        {
            "message": "declaration failed",
            "response": "0107028b:3: The source (0.0.0.0%21994) and destination (0.0.0.0) addresses for virtual server (/Sample_misc_05/Application/theService) must be in the same route domain.",
            "code": 422,
            "host": "localhost",
            "tenant": "Sample_misc_05",
            "runTime": 1103
        },
        {
            "message": "no change",
            "host": "localhost",
            "tenant": "Common",
            "runTime": 549,
            "code": 200
        }
    ],
    "declaration": {
        "class": "ADC",
        "schemaVersion": "3.10.0",
        "id": "Service_Address",
        "updateMode": "selective",
        "controls": {
            "archiveTimestamp": "2019-04-11T23:46:28.285Z"
        }
    },
    "code": 207
}

{
    "class": "ADC",
    "schemaVersion": "3.10.0",
    "id": "Service_Address",
    "Sample_misc_05": {
        "class": "Tenant",
        "defaultRouteDomain": 21994,
        "Application": {
            "class": "Application",
            "template": "generic",
            "theService": {
                "class": "Service_HTTP",
                "virtualPort": 123,
                "virtualAddresses": [
                    {
                        "use": "serviceAddress"
                    }
                ]
            },
            "serviceAddress": {
                "class": "Service_Address",
                "virtualAddress": "123.123.124.0/24",
                "arpEnabled": false,
                "icmpEcho": "disable",
                "routeAdvertisement": "enable",
                "spanningEnabled": true,
                "trafficGroup": "/Common/traffic-group-local-only"
            }
        }
    }
}

Also tried which gave the same result:
{
    "class": "ADC",
    "schemaVersion": "3.10.0",
    "id": "Service_Address",
    "Sample_misc_05": {
        "class": "Tenant",
        "defaultRouteDomain": 21994,
        "Application": {
            "class": "Application",
            "template": "generic",
            "theService": {
                "class": "Service_HTTP",
                "virtualPort": 123,
                "virtualAddresses": [
                    {
                        "use": "serviceAddress"
                    }
                ]
            },
            "serviceAddress": {
                "class": "Service_Address",
                "virtualAddress": "123.123.124.0%21994/24",
                "arpEnabled": false,
                "icmpEcho": "disable",
                "routeAdvertisement": "enable",
                "spanningEnabled": true,
                "trafficGroup": "/Common/traffic-group-local-only"
            }
        }
    }
}

Am I doing something wrong?

@writemike we are actively looking at the subnet /CIDR problems and have a couple open internal issues (980 and 1001). Apologies for the inconvenience.
The routeDomain with a wildcard virtual (not with the CIDR) should now work.
Here are a couple of examples:
Default Route Domain on Tenant - the route domain value for the address is implicit and will not appear in the GUI. No need to append the same value in the virtualAddress.
{
    "class": "ADC",
    "schemaVersion": "3.10.0",
    "id": "Service_HTTP",
    "controls": {
        "class": "Controls",
        "trace": true,
        "logLevel": "debug"
    },
    "TEST_Manual": {
        "class": "Tenant",
        "defaultRouteDomain": 11,
        "Application": {
            "class": "Application",
            "template": "generic",
            "testItem": {
                "class": "Service_HTTP",
                "virtualAddresses": [
                    {
                        "use": "testAddr"
                    }
                ]
            },
            "testAddr": {
                "class": "Service_Address",
                "virtualAddress": "0.0.0.0"
            }
        }
    }
}

Tenant has a default, non-zero route domain and the virtual server - the route domain value will appear in the GUI
{
    "class": "ADC",
    "schemaVersion": "3.10.0",
    "id": "Service_HTTP",
    "controls": {
        "class": "Controls",
        "trace": true,
        "logLevel": "debug"
    },
    "TEST_Manual": {
        "class": "Tenant",
        "defaultRouteDomain": 11,
        "Application": {
            "class": "Application",
            "template": "generic",
            "testItem": {
                "class": "Service_HTTP",
                "virtualAddresses": [
                    {
                        "use": "testAddr"
                    }
                ]
            },
            "testAddr": {
                "class": "Service_Address",
                "virtualAddress": "0.0.0.0%12"
            }
        }
    }
}

Thanks! Any chance the fix will be complete in 3.11?

@writemike yes, the fixes are currently slated for 3.11.

Good morning everyone.
We released the fixes to /CIDR a bit ago. I've tested @writemike's declarations he originally posted and they seem to be working now with version 3.11. I'm going to request we close this GitHub issue, but we can reopen it, if this is not fixed.
@dstokesf5 could you please close this issue?

Thank you! I was able to test it successfully.


text:
The coding example for the User Guide is misleading

https://f5-sdk.readthedocs.io/en/latest/userguide/ltm_pools_members_code_example.html
"#Create members on pool_1
members = pool_1.members_s
member = pool_1.members_s.members
m1 = pool_1.members_s.members.create(partition='Common', name='m1:80')
m2 = pool_1.members_s.members.create(partition='Common', name='m2:80')"
The above would only work if the node m1 or m2 were previously created.
Please change either the above comment or add in the addresses for node m1 or m2.

I am working on some documentation updates this month, I will update this example when I do

This coding example has been updated to be more clear.

authors: jasonrahm penghon


text:
unterminated JSON body in response causes exceptions with json parsers

Environment

Telemetry Streaming Version: 1.14.0
BIG-IP Version: 15.1.0.1

Summary
While testing TS returned errors we discovered that the error responses contained invalid unterminated JSON body which causes json parsers to throw exceptions.
Steps To Reproduce
Steps to reproduce the behavior:

Submit the following declaration:

{
  "class": "Telemetry",
  "My_System": {
    "class": "Telemetry_System",
    "systemPoller": {
      "interval": 999999
    }
  },
  "My_Listener": {
    "class": "Telemetry_Listener",
    "port": 6514
  },
  "My_Consumer": {
    "class": "Telemetry_Consumer",
    "type": "Splunk",
    "host": "192.0.2.1",
    "protocol": "https",
    "port": 8088,
    "passphrase": {
      "cipherText": "apikey"
    }
  },
  "My_Poller": {
    "class": "Telemetry_System_Poller",
    "interval": 120,
    "host": "192.0.2.10",
    "port": 443,
    "username": "myuser",
    "passphrase": {
      "cipherText": "mypassphrase"
    }
  }
}

Observe the following error response:

{
    "code": 422,
    "message": "request failed with null exception",
    "originalRequestBody":"{\"code\":422,\"message\":\"java.net.ProtocolException: status:422, body:{\\\"code\\\":422,\\\"message\\\":\\\"Unprocessable entity\\\",\\\"error\\\":\\\"[{\\\\\\\"keyword\\\\\\\":\\\\\\\"type\\\\\\\",\\\\\\\"dataPath\\\\\\\":\\\\\\\"/My_System/systemPoller\\\\\\\",\\\\\\\"schemaPath\\\\\\\":\\\\\\\"system_poller_schema.json#/definitions/systemPollerPointerRef/type\\\\\\\",\\\\\\\"params\\\\\\\":{\\\\\\\"type\\\\\\\":\\\\\\\"string\\\\\\\"},\\\\\\\"message\\\\\\\":\\\\\\\"should be string\\\\\\\"},{\\\\\\\"keyword\\\\\\\":\\\\\\\"maximum\\\\\\\",\\\\\\\"dataPath\\\\\\\":\\\\\\\"/My_System/systemPoller/interval\\\\\\\",\\\\\\\"schemaPath\\\\\\\":\\\\\\\"#/oneOf/0/allOf/0/else/properties/interval/maximum\\\\\\\",\\\\\\\"params\\\\\\\":{\\\\\\\"comparison\\\\\\\":\\\\\\\"<=\\\\\\\",\\\\\\\"limit\\\\\\\":6000,\\\\\\\"exclusive\\\\\\\":false},\\\\\\\"message\\\\\\\":\\\\\\\"should be <= 6000\\\\\\\"},{\\\\\\\"keyword\\\\\\\":\\\\\\\"if\\\\\\\",\\\\\\\"dataPath\\\\\\\":\\\\\\\"/My_System/systemPoller\\\\\\\",\\\\\\\"schemaPath\\\\\\\":\\\\\\\"#/oneOf/0/allOf/0/if\\\\\\\",\\\\\\\"params\\\\\\\":{\\\\\\\"failingKeyword\\\\\\\":\\\\\\\"else\\\\\\\"},\\\\\\\"message\\\\\\\":\\\\\\\"should match \\\\\\\\\\\\\\\"else\\\\\\\\\\\\\\\" schema\\\\\\\"},{\\\\\\\"keyword\\\\\\\":\\\\\\\"enum\\\\\\\",\\\\\\\"dataPath\\\\\\\":\\\\\\\"/My_System/systemPoller/interval\\\\\\\",\\\\\\\"schemaPath\\\\\\\":\\\\\\\"#/oneOf/1/allOf/0/properties/interval/enum\\\\\\\",\\\\\\\"params\\\\\\\":{\\\\\\\"allowedValues\\\\\\\":[0]},\\\\\\\"message\\\\\\\":\\\\\\\"should be equal to one of the allowed values\\\\\\\"},{\\\\\\\"keyword\\\\\\\":\\\\\\\"oneOf\\\\\\\",\\\\\\\"dataPath\\\\\\\":\\\\\\\"/My_System/systemPoller\\\\\\\",\\\\\\\"schemaPath\\\\\\\":\\\\\\\"#/oneOf\\\\\\\",\\\\\\\"params\\\\\\\":{\\\\\\\"passingSchemas\\\\\\\":null},\\\\\\\"message\\\\\\\":\\\\\\\"should match exactly one schema in oneOf\\\\\\\"},{\\\\\\\"keyword\\\\\\\":\\\\\\\"type\\\\\\\",\\\\\\

Expected Behavior
Expected a valid JSON to be returned
Actual Behavior
When attempting to parse the returned json exceptions are thrown:
json.decoder.JSONDecodeError: Unterminated string starting at: line 1 column 82 (char 81)
The issue is that there is a missing closing curly brace in the returned response

Can I take this one?

This is actually a BIG-IP bug where responses with an error status code (4xx or 5xx) are truncated to about 2000 characters. It affects all iControlLX Extensions. I am trying to find a bug ID for it.

The BIG-IP bug ID for this is 853161.

Closing this issue for inactivity.


text:
Speedup the workflow

While building the project the container appears to be missing, as shown in the logs with:
Unable to find image 'unityci/editor:windows-2022.3.26f1-windows-il2cpp-3' locally
windows-2022.3.26f1-windows-il2cpp-3: Pulling from unityci/editor

Various Unity containers can be found in the Docker hub. You can define the container for a given job.

currently even caching the docker image that the build process requires the first time takes a long time to cache the docker img and then when its cached the time it is saved is minimal compared to not caching the docker file

authors: Garanas MrRowey

repo: FAForever/FAForeverMapEditor


text:
Sort tournaments by newest

Mountain:
in the Java client in the tournaments tab the oldest tournaments are at the top, would it be possible to make it so newest tournaments are at the top?
forwarded from tournament director Rowey:
"I'm not sure how easy this is but its a suggestion. with the Tournaments tab in the Java Client it would be nice to have the new tournaments at the top of the list instead at the bottom and also maybe to purge the tournament listings that date back to 2016"

Tournament sorting acctually makes sense all those at top are the ones still open

Looks like something recently broke it :(

repo: FAForever/downlords-faf-client


text:
Allow disabling ipv6 for the iceadapter

Use -Dorg.ice4j.ipv6.DISABLED in the ice adapter start command

Option was added


text:
Refactor/#1309 notification service

Refactor notification service to be event based
Closes #1309

I could not figure out a good way to use a notificationType Enum

I could not figure out a good way to use a notificationType Enum

dropped for now


text:
'Versions' | 'Show versions' error in Umbraco 7.1.4

When I enter a node ID and click 'Show versions', I get a YSOD.
Server Error in '/' Application.
Ambiguous column name 'nodeId'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Ambiguous column name 'nodeId'.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[SqlException (0x80131904): Ambiguous column name 'nodeId'.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) +392    System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +815    System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +4515    System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() +61    System.Data.SqlClient.SqlDataReader.get_MetaData() +138    System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +6738869    System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds) +6741487    System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource1 completion, Int32 timeout, Task& task, Boolean asyncWrite) +586
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +107
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +288
System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +180
System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +21
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +325
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +420
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +280
System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +3607911
System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +28
System.Web.UI.WebControls.DataBoundControl.PerformSelect() +313
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +146
System.Web.UI.WebControls.GridView.OnPreRender(EventArgs e) +46
System.Web.UI.Control.PreRenderRecursiveInternal() +113
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4297
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.18446

Sorry for "LONG" delay,
I use FALM v6 in all my Umbraco 7 installations and I haven't never received the YSOD like that.
Which FALM version you use?
Adriano

I also receive this error - it looks like it is from line 92 of showVersions.aspx.cs. The 'nodeId' needs to be specified as either 'CurDoc.nodeId', or 'HistDoc.nodeId'

Sorry, but I still not receive that message
see attached pictures
When you receive that error?

Try the new version if solve your issue.

I haven't tested the new version yet, but to get the error above in the previous version, you have to enter a node ID into 'filter by nodeid'

I found the problem :-)
I released the new 6.1.1.0 version ;-)
Thank you for your support!
Adriano


text:
ETL now maps BMI, Height and Smoking codes. All unit tests PASS.

This is for issue #45
Fixed visit_occurrence table and it tests to properly add visit to BIOBANK which will be used to map BMI, Height and Smoking codes to respective OMOP CDM domain tables.
Fixed stem_medical_events table to properly process BMI, Height and Smoking codes with default domain as Measurement, Measurement and Observation.
BMI and Height codes along with their values are added to Measurement table. Unit tests are added to check standard mapping for BMI and Height codes. Unit test also includes the scenario where it rejects to add the BMI and Height codes.
Smoking codes are added to Observation table and unit tests were added to check standard mapping along with the case when they are not added into Observation table.

Added two new SQL files for measurement and observation tables which gets processed output from finngenid_info table.
etl_biobank_measurement.sql takes care of BMI and Height codes for the finngenids. measurement_id has offset added. Added tests to check for different scenarios and all of them pass.
etl_biobank_observation.sql takes care of Smoking codes for the finngenids. observation_id has offset added. Added tests to check for different scenarios and all of them pass.

All the proposed changes are done

Renamed etl_biobank_measurement.sql to  etl_finngenid_info_to_measurement.sql
Renamed etl_biobank_observation.sql to  etl_finngenid_info_to_observation.sql
Created a new unit test file for etl_finngenid_info_to_measurement.sql as unittest_etl_finngenid_info_to_measurement_table.R
Created a new unit test file for etl_finngenid_info_to_observation.sql as unittest_etl_finngenid_info_to_observation_table.R
Added the new SQL and Unit test parts to run_config_template.R

All tests PASS.

repo: FINNGEN/ETL


text:
上传apk成功啦,但是任务失败;

fir-cli版本也升级到2.0.9啦,
看升级日志,这个错误在2.0.4解决的,现在不知道什么原因;错误日志如下:
Release id is 5ec7a893b2eb467e1623c80a
I, [2020-05-22T18:25:23.771411 #51927]  INFO -- : Updating app info......
Restclient error, body = {"errors":{"exception":[{"short":["Short is already taken"]}]},"code":100108}
400 Bad Request
Build step 'Execute shell' marked build as failure

short 被占用

repo: FIRHQ/fir-cli


text:
关于webase.front的问题

在搭建完单机四节点后，搭建了webase.front前置节点进行合约调用，发现有适合搭建的调用时写入数据的时候没有问题，但在在获取的时候，简单的数据也没啥问题，返回一些数组类型的有时候会带引号，有时候没有，这是为什么呢？

使用webase.front的版本是2.8.0,
使用的solidity语言版本是0.4.25.

没人吗

没人吗
正常的，使用webase相关合约接口，注意一下json解析就可

webase在处理合约返回的output解析时，反序列化默认使用了String格式。建议通过json的工具将string格式的参数转为需要的格式

authors: CodingCattwo lucky-xztx userInner

repo: FISCO-BCOS/FISCO-BCOS


text:
Keycloak crashes when plugin is included

When I include the JAR plugin (0.5.0) I get the following error:
keycloak-keycloak-1         | ERROR: Unexpected error when starting the server in (production) mode
keycloak-keycloak-1         | ERROR: Failed to start quarkus
keycloak-keycloak-1         | ERROR: javax/ws/rs/InternalServerErrorException
keycloak-keycloak-1         | ERROR: javax.ws.rs.InternalServerErrorException
keycloak-keycloak-1         | For more details run the same command passing the '--verbose' option. Also you can use '--help' to see the details about the usage of the particular command.
keycloak-keycloak-1 exited with code 1

Here is my docker compose script:
version: "3"
services:
  postgre-sql:
    image: "postgres:15.4"
    hostname: "postgre-sql"
    environment:
      POSTGRES_DB: "keycloak"
      POSTGRES_USER: "keycloak"
      POSTGRES_PASSWORD: "keycloak"
    restart: "always"
    volumes:
      - "./postgre-sql:/var/lib/postgresql/data"

  walt-id-ssi-kit:
    image: "waltid/ssikit:latest"
    hostname: "walt-id-ssi-kit"
    command: ["serve", "-b", "0.0.0.0"]
    restart: "always"
    volumes:
      - "./walt-id-ssi-kit:/app/data/revocation"

  keycloak:
    image: "quay.io/keycloak/keycloak:22.0.1"
    hostname: "keycloak"
    environment:
      KC_LOG_LEVEL: "ALL"
      KEYCLOAK_ADMIN: "admin"
      KEYCLOAK_ADMIN_PASSWORD: "admin"
      KC_HOSTNAME_URL: "https://keycloak.example.com"
      KC_HOSTNAME_ADMIN_URL: "https://keycloak.example.com"
      KC_DB: "postgres"
      KC_DB_URL_HOST: "postgre-sql"
      KC_DB_URL_PORT: 5432
      KC_DB_URL_DATABASE: "keycloak"
      KC_DB_USERNAME: "keycloak"
      KC_DB_PASSWORD: "keycloak"
      KC_PROXY: "passthrough"
      KC_HTTP_ENABLED: "true"
      VCISSUER_WALTID_ADDRESS: "http://walt-id-ssi-kit"
      VCISSUER_WALTID_CORE_PORT: 7000
      VCISSUER_WALTID_SIGNATORY_PORT: 7001
      VCISSUER_ISSUER_DID: "did:web:example.com"
      VCISSUER_ISSUER_KEY_FILE: "/opt/keys/did.json"
    command: "start"
    restart: "always"
    volumes:
      - "./vc-issuer-0.5.0.jar:/opt/keycloak/providers/vc-issuer-0.5.0.jar"
      - "./did.json:/opt/keys/did.json"
    depends_on:
      - "postgre-sql"
      - "walt-id-ssi-kit"

  nginx:
    image: "nginx:1.23.4"
    hostname: "nginx"
    ports:
      - "443:443"
    restart: "always"
    volumes:
      - "./config/nginx.conf:/etc/nginx/nginx.conf"
      - "/etc/letsencrypt:/etc/letsencrypt"
    depends_on:
      - "keycloak"

The error disappears if I remove this line:
      - "./vc-issuer-0.5.0.jar:/opt/keycloak/providers/vc-issuer-0.5.0.jar"

Indeed changing the version of Keycloak to 21.1.2 solved the issue.
Thank you for this quick and efficient response!

repo: FIWARE/keycloak-vc-issuer


text:
Kirill

Changed name of day_1.py

Done


text:
Trying to export a 2D texture returns an empty byte array (Fortnite version 7.40, UE 4.22)

            var saveAs = Path.Combine(savePath, _texture.Name + ".png");
            if (File.Exists(saveAs)) return;

            byte[] data = await Provider.TrySaveAssetAsync(_texture.GetPathName());

            if (data == null)
            {
                Console.WriteLine("Data is null");
                return;
            }

            using var stream = new MemoryStream(data) { Position = 0};

            var fs = File.Create(saveAs);

            fs.Write(SKBitmap.Decode(stream).Bytes);
            fs.Close();

Using TrySaveAssetAsync to save a UTexture2D always returns null, i'm sure that the largepreviewimage isn't null because not only i get it from the item's item definition but logging the name into the console returns the right asset name

that's not how you save a texture
please read the README

@4sval that still returns null, maybe wait for an answer before closing the issue :/

there's no anwser to wait for on very outdated game builds

😐


text:
Crashing on world creation

Describe the Bug
After adding Create to my modlist, my game crashes whenever I try to load or create a world.
Reproduction Steps
1.Launch Minercraft
2.Try loading or creating a world
Expected Result
The world is created/loads normally
Screenshots and Videos
No response
Crash Report or Log
https://paste.ee/p/IVp30
Operating System
Windows 10
Mod Version
0.4.1
Minecraft Version
1.18.2
Other Mods
[✔] appleskin-fabric-mc1.18.2-2.4.0
[✔] architectury-4.4.54
[✔] balm-fabric-3.0.0+0
[✔] bclib-1.4.5
[✔] bedspreads-fabric-1.5.0-1.18
[✔] betteranimalsplus-1.18.2-11.0.5-fabric
[✔] better-end-1.1.0
[✔] BetterF3-1.2.4-Fabric-1.18.2
[✔] better-nether-6.1.1
[✔] Bookshelf-Fabric-1.18.2-13.0.13
[✔] Clumps-fabric-1.18.2-8.0.0+8
[✔] cookingforblockheads-forge-1.18.2-12.0.1
[✔] create-mc1.18.2_v0.4.1+565
[✔] Croptopia-1.18.2-FABRIC-1.8.3
[✔] Decorative+Blocks-forge-1.18.2-2.1.0
[✔] effective-1.2.1
[✔] elementalcreepers-1.4.2+1.18.2
[✔] EnchantingInfuser-v3.2.0-1.18.2-Fabric
[✔] EnchantmentDescriptions-Fabric-1.18.2-10.0.3
[✔] ExplorersCompass-1.18.2-2.1.0-fabric
[✔] extrakeybinds-1.18-0.1.0
[✔] extraorigins-1.18-10
[✔] fabric-api-0.51.1+1.18.2
[✔] flan-1.18.2-1.7.6-fabric
[✔] ForgeConfigAPIPort-v3.2.0-1.18.2-Fabric
[✔] genesis-1.18.2-1.0.1
[✔] golemsgalore-1.2.1+1.18.2
[✔] gravestone-1.18.2-1.0.1
[✔] illuminations-1.10.4
[✔] immersive-portals-1.3.6-mc1.18.2-fabric
[✔] impaled-1.1.1
[✔] journeymap-1.18.2-5.8.2-fabric
[✔] just-end-anchor-1.0.2-1.18
[✔] lank
[✔] medieval-origins-1.18.x-4.0.2
[✔] moborigins-1.8.1
[✔] mythicmetals-0.13.1
[✔] NaturesCompass-1.18.2-2.0.3-fabric
[✔] Oh_The_Biomes_You'll_Go-fabric-1.18.2-1.4-RC-11
[✔] Origins-1.18.2-1.4.1
[✔] Origins-Classes-1.18.2-1.3.0
[✔] Patchouli-1.18.2-67-FABRIC
[✔] Pehkui-3.2.2+1.14.4-1.19
[✔] phosphor-fabric-mc1.18.x-0.8.1
[✔] PuzzlesLib-v3.3.1-1.18.2-Fabric
[✔] RoughlyEnoughItems-8.1.449
[✔] sophisticatedbackpacks-1.18.2-3.15.17.559
[✔] spyglass-improvements-1.2+mc1.18.2+fabric
[✔] TerraBlender-fabric-1.18.2-1.1.0.99
[✔] Terralith_v2.2.1a
[✔] victus-0.1.10+1.18
[✔] waystones-fabric-1.18.2-10.0.0
[✔] worldedit-mod-7.2.10
[✔] wraith-alloy-forgery-2.0.13+1.18
[✔] xp_obelisk-0.3.8.r_for_1.18.x_Fabric
Additional Context
No response

try update immersive portals https://github.com/qouteall/ImmersivePortalsMod/releases/tag/v1.3.7-1.18

Thank you, it works perfectly now !

authors: SalmaelNox Skidamek

repo: Fabricators-of-Create/Create


text:
Preserve

Hi team, I added:

[ ] preserve data management file
[ ] preserve and load book and label related data

Status: Approved ✔
Hi Micronaut @Fahim-Khan-P
Great work!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉

Highlights

No linter errors ✔
Route Works✔
Implement classes :heavy_check_mark:
Cheers and Happy coding!👏👏👏

Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me @tonnymuchui  in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.

authors: Fahim-Khan-P tonnymuchui

repo: Fahim-Khan-P/Ruby-Capston


text:
Internet connectivity breaks

Everytime when i download course on udeler my internet connectivity brokes next day and i have to call broadband operator to fix it every single time it happens

Everytime when i download course on udeler my internet connectivity brokes next day and i have to call broadband operator to fix it every single time it happens

This is not a problem with the app. This is a problem with your internet provider that is limiting your internet daily.
Please close this error.

Ok thank you for reply

repo: FaisalUmair/udemy-downloader-gui


text:
Add reference to Event GEDCOM to version detection doc

Event GEDCOM spec: http://bartonstreet.com/deadends/EventGEDCOMDraft1.0.pdf
It's detected by GEDC.FORM.FORM EVENT
Like 5.5.5 this is an unofficial spec to be referenced as non-normative

https://www.tamurajones.net/EventGEDCOMDetection.xhtml says it's detected by GEDC.VERS 1.0.  I didn't see any Event GEDCOM files out there from a web search though.

I also have a number of GEDCOM files with a GEDC.VERS payload of 1.0 which are not Event GEDCOM.  These all have a HEAD.SOUR ANSTFILE.
They contain this GEDC structure and appear to be valid GEDCOM 3.0 or 4.0 files:
1 GEDC
2 VERS 1.0

Two other files with HEAD.SOUR ANSTFILE have the following GEDC:
1 GEDC
2 VERS GEDCOM 5.5
2 FORM LINEAGE-LINKED

authors: dthaler elyoh tychonievich

repo: FamilySearch/GEDCOM


text:
Existing content is not replaced when node is yielded

Take this example where a child component yields it's #header to the header in the parent component:
// Child component
behaviors: {
  '#header': {
    '$yield': '#title'
  }
},
tree: `<node id="header"><h1>Title</h1></node>`

// Parent component
tree: `
  <user:child>
    <node id='header">

Different title

  </node>
</user:child>`

The content from the child #header is not replaced by the content from the parent. Instead both
s are rendered.
Linguistically, at least, it would make better sense if when a node is directed to yield it completely hands over responsibility for what is rendered inside to the node it is yielding to.

@djgrant Thanks for bringing this to our attention. I'll look into this today.

authors: arkadyp djgrant

repo: Famous/framework


text:
🛑 Hacker News is down

In 8dbbbbe, Hacker News (https://news.ycombinator.com) was down:

HTTP code: 502
Response time: 299 ms

Resolved: Hacker News is back up in 3a76770 after 20 minutes.

repo: Fantom-XR/uptime-new