text:
[NoQA] Update the trigger condition for the reassure workflow

Details

Only trigger the workflow when we push to the branch and not on staging or production branches
Fixed Issues

Partially https://github.com/Expensify/App/issues/19376
Tests

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

N/A
Offline tests

N/A
QA Steps

N/A

[ ] 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] 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(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 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
No screenshots required since this touches CI only

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

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 / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

: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/roryabraham in version: 1.3.26-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/AndrewGable in version: 1.3.26-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

authors: OSBotify mountiny roryabraham


text:
Fix#29173:Chat - The New Line Marker does not appear for unread first message

Details

For a report that's just created, there is no lastReadTime. I've added this additional check to isMessageUnread.
In some cases, the nextMessage is null. E.g. when we open the IOU report. So, I'm adding an additional check for this before calling the isMessageUnread on the nextMessage.
When userActiveSince.current is null, reportAction.created < userActiveSince.current condition produces incorrect result. I've added a check for this as well.

Fixed Issues

$ https://github.com/Expensify/App/issues/29173
PROPOSAL: https://github.com/Expensify/App/issues/29173#issuecomment-1755605933
Tests

Choose two user accounts (userA and userB) such that they have not messaged each other before. If you can't remember such accounts, go ahead and use two brand new test accounts.
Sign in as userA (say test+1@gmail.com)
Click on the + from LHN and select Start Chat
The contact picker opens on the right. Enter the userB's email (say test+2@gmail.com) and continue.
Send a message.
Logout from userA
Login as userB
Open the message from userA
You should see the new message marker shown. Before this fix, the new message marker was missing.

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

Offline tests

Same as Tests
QA Steps

Same as Tests

[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 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] 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(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
https://github.com/Expensify/App/assets/140621077/6fa17590-85b2-4ce0-8e89-5d266a19d99b

Android: mWeb Chrome
https://github.com/Expensify/App/assets/140621077/37b7791d-1ccf-47ee-af91-a7f5b94a4af5

iOS: Native
https://github.com/Expensify/App/assets/140621077/cba69b0a-7e3c-4736-bcff-df972df96d1e

iOS: mWeb Safari
https://github.com/Expensify/App/assets/140621077/b80ade26-848d-4c7b-8e5b-606664808bdb

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/140621077/4a9cfcd3-c3ee-4dab-b549-628c537e85ea

MacOS: Desktop
https://github.com/Expensify/App/assets/140621077/bcc26fff-f5ba-40d3-8536-19c9ef24fdf0

I have read the CLA Document and I hereby sign the CLA

recheck

@chamysoftware can you please add videos to all platforms

@narefyev91, I've added the recordings

@chamysoftware Please also sync your branch with latest main

@narefyev91, sorry about that. Synced it now

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 / Chrome
[x] iOS / native
[x] iOS / 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(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 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

Web
https://github.com/Expensify/App/assets/28352309/8153bb2e-c51e-4f81-8fa2-545d4a4669f4

Mobile Web - Chrome
https://github.com/Expensify/App/assets/28352309/5abed88c-f2be-4ced-88a3-838483723843

Mobile Web - Safari
https://github.com/Expensify/App/assets/28352309/beb2f4b4-8cde-4060-bfc7-ed51e64df21b

Desktop
https://github.com/Expensify/App/assets/28352309/57b64cdf-c26f-4b79-ba10-0a67389251e8

iOS
https://github.com/Expensify/App/assets/28352309/76def1c9-b63a-4a6d-9b94-5be3f90fce0e

Android
https://github.com/Expensify/App/assets/28352309/820f009a-e36c-4fe9-8515-66363f0d6f7c

Hey @chamysoftware! Looks like there's a merge conflict

@srikarparsi, resolved conflicts and tested again.

@srikarparsi a gentle reminder to review this

Hey @chamysoftware, code looks good but before I merge can you fix lint please?

Hey @srikarparsi, done

: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/srikarparsi in version: 1.3.89-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/marcaaron in version: 1.3.89-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

source: gharchive/pull-request

authors: OSBotify chamysoftware narefyev91 srikarparsi

repo: Expensify/App

license: MIT

license_type: permissive

license_source: github-api


text:
Rename SAML-SSO.md to SAML-SSO.md

Moving this articles from Classic > Workspaces to Classic > Domains instead.

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://head.helpdot.pages.dev ⚡

🚀 Deployed to staging by https://github.com/marcochavezf in version: 1.4.62-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/marcochavezf in version: 1.4.62-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/thienlnam in version: 1.4.62-17 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


text:
🍒 Cherry pick PR #4804 to staging 🍒

🍒 Cherry pick https://github.com/Expensify/App/pull/4804 to staging 🍒

🚀 Cherry-picked to staging by @OSBotify in version: 1.0.86-9 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.


text:
Avoid suggestion box calculation on firs input focus

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/47661
PROPOSAL: https://github.com/Expensify/App/issues/47661#issuecomment-2360841690
Tests

You can also use all test cases described in this PR https://github.com/Expensify/App/pull/44113

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

Offline tests

QA Steps

Launch app

Tap fab -- start chat -- room

Create a room

Enter @jaihanumanblig@gmail.com

Send the message

In a whisper message, tap invite

Long press the message sent in step 4, and select edit comment

No suggestion box shouldn't appear when the input is focused first time

Open any chat

Open the emoji picker menu

Select a skin tone (other than the default yellow)

Verify that the hand emoji has the proper selected color

Close and reopen the app

Open any chat

Open the emoji picker menu

Verify that the hand emoji still has the previously selected color

[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/c30eb509-b7aa-410e-9e53-9b92b71c0029

Android: mWeb Chrome
https://github.com/user-attachments/assets/8735fef5-44d7-4125-9788-0caf76611436

iOS: Native
https://github.com/user-attachments/assets/7b7817e7-f16a-4370-9804-7159ff0d741d

iOS: mWeb Safari
https://github.com/user-attachments/assets/6b2d4fef-ec00-43e7-ac69-07bace6ecbaf

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/4dadaf5b-9dd3-4499-8dce-6fd1ac47fd82

MacOS: Desktop
https://github.com/user-attachments/assets/f55f4573-deab-488b-be46-a09ecfc854a1

The error says withOnyx is deprecated. Use useOnyx instead of withOnyx whenever possible' This withOnyx was in a file I edited previously. I assume it would be replaced in all occurrences by a single PR

Please add platform screenshots

ahh, sorry about that, added

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

We reverted this PR to fix https://github.com/Expensify/App/issues/50283
cc: @perunt @mkhutornyi

authors: OSBotify perunt rlinoz


text:
fix: styles for ul & ol

Details

https://github.com/Expensify/App/issues/5008#issuecomment-923212885
Fixed Issues

$ https://github.com/Expensify/App/issues/5008
Tests | QA Steps

Lunch the app
Log in with expensifail account
On Search box - find Chronos
Text - Top

Tested On

[x] Web
[x] Mobile Web
[x] Desktop
[x] iOS
[x] Android

Screenshots

Web | Desktop

Mobile Web

iOS

Android

OH @parasharrajat I hate having to ask, can you pull main into this branch? a month of changes can introduce weirdness 😄

🚀 Deployed to staging by @johnmlee101 in version: 1.1.8-10 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

authors: OSBotify johnmlee101 parasharrajat


text:
Move Android build variables to env

Details

Removes the Android keystore and key alias passwords to environment variables to lock things down 🔐
Keystore and key password were rotated internally ♻
Fixed Issues

$ https://github.com/Expensify/Expensify/issues/209628
Tests

Merge this PR
Verify the Android builds successfully

@AndrewGable feel free to merge this. Wanted to wait till you were online so you could verify the build went successfully yourself.

Yes - Correct. I confirmed that they are not used in that step in the fastfile.

🚀 Cherry-picked to staging by @AndrewGable in version: 1.1.73-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by @yuwenmemon in version: 1.1.73-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

authors: AndrewGable OSBotify TomatoToaster


text:
Sync fork with upstream

This include a lot of VirtualizedList improvements and fixes. Notably this fixes an issue with inverted FlatList that forced us to use batchSize=1.
Upstream now also includes the changes to add onStartReached.

Thanks for opening this @janicduplessis. I'm going to use this issue to list out the custom changes in our react-native-web fork to see which are outstanding, which have been merged upstream, and which we're even using.

Everything merged cleanly except for VirtualizedList, which I made sure to apply https://github.com/Expensify/react-native-web/commit/05410db4e50e2cbbee84e6b2947a9e2a8a17a353 which I think was the only change that was not upstreamed.

authors: janicduplessis roryabraham

repo: Expensify/react-native-web


text:
How to make an interactable wheel

Create a wheel with an angular drive that can be turned in either direction.

https://www.youtube.com/watch?v=VG4KbLMl2Ns

source: gharchive/issue


text:
How to create a Xml document with same class, different structures with C#?

I have to create a XML structure but dont know how to do this. I have in one xml document two different structures with the same class. The first structure shows a structure that element is a List of . Also element is a list from itself.
The second structure shows that element Member also a List is from . These two structures must generated in one xml document. If I create a another class that is a List and give the Xmlroot with the name "Member", the Xml-Generator give an exception that soms classes have the same name. Can anyone help me to solve this? How to get the structure of Subelements also in these classes?
First structure

Second structure

The code of the classes what I now have is:
public class Section : List<Member>
{
    public Section() {}

    public Section(string aName)
    {
      Name = aName;
    }

    [XmlAttribute] public string Name { get; set; }
}

 public class Member : List<Member>
  {
    public Member()
    {
    }

    public Member(string aName, string aDatatype, string aRemanence)
    {
      Name = aName;
      Datatype = aDatatype;
      Remanence = aRemanence;
      Sections = new List
();
    }

    public Member(string aName, string aDatatype, string aAccessibility, string aRemanence)
    {
      Name = aName;
      Datatype = aDatatype;
      Accessibility = aAccessibility;
      Remanence = aRemanence;
    }

    [XmlAttribute] public string Name { get; set; }
    [XmlAttribute] public string Datatype { get; set; }
    [XmlAttribute] public string Accessibility { get; set; }
    [XmlAttribute] public string Remanence { get; set; }

    public List
 Sections { get; set; }

    [XmlArrayItem("BooleanAttribute")]
    public bool[] AttributeList{ get; set; }
    public string StartValue { get; set; }

    [XmlArrayItem("MultiLanguageText")]
    public string[] Comment { get; set; }

Hi @aGreefa thank you for writing in with your question.  I am a little confused however by what you mean by "Xml Generator".  Do you mean the serializer?  Can you verify you are using the classic XmlSerializer or ExtendedXmlSerializer?
Additionally, it appears the code you are using didn't make it all through and I had to edit your code sample.  Please ensure all code is available and I can further assist.
Finally, I do see that you are making use of classic XmlSerializer properties.  While some properties are supported, some are not.  One of which would be the XmlArrayItem attribute, which after a quick search of the codebase there are no supporting components.  You can see more here for more context of classic serialization support:
https://github.com/ExtendedXmlSerializer/home/wiki/FAQs#systemxmlserializer-vs-extendedxmlserializer
The general recommendation is that if you are using XML that has trouble with ExtendedXmlSerializer, the best recourse is to run it through XSLT and produce an XML document that ExtendedXmlSerializer understands.  From there, you can then load the document in ExtendedXmlSerializer and continue with further processing.
Please let me know the answer to the above questions and/or any further questions you have and I will do my best to assist you. 👍

Hi Mike-E-angelo. I am using the ExtendedXmlSerializer.  I mean the with Xml Generator the ExtendedXmlSerializer. This is the class code what I have for generating Xml. The Xml I sended, did I make by hand, that's what I need to have but dont know how to get the good Classes structure to get this output.

OK @aGreefa thank you for the further and additional context.  If you are able to provide some sample XML along with a failing test/code sample of what you are experiencing I can take a look into it for you.

Thanks for helping. I created the failing test code for this.
This is the Main program:
public class Program
{
static void Main(string[] args)
{
GenerateOutput();
}
static List
 fSections =
  new List

  {
    new Section("Static")
    {
      Members = new List<Member>
      {
        new Member("Section0", "Struct")
        {
          SubMember = new List<object>()
          {
            new Member("ACR_5603", "\"UDT_ACR_Settings\""),
            new Member("ACR_5604", "\"UDT_ACR_Settings\""),
            new Member("BUC_0001_0016", "Array[1..16] of \"UDT_BUC_Settings\"")
            {
              SubMember = new List<object>()
              {
                new Section("None")
                {
                  Members = new List<Member>
                  {
                    new Member("CanalFull", "\"UDT_DEV_DIG_INPUT_Settings\"")
                    {
                      SubMember = new List<object>
                      {
                        new List

                        {
                          new Section("None")
                          {
                            Members = new List<Member>
                            {
                              new Member("SettOnDelay", "Time")
                              {
                                SubMember = new List<object>
                                {
                                  new Subelement
                                  {
                                    Path = 1, StartValue = "T#OMS"
                                  },
                                  new Subelement
                                  {
                                    Path = 2, StartValue = "T#OMS"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
  };

public static XDocument GenerateXml<T>(T aModel)
{
  ConfigurationContainer lConfiguration = new ConfigurationContainer();

  var lSerializer = lConfiguration
    .Type<List<object>>(aTypeConfiguration => aTypeConfiguration.Ignore(typeof(List<object>).GetProperty(nameof(List<object>.Capacity))))
    .Create();

  XDocument lXDocument = XDocument.Parse(lSerializer.Serialize(aModel));

  return lXDocument;
}

public static void GenerateOutput()
{
  XDocument lOutputDocument = GenerateXml(fSections);

  using (XmlWriter lXmlWriterDB = XmlWriter.Create(File.Create("C:\\Users\\AvanBeem\\Documents\\Automation2021\\Test_Subelement\\Test_Subelement.xml"),
    new XmlWriterSettings {Indent = true, IndentChars = "\t", OmitXmlDeclaration = true, CloseOutput = true}))
  {
    lOutputDocument.Save(lXmlWriterDB);
  }
}

}
This are all the classes for the Xml:
public class Section
{
public Section()
{
}
public Section(string aName)
{
  Name = aName;
}

[XmlAttribute] public string Name { get; set; }

[XmlElement("Member")]
public List<Member> Members { get; set; }

}
public class Member
{
public Member()
{
}
public Member(string aName, string aDatatype)
{
  Name = aName;
  Datatype = aDatatype;
}

[XmlAttribute] public string Name { get; set; }

[XmlAttribute]
public string Datatype { get; set; }

[XmlElement("Sections", typeof(List
))]
[XmlElement("Member", typeof(Member))]
[XmlElement("Subelement", typeof(Subelement))]
public List<object> SubMember { get; set; }

}
public class Subelement
{
[XmlAttribute]
public int Path { get; set; }
[XmlElement]
public string StartValue { get; set; }

}
The Xml what i want to have:

OK great, thank you for all that information @aGreefa, and for taking the time to compile it.  I see now what you mean by Xml generator.  I thought that you might have been doing some legacy XSD/XML generation based on the attributes and wanted to be sure.
Now as far as your desired output, I am afraid we are running into a few known issues with ExtendedXmlSerializer here, particularly when it involves classic XML serialization.
My recommendation for this scenario is to use XSLT on the document created by ExtendedXmlSerializer.  You should be able to format the document exactly as desired via XSLT, and then send that resulting document onto the next consumer in your scenario.
I know that isn't ideal, and will involve some more work for you, but that's the best option I can recommend.  There are some configurations we can apply to the ConfigurationContainer, but at the end of the day, we're running into a few issues in how ExtendedXmlSerializer creates the output, particularly with properties that are list elements.
There is also the issue with the exs:member="true" which is a hacky way that is currently implemented to discern between member properties that have the same names as types in the same namespace.  This is easily removed via XSLT if needed.
Sorry that I am not able to provide a helpful answer here.  If you do have any further questions/comments please do let me know and I will see if I can assist you further.

Going through the issues here, and this appears to be addressed as much as we address it.  It has been added as a known issue for others to view when reading the README.  Please do let me know if you have any additional questions/issues and I will do my best to assist. Closing for now.

authors: Mike-E-angelo aGreefa

repo: ExtendedXmlSerializer/home


text:
🛑 PR Medialogia is down

In 7ead4cd, PR Medialogia (https://pr.mlg.ru) was down:

HTTP code: 503
Response time: 1751 ms

Resolved: PR Medialogia is back up in f9d44a6 after 7 minutes.


text:
Update regular expressions handling with GCC

What does this implement/fix? Explain your changes.
Fix build issue in AbstractSession.cpp
Does this close any currently open issues?
No
Any relevant logs, error output, etc?
No
Any other comments?
No
Where has this been tested?
Operating System: CentOS 7
Platform: gcc 4.8

See #174 and #175

authors: mpoudret philippeVerney


text:
Removed unsafe code and simplified bit shifting

It passes all tests, and I manually inspected the bits to ensure that proper shifting occurred for the new function.

Thank you!

Thank you!

Thanks! This was my first pull request ever so I'm glad everything went so smoothly! I'm going to keep looking over the code to see if there's any glaring issues that I can correct.

Thanks! This was my first pull request ever so I'm glad everything went so smoothly! I'm going to keep looking over the code to see if there's any glaring issues that I can correct.


text:
Slack

Merging branches slack and master

Deploy preview for fcccolumbus processing.
Built with commit c56b21c92597126136295459944ba8f9c646ecdb
https://app.netlify.com/sites/fcccolumbus/deploys/5a77a9040b79b7581af99f3a

license: mit

license_source: bigquery


text:
remove compiler checks for old haxe versions

I dont think anyone is building this thing with haxe 3 imma be real

This is already done on the dev repo, with a rewrite of the controls to use a macro

repo: FNF-CNE-Devs/CodenameEngine


text:
How can I add the ability to wrench-break an item?

I want to be able to shift-wrench to break some specific blocks (storagedrawers drawer controllers and more).
I imagined it's just a tag that I can apply through a datapack but I can't find it through the code. Am I missing something?

https://github.com/Creators-of-Create/Create/wiki/Useful-Tags#block-tags #create:wrench_pickup

authors: IThundxr dzervas

repo: Fabricators-of-Create/Create


text:
Userlist gets out of sync with idle users

If someone idles too long, they don't disconnect, but their name disappears from the userlist.  (They can still talk in the chat, though.)

@panpawn what do you think is the solution to this?

We probably need an idle timer and to disconnect the user when it expires.

@TheFenderStory pruneGhostUsers? https://github.com/Zarel/Pokemon-Showdown/blob/b6656606080506d50e42493e0a81bb7cad1da161/users.js#L1605

Yeah thats probably what we are gonna need to do

Before trying to add something like that, we should try to figure out why the userlist seems to desync after a certain period of time.

Is this issue still relevant with our current build?

@TheFenderStory not sure. We'll have to wait and see if it happens on a larger userbase

authors: CreaturePhil TheFenderStory panpawn

repo: FakeSloth/gryph


text:
ci: turn off edge snap builds temporarily

turns off edge snap builds temporarily and makes it manual

:tada: This PR is included in version 1.9.0 :tada:
The release is available on:

v1.9.0
GitHub release

Your semantic-release bot :package::rocket:

repo: Fallenbagel/jellyseerr


text:
All Page - When we filter records and click enter it should filter data by Abhinav Sirvi Associates

Describe the bug

All page issues are not trackable, so clear indication with actual page will give better result in term of issue tracking,
closing for now, but taking Keyboard shortcut implementation as input

authors: Avinash-ecb mitulpanch

repo: Fammeo/EasyCloudBooks


text:
Setting Page - Online Payment - Change text

change

to

Initiated by @vinpahilwani
Verified by @mitulpanch

Payment Show Note : If this is ON, we will show Note Textbox to collect message from client.
Show Select Message : If this is ON, we will show Drop Down of Predefined Messages for selection to collect message from client.


text:
useAction Hook is obligating to install redux-related packages when using blackout-react

Expected behaviour
When using the helpers from blackout-react, no redux-related packages should be required to be installed, if we use no features this package which don't require redux explicity:
import { headers, getTimeInMinutes } from '@farfetch/blackout-react`;

...

Actual behaviour
When we import helpers, like this:
import { headers, getTimeInMinutes } from '@farfetch/blackout-react`;

...

as the @farfetch/blackout-react exports useAction on the helpers/index.ts, it requires the installation of redux and react-redux.
Steps to reproduce

Open a project without redux and react-redux installed
Try to make the following import

import { headers, getTimeInMinutes } from '@farfetch/blackout-react`;

Run the project

Context/environment
This happens on projects that have installed @farfetch/blackout-react but doesn't have redux and react-redux and need to use some react helpers.
Possible fix

Don't export helpers/useAction.ts directly on the helpers/index.ts, and require users to use a explicitly path, like:

import { useAction } from @farfetch/blackout-react/helpers/withRedux
// or
import useAction from @farfetch/blackout-react/helpers/useAction

Remove useAction, as this function is known for having performance issues and is not recommended (see https://react-redux.js.org/api/hooks#recipe-useactions) and pass the decision to use that for the tenant

Fixed in #500

authors: dnamorim jhairabreu

repo: Farfetch/blackout


text:
Styling android

There is styling issue on android which shows underline in the text input. For solution the underlineColorAndroid="transparent" prop should be used ;
<TextInput
{ ...userProps }
ref="textInput"
autoFocus={this.props.autoFocus}
style={[defaultStyles.textInput, this.props.styles.textInput]}
onChangeText={onChangeText ? text => {this._onChangeText(text); onChangeText(text)} : this._onChangeText}
value={this.state.text}
placeholder={this.props.placeholder}
placeholderTextColor={this.props.placeholderTextColor}
onFocus={onFocus ? () => {this._onFocus(); onFocus()} : this._onFocus}
clearButtonMode="while-editing"
underlineColorAndroid="transparent"
/>

Thanks @RajanJS !

authors: RajanJS myaskevich


text:
MQTT error

hello, i have installed your firmware alpha 1.1 for my raspberry 3 and arduino with the last version,
in the instal everything is ok i run ruby setup.rb but in http://my.farmbot.io/ there an error impossible to conect to mqtt server can you help me?
I started to build my farmbot is a very great project thank you for that
sorry for my english
clement to france

Hi @blaimentin . Please try using staging.farmbot.io instead. The problem will be fixed in the next 2 weeks. Also make sure to run setup.rb again pointing to that server.

hello, its working in staging farmbot.io thank you

Glad to hear that @blaimentin . I am upgrading the staging servers today so you may experience some outages for the next 6 hours. Everything should be back to normal tomorrow.

authors: RickCarlino blaimentin

repo: FarmBot/farmbot-raspberry-pi-controller


text:
Revert MessageHandlerMessage to the way it used to be

The title says it all for this one.
Tested it locally and in "production". Everything appears normal.

Actually, let's hold off. I think there may be some issues, actually.

It looks like it's working fine now.


text:
🛑 FastGit Hub is down

In 12c0863, FastGit Hub (https://hub.fastgit.org) was down:

HTTP code: 0
Response time: 0 ms

Resolved: FastGit Hub is back up in c762d62.

repo: FastGitORG/uptime


text:
Add Resources Page (just design)

Description
I implemented a new design for the Resources page. All styles are located in a separated file. I didn't implement functionality but there are components which you can you to implement search, etc
Resolves Issue: closes #{issue number} (e.g. closes #123).

I'm going to merge this but I would like to ask one thing, in the App.js, will you please put the page in the lazy loader?

Thank you so much thou, it's coming along grate.

I'm going to merge this but I would like to ask one thing, in the App.js, will you please put the page in the lazy loader on your next pull request?

Sure, I will do that!

repo: FearlessTech/Reentry


text:
Various updates to improve test coverage

Updates to improve test coverage with changes made for implementing Koalas support.

@frances-h Didn't know if you wanted to take another look over this before I merge it in to koalas-entity.

repo: FeatureLabs/featuretools


text:
Lua additions

Added Client class and ChatPrintf
Added AntiAim callback

@lnx00 maybe add a "callback" for the filtered chatprintf thing for chat messages?

filtered chatprintf thing? What's that?

repo: Fedoraware/Fedoraware

license: WTFPL


text:
link parsing problems

Hey! Thank you for opening this!
You can disable this in settings.
in .config/moxide/settings.toml
references_in_codeblocks = false # default is true


text:
Make gathering mandrake and nightshade easier

Half time between successfully searching?
Double amount received?

Or making search take time like in Apple II version

Or add them to a store?


text:
The download section is shown before loading the whole webpage

Right now, when opening the website for first time, it shows the download section for a while. Later, when the whole website (or something like that) is loaded, the first section is shown.
It's not a big issue, with it's not as perfect as it should.

Hi @rocboronat
I need the file e:/www/LESS/style.less for re-compile main.less with new styles.
Thanks

Contacted with Pedro @ Xitrus, the author of the first version of the website! :·D

authors: nucliweb rocboronat

repo: Fewlaps/quitnow-website


text:
HTTPS codepen link

This prevents a redirect

Thanks!

authors: FezVrasta coliff


text:
Unexpected character error

Hello,
I'm trying to add this plugin to my codebase, but a error keeps popping up. Have you had this issue before?
Error: SyntaxError: Unexpected character '�' while parsing file: /Users/matiss/personal/property-crawler/list-crawler/node_modules/iconv/build/Release/iconv.node (line: 1, col: 0, pos: 0)

Error
    at new JS_Parse_Error (eval at <anonymous> (/Users/matiss/personal/property-crawler/list-crawler/node_modules/uglify-js/tools/node.js:28:1), <anonymous>:1545:18)
    at js_error (eval at <anonymous> (/Users/matiss/personal/property-crawler/list-crawler/node_modules/uglify-js/tools/node.js:28:1), <anonymous>:1553:11)
    at parse_error (eval at <anonymous> (/Users/matiss/personal/property-crawler/list-crawler/node_modules/uglify-js/tools/node.js:28:1), <anonymous>:1677:9)
    at Object.next_token [as input] (eval at <anonymous> (/Users/matiss/personal/property-crawler/list-crawler/node_modules/uglify-js/tools/node.js:28:1), <anonymous>:1949:9)
    at next (eval at <anonymous> (/Users/matiss/personal/property-crawler/list-crawler/node_modules/uglify-js/tools/node.js:28:1), <anonymous>:2078:25)
    at Object.parse (eval at <anonymous> (/Users/matiss/personal/property-crawler/list-crawler/node_modules/uglify-js/tools/node.js:28:1), <anonymous>:2064:15)
    at addFile (/Users/matiss/personal/property-crawler/list-crawler/node_modules/uglify-js/tools/node.js:71:33)
    at /Users/matiss/personal/property-crawler/list-crawler/node_modules/uglify-js/tools/node.js:80:17
    at Array.forEach (native)
    at Object.exports.minify (/Users/matiss/personal/property-crawler/list-crawler/node_modules/uglify-js/tools/node.js:78:26)
    at Stream.ready (/Users/matiss/personal/property-crawler/list-crawler/node_modules/uglifyify/index.js:71:19)
    at Stream.<anonymous> (/Users/matiss/personal/property-crawler/list-crawler/node_modules/uglifyify/index.js:97:12)
    at _end (/Users/matiss/personal/property-crawler/list-crawler/node_modules/through/index.js:65:9)
    at Stream.stream.end (/Users/matiss/personal/property-crawler/list-crawler/node_modules/through/index.js:74:5)
    at DestroyableTransform.onend (/Users/matiss/personal/property-crawler/list-crawler/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:495:10)
    at DestroyableTransform.g (events.js:291:16)
    at emitNone (events.js:91:20)
    at DestroyableTransform.emit (events.js:185:7)
    at endReadableNT (/Users/matiss/personal/property-crawler/list-crawler/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:865:12)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickDomainCallback (internal/process/next_tick.js:122:9)
    at module.exports.logError.errorHandlingError (/usr/local/lib/node_modules/serverless/lib/classes/Error.js:82:11)
    at BbPromise.resolve.then.catch.e (/usr/local/lib/node_modules/serverless/bin/serverless:20:15)
    at tryCatcher (/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:510:31)
    at Promise._settlePromise (/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:567:18)
    at Promise._settlePromise0 (/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:612:10)
    at Promise._settlePromises (/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:687:18)
    at Async._drainQueue (/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/async.js:138:16)
    at Async._drainQueues (/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/async.js:148:10)
    at Immediate.Async.drainQueues (/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/async.js:17:14)
    at runCallback (timers.js:574:20)
    at tryOnImmediate (timers.js:554:5)
    at processImmediate [as _immediateCallback] (timers.js:533:5)

Here's my package.json dependencies
{
  "dependencies": {
    "aws-sdk": "^2.7.6",
    "babel-preset-es2015": "^6.18.0",
    "crawler": "git://github.com/bda-research/node-crawler.git#1.0.0-beta",
    "q": "^1.4.1",
    "serverless-plugin-optimize": "git://github.com/FidelLimited/serverless-plugin-optimize.git#master"
  },
  "devDependencies": {}
}

I noticed that when trying to use the non default babel preset of es2015 I get similar errors - are you using different babel presets? I'm in the process of trying to troubleshoot this now.

No, I have no customisations for this plugin. Essentially this is all my serverless.yml file.
service: mja-name

provider:
  name: aws
  runtime: nodejs4.3
  cfLogs: true

functions:
  name:
    handler:  handler.myHandler
plugins:
  - serverless-plugin-optimize

package:
  individually: true

I have a feeling this is related to uglify not supporting ES6, see here

I have minify set to false, and it's still hitting this error. For me, it's due to a .node binary file being required in a package, the one I'm using is called sharp.

@dwolfand Check if the problem is due to global was not being set in babelify. PR #14 solved this and I just published it now to npm.
@cryptoquick I will be including browserify options extensions array that you will be able to add other extensions besides .js and .json.

@dwolfand @cryptoquick new release should solve all these issues.

This one still happens to me with the sharp module. I have tried setting ignore to the .node file but it did not help. Setting minify to false changes the output to:
Unexpected character ''
with no additional traceback info - I have tried setting SLS_DEBUG and debug as well and nothing more shows up.

That happens during optimization?
Test manually Browserify on your file from CLI. And see if it bundles well.
Make sure you go through all Browserify, Babel options correctly.
I can only help if you point that the cause is from the plugin.

Yea, so it seems it has more to do with browserify & those node packages that have C++ addons (like sharp) than your plugin. Also with the sharp it probably does not make that much difference to bundle the js as the libs themselves are over 20mb...

dionysio, I fixed the sharp issue on my end. it doesn't involve this plugin, however, and I don't think it would work even if browserify could bundle .node files. It wouldn't also provide the requisite lib / .so files, and it wouldn't be built for the AWS lambda architecture, it'd be built for your own local architecture. I wound up creating a set of shell scripts & npm run scripts that uses stock Babel CLI to build your code, scp it to a build server running an Amazon Linux image as described in the Sharp documentation that builds sharp, then I remotely run a shell script on that server to build it, remove unnecessary folders, and zip the project. Then I pull it back down via scp and deploy that with serverless. The whole deployment process takes about five minutes.

I should add that this is not a bad solution if you also want to use sharp-blockhash and you're using a lambda services architecture, so you don't deploy these things very often, once built. Though, it only works well enough if you use the fork of the repo I have on my profile. For some reason the latest sharp wouldn't work with the older code, I think it was an issue with how blockhash manages prototypal configuration data. But regardless, we're out in the weeds, and that's not that relevant to this issue.

browserify external feature seems to work for this kind of situation #34

authors: MatissJanis cryptoquick dionysio dwolfand goncaloneves hoonoh

repo: FidelLimited/serverless-plugin-optimize


text:
[Mobile] Landing/Home Screen - description disappears when screen is rotating

env. https://staging.fightpandemics.work/
Steps:

Open https://staging.fightpandemics.work/ on your mobile
Rotate screen
When screen is rotated description : Pandemics will continue to happen. We help communities prepare and respond - is not visible

Expected results: description is visible
More info:
Android 9 , Chrome

#345 related

authors: galeza snowiesuet

repo: FightPandemics/FightPandemics


text:
Wrote additional tests for new languages on header section

1-Update the header.spec.js to check all new updated languages
What does this pull request aim to achieve? 💯
Please be concise and link any related issue(s):

[x] I have checked that no one else is working on similar changes.
[x] I have read the latest README and understand the development workflow.
[x] The name of this branch is: feature/<branch_name>, or hotfix/<branch_name> if this is a hotfix, where <branch_name> briefly describes the issue(s) resolved and is prefixed with the issue number(s) (e.g. 1127-1130-update-git-branching-model). The branch is created in a cloned version of this repo, not a forked repo.
[x] This branch is rebased/merged with the latest staging (or the latest production if it is a hotfix).
[x] There are no merge conflicts.
[x] There are no console warnings and errors.
[x] On the right hand side of this PR, I have linked the appropriate issue(s) under "Issues" and added a project progress under "Projects".
[x] The title describes the issue(s) being addressed using format: <issue_numbers> - <brief_issue_description> (e.g. #1127/#1130 - Update Git Branching Model)

Hi All, I fix the error on new id button with image and update the validation for all the new languages

Thanks for fixing this.

Thank you ALL for review this :)

@ idjevm @galeza , please merge if you can at your convenience time.

authors: JayashreeSamantasinghar adorapham


text:
🛑 logs.mmattbot.com is down

In e2f5773, logs.mmattbot.com (https://logs.mmattbot.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: logs.mmattbot.com is back up in 2fbc1b2 after 9 minutes.

repo: Fijxu/justlog-instances-uptime


text:
Bump to the latest raven

Really curious to see what difference this makes to Sentry reporting

Also I’m not sure why we’re not just using the Express middleware and catching all errors thrown, but that’s for another time

authors: AbdullahAli keirog

repo: Financial-Times/email-users-lists


text:
Struggling to inject a populated ITenantInfo into DbContext

Hi,
I'm using a Configuration store with a custom ITenantInfo, which works in an MVC controller as per your examples
IxxTenantInfo ti = HttpContext.GetMultiTenantContext<xxTenantInfo>()?.TenantInfo;

I'm using a 'Clean Architecture' approach, and struggling to get tenant information into my DbContext in the Application layer.
DI is injecting objects but they have no values (all are null), eg:
services.AddScoped<xxTenantInfo>();
services.AddScoped<IxxTenantInfo, xxTenantInfo>();

// injected classes have null values
public WebDbContext(xxTenantInfo tenantInfo)

// or
public WebDbContext(IxxTenantInfo tenantInfo)

The WebDbContext in the Application class library cannot access the GetMultiTenantContext extension, even if I inject a HttpContextAccessor and use that.
I understand that it is hard for you to comment on this without the details of my code - but is there anything obvious I should be doing?

hi @white-label-development
In your clean architecture are you using tenant resolution or do you just want a "static" tenant info so you can get the db context working? Are you also using services,AddMultiTenant<xxTenantInfo> in your configuration? It's actually possible to use it without ASP.NET and its baggage if that's what you are trying to achieve.
If you can show a little more of your configuration or even create a sample project that reproduces the issue I'd be happy to take a look.

Thank you for such a quick reply and thank you so much for this great library. I just moved off Orchard.Core as it was getting in the way. This library does not - you have done a brilliant job.
I have solved my issue - I was being an idiot and should know by now to talk a walk before posting for help. Thanks anyway - it's all good here now :)

Excellent!

@white-label-development @AndrewTriesToCode hey guys, just wanted to comment about this because I'm having some similar issues.
I'm also using Clean Architecture for my project so I have a Infrastructure project where I'm configuring multitenancy as follows (omitting secrets).

Then I just called that method in my Startup.cs file to register the services as follows.

The problem that I'm having is that my database context can't be loaded because when trying to set up the connection string it is actually null.

The final goal is to be able to use it with the host strategy so I can use multiple subdomains and match configuration un appSettings files but for know I just wanted to tested in the easiest way.
I'd would appreciate if you guys can give me any advice or comments about how to set this up and make it work. Not pretty sure if this issue should be re-opened but commented here because it was related.

Hi @jason8496as
Unlike @white-label-development it looks like your app is using ASP.NET Core. In that case does this section of the docs (and the EFCore docs it links to) on design-time instantiation help? Docs link
Cheers!

@AndrewTriesToCode that's correct. I'm using .NET Core.
I tried to implement the factory as follows but still getting the same error.

Not pretty sure if I'm doing it the wrong way. Factory is inside my Infrastructure project (same as context). If I register the database service in the Startup.cs file using the empty constructor the app runs and loads but the TenantInfo is still null, on the other hand if I removed the database service registration from the startup I get the following exception in the Program.cs file.

Do you guys have any other example about this kind of implementation? I feel very confident about using this library instead of other because it seems easy and straight forward than others. I would appreciate if docs can be improved for this scenario because I think that actually it's a pretty common one.

Glad to hear. If you have any more problems just open up a new issue.


text:
getButton returns undefined in onStatusChange event handler

Similar to issue #1116 , if you call getButton in the SUBMITTING phase, it returns undefined. It would be preferable if it returned the button object, seeing as presumably this is known by this stage.
I use the onStatusChange event to enable/disable various upload control buttons and at the moment I have to put in a special check:
if (typeof button == 'undefined') { return true; }
If this is a difficult change, it would be good to at least document this limitation in the onStatusChange documentation. I think this same issue may apply to the onError event handler too.

The button is not tracked until the file is officially submitted. That is, all validation checks have passed and the file has been associated with an upload handler. Your best bet is to move your logic to an onSubmitted callback.

authors: rnicholus rohanc

repo: FineUploader/fine-uploader


text:
[cloud_firestore: 0.13.4+2] multiple where clause on null filter ignored

Describe the bug
multiple where on null return partial filtering
To Reproduce
    QuerySnapshot qs = await Firestore.instance
        .collection(collectionName)
        .where('user', isEqualTo: item.user)
        .where('cer', isEqualTo: item.cer)
        .where('statoFisicoS', isEqualTo: null)
        .where('categoriaV', isEqualTo: null)
        .getDocuments();

return ALL user and cer compound fields ignoring databases value

Hi @antoniosap
Do you have null as value or null as string in your firestore fields?
can you please provide your flutter doctor -v and flutter run --verbose?
Could you also post your pubspec.yaml
Thank you

 flutter doctor -v
[✓] Flutter (Channel dev, v1.16.2, on Linux, locale en_US.UTF-8)
    • Flutter version 1.16.2 at /home/aldebaran/workspace-flutter/flutter
    • Framework revision 58cad787d8 (11 days ago), 2020-03-23 08:33:41 -0700
    • Engine revision 2d42c74a34
    • Dart version 2.8.0 (build 2.8.0-dev.16.0 ba8baa46b4)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /home/aldebaran/Android/Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /home/aldebaran/.local/share/JetBrains/Toolbox/apps/AndroidStudio/ch-0/192.6241897/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Android Studio (version 3.5)
    • Android Studio at /mnt/1fb99531-1a3b-431a-a046-c05915090f5a/android-studio
    • Flutter plugin version 43.0.1
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] Android Studio (version 3.6)
    • Android Studio at /home/aldebaran/.local/share/JetBrains/Toolbox/apps/AndroidStudio/ch-0/192.6241897
    • Flutter plugin version 44.0.2
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)

[✓] Connected device (3 available)
    • SM A405FN  • R58MB4RFKDJ • android-arm64  • Android 10 (API 29)
    • Chrome     • chrome      • web-javascript • Google Chrome 80.0.3987.163
    • Web Server • web-server  • web-javascript • Flutter Tools

name: xxx_xxx_x
description: xxxxx

# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.31+32

environment:
  sdk: ">=2.3.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter
  flutter_cupertino_localizations: ^1.0.1

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^0.1.2
  ##-------------------------------------------------------
  ## issue sites:
  ## https://github.com/FirebaseExtended/flutterfire/issues/2087
  ## runner issue:
  ## https://github.com/flutter/flutter/issues/41793
  ##
  firebase_core: 0.4.4+3
  firebase_auth: 0.15.5+3
  firebase_database: 3.1.3
  firebase_storage: 3.1.3
  firebase_messaging: ^6.0.9
  ##google_sign_in: 4.3.0 web version error
  cloud_firestore: 0.13.4+2
  ##-------------------------------------------------------
  datetime_picker_formfield: ^1.0.0
  json_serializable: ^3.2.5
  credit_card: ^0.1.8
  #stripe_sdk: ^2.4.2
  flutter_plugin_pdf_viewer: ^1.0.7
  json_annotation: ^3.0.1
  pdf: ^1.4.1
  #mustache: ^1.1.1 <--- qua si blocca tutto
  fluttertoast: ^3.1.3
  package_info: ^0.4.0+13
  image_picker: ^0.6.3+4
  transparent_image: ^1.0.0
  flutter_google_pay: ^0.1.4
  meta: ^1.1.8

dev_dependencies:
  flutter_test:
    sdk: flutter

  build_runner: ^1.8.0
  json_serializable: ^3.2.5
  flutter_launcher_icons: ^0.7.4

flutter_icons:
  image_path: "assets/icon/launcher.png"
  android: true
  ios: true

# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec

# The following section is specific to Flutter.
flutter:

  # The following line ensures that the Material Icons font is
  # included with your application, so that you can use the icons in
  # the material Icons class.
  uses-material-design: true

  # To add assets to your application, add an assets section, like this:
  # assets:
  #  - images/a_dot_burr.jpeg
  #  - images/a_dot_ham.jpeg

  # An image asset can refer to one or more resolution-specific "variants", see
  # https://flutter.dev/assets-and-images/#resolution-aware.

  # For details regarding adding assets from package dependencies, see
  # https://flutter.dev/assets-and-images/#from-packages

  # To add custom fonts to your application, add a fonts section here,
  # in this "flutter" section. Each entry in this list should have a
  # "family" key with the font family name, and a "fonts" key with a
  # list giving the asset and other descriptors for the font. For
  # example:
  # fonts:
  #   - family: Schyler
  #     fonts:
  #       - asset: fonts/Schyler-Regular.ttf
  #       - asset: fonts/Schyler-Italic.ttf
  #         style: italic
  #   - family: Trajan Pro
  #     fonts:
  #       - asset: fonts/TrajanPro.ttf
  #       - asset: fonts/TrajanPro_Bold.ttf
  #         weight: 700
  #
  # For details regarding fonts from package dependencies,
  # see https://flutter.dev/custom-fonts/#from-packages

  assets:
    - assets/

Launching lib/main.dart on SM A405FN in debug mode...
Running Gradle task 'assembleDebug'...
✓ Built build/app/outputs/apk/debug/app-debug.apk.
Installing build/app/outputs/apk/app.apk...
Debug service listening on ws://127.0.0.1:41395/xbA7_a4aKI4=/ws
Syncing files to device SM A405FN...
D/ViewRootImpl@6300a6f[MainActivity](17299): setView = com.android.internal.policy.DecorView@f338a87 TM=true MM=false
W/.io.app_waste_(17299): Accessing hidden method Landroid/view/accessibility/AccessibilityNodeInfo;->getSourceNodeId()J (greylist, reflection, allowed)
W/.io.app_waste_(17299): Accessing hidden method Landroid/view/accessibility/AccessibilityRecord;->getSourceNodeId()J (greylist, reflection, allowed)
W/.io.app_waste_(17299): Accessing hidden field Landroid/view/accessibility/AccessibilityNodeInfo;->mChildNodeIds:Landroid/util/LongArray; (greylist, reflection, allowed)
W/.io.app_waste_(17299): Accessing hidden method Landroid/util/LongArray;->get(I)J (greylist, reflection, allowed)
D/SurfaceView(17299): onWindowVisibilityChanged(0) true io.flutter.view.FlutterView{55cde8b VFE...... ......I. 0,0-0,0} of ViewRootImpl@6300a6f[MainActivity]
D/ViewRootImpl@6300a6f[MainActivity](17299): Relayout returned: old=(0,0,1080,2340) new=(0,0,1080,2340) req=(1080,2340)0 dur=40 res=0x7 s={true 516594708480} ch=true
D/OpenGLRenderer(17299): createReliableSurface : 0x78d8961740, 0x784771b000
D/mali_winsys(17299): EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
D/SurfaceView(17299): surfaceCreated 1 #8 io.flutter.view.FlutterView{55cde8b VFE...... ......ID 0,0-1080,2196}
D/mali_winsys(17299): EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
I/.io.app_waste_(17299): Background concurrent copying GC freed 3346(296KB) AllocSpace objects, 4(208KB) LOS objects, 49% free, 2423KB/4847KB, paused 18.490ms total 159.478ms
D/SurfaceView(17299): surfaceChanged (1080,2196) 1 #8 io.flutter.view.FlutterView{55cde8b VFE...... ......ID 0,0-1080,2196}
W/Gralloc3(17299): mapper 3.x is not supported
I/gralloc (17299): Arm Module v1.0
I/Choreographer(17299): Skipped 42 frames!  The application may be doing too much work on its main thread.
D/ViewRootImpl@6300a6f[MainActivity](17299): Relayout returned: old=(0,0,1080,2340) new=(0,0,1080,2340) req=(1080,2340)0 dur=48 res=0x1 s={true 516594708480} ch=false
D/ViewRootImpl@6300a6f[MainActivity](17299): MSG_WINDOW_FOCUS_CHANGED 1 1
D/InputMethodManager(17299): prepareNavigationBarInfo() DecorView@f338a87[MainActivity]
D/InputMethodManager(17299): getNavigationBarColor() -855310
D/InputMethodManager(17299): prepareNavigationBarInfo() DecorView@f338a87[MainActivity]
D/InputMethodManager(17299): getNavigationBarColor() -855310
V/InputMethodManager(17299): Starting input: tba=flutter.io.app_waste_2 ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
D/InputMethodManager(17299): startInputInner - Id : 0
I/InputMethodManager(17299): startInputInner - mService.startInputOrWindowGainedFocus
D/ViewRootImpl@6300a6f[MainActivity](17299): MSG_RESIZED: frame=(0,0,1080,2340) ci=(0,86,0,144) vi=(0,86,0,144) or=1
D/InputMethodManager(17299): prepareNavigationBarInfo() DecorView@f338a87[MainActivity]
D/InputMethodManager(17299): getNavigationBarColor() -855310
V/InputMethodManager(17299): Starting input: tba=flutter.io.app_waste_2 ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
D/InputMethodManager(17299): startInputInner - Id : 0
I/flutter (17299): -----> Push Messaging token: dUEnE4KdRbs:APA91bFxfxF-7G4gwF_mbB15PoSk5HoLUgyIPw5yEr5wU8vP60Q0wcTBFc1UxetKQi5tNSo5zXrF9pdpQGxMe6naiNOhsFZV_2eE2IVZVSQEPSlkIYZhYVj3bFugQ-CXuL2d07hzyi-C
D/ConnectivityManager(17299): requestNetwork; CallingUid : 10354, CallingPid : 17299
W/DynamiteModule(17299): Local module descriptor class for providerinstaller not found.
I/DynamiteModule(17299): Considering local module providerinstaller:0 and remote module providerinstaller:0
W/ProviderInstaller(17299): Failed to load providerinstaller module: No acceptable module found. Local version is 0 and remote version is 0.
I/.io.app_waste_(17299): The ClassLoaderContext is a special shared library.
I/chatty  (17299): uid=10354(flutter.io.app_waste_2) AsyncTask #1 identical 1 line
I/.io.app_waste_(17299): The ClassLoaderContext is a special shared library.
W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, linking, allowed)
W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->arrayBaseOffset(Ljava/lang/Class;)I (greylist,core-platform-api, linking, allowed)
W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->copyMemory(JJJ)V (greylist, linking, allowed)
W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->objectFieldOffset(Ljava/lang/reflect/Field;)J (greylist,core-platform-api, linking, allowed)
W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->getByte(J)B (greylist,core-platform-api, linking, allowed)
W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->getByte(Ljava/lang/Object;J)B (greylist,core-platform-api, linking, allowed)
W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->getLong(J)J (greylist,core-platform-api, linking, allowed)
W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->putByte(JB)V (greylist,core-platform-api, linking, allowed)
W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->putByte(Ljava/lang/Object;JB)V (greylist,core-platform-api, linking, allowed)
W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, reflection, allowed)
W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, reflection, allowed)
W/.io.app_waste_(17299): Accessing hidden field Ljava/nio/Buffer;->address:J (greylist, reflection, allowed)
V/NativeCrypto(17299): Registering com/google/android/gms/org/conscrypt/NativeCrypto's 286 native methods...
W/.io.app_waste_(17299): Accessing hidden method Ljava/security/spec/ECParameterSpec;->getCurveName()Ljava/lang/String; (greylist, reflection, allowed)
D/NetworkSecurityConfig(17299): No Network Security Config specified, using platform default
I/ProviderInstaller(17299): Installed default security provider GmsCore_OpenSSL
D/ConnectivityManager(17299): requestNetwork; CallingUid : 10354, CallingPid : 17299
W/.io.app_waste_(17299): Accessing hidden field Ljava/net/Socket;->impl:Ljava/net/SocketImpl; (greylist, reflection, allowed)
W/.io.app_waste_(17299): Accessing hidden method Ldalvik/system/CloseGuard;->get()Ldalvik/system/CloseGuard; (greylist,core-platform-api, linking, allowed)
W/.io.app_waste_(17299): Accessing hidden method Ldalvik/system/CloseGuard;->open(Ljava/lang/String;)V (greylist,core-platform-api, linking, allowed)
W/.io.app_waste_(17299): Accessing hidden field Ljava/io/FileDescriptor;->descriptor:I (greylist, JNI, allowed)
W/.io.app_waste_(17299): Accessing hidden method Ljava/security/spec/ECParameterSpec;->setCurveName(Ljava/lang/String;)V (greylist, reflection, allowed)
W/.io.app_waste_(17299): Accessing hidden method Ldalvik/system/BlockGuard;->getThreadPolicy()Ldalvik/system/BlockGuard$Policy; (greylist,core-platform-api, linking, allowed)
W/.io.app_waste_(17299): Accessing hidden method Ldalvik/system/BlockGuard$Policy;->onNetwork()V (greylist, linking, allowed)
D/ViewRootImpl@6300a6f[MainActivity](17299): ViewPostIme pointer 0
D/ViewRootImpl@6300a6f[MainActivity](17299): ViewPostIme pointer 1
D/ViewRootImpl@6300a6f[MainActivity](17299): ViewPostIme pointer 0
D/ViewRootImpl@6300a6f[MainActivity](17299): ViewPostIme pointer 1
D/ViewRootImpl@6300a6f[MainActivity](17299): ViewPostIme pointer 0
D/ViewRootImpl@6300a6f[MainActivity](17299): ViewPostIme pointer 1
D/ViewRootImpl@6300a6f[MainActivity](17299): ViewPostIme pointer 0
D/ViewRootImpl@6300a6f[MainActivity](17299): ViewPostIme pointer 1
I/flutter (17299): -----> Push Messaging token: dUEnE4KdRbs:APA91bFxfxF-7G4gwF_mbB15PoSk5HoLUgyIPw5yEr5wU8vP60Q0wcTBFc1UxetKQi5tNSo5zXrF9pdpQGxMe6naiNOhsFZV_2eE2IVZVSQEPSlkIYZhYVj3bFugQ-CXuL2d07hzyi-C
D/ViewRootImpl@10b1625[Toast](17299): setView = android.widget.FrameLayout@815e3fa TM=true MM=false
D/ViewRootImpl@10b1625[Toast](17299): Relayout returned: old=(0,86,1080,2196) new=(86,1005,993,1276) req=(907,271)0 dur=45 res=0x7 s={true 516664975360} ch=true
D/OpenGLRenderer(17299): createReliableSurface : 0x78401ffb00, 0x784ba1e000
D/mali_winsys(17299): EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
D/ViewRootImpl@10b1625[Toast](17299): MSG_RESIZED: frame=(86,1005,993,1276) ci=(0,0,0,0) vi=(0,0,907,271) or=1
W/libEGL  (17299): EGLNativeWindowType 0x78401ffb10 disconnect failed
D/ViewRootImpl@10b1625[Toast](17299): dispatchDetachedFromWindow
D/InputTransport(17299): Input channel destroyed: '73859ea', fd=102

Hey, as part of our on-going work for #2582, this has been resolved in our Firebase Firestore rework (#2913) - which has now been merged into master. We'll look at publishing some prereleases in the next few days. Thank you

authors: Salakar TahaTesser antoniosap

repo: FirebaseExtended/flutterfire