From ec71ccc569ac5c14c04d0b733e27d6642029a64f Mon Sep 17 00:00:00 2001 From: tienifr Date: Mon, 27 Mar 2023 16:25:07 +0700 Subject: [PATCH 01/99] update RN-onyx 1.0.39 --- ios/Podfile.lock | 4 ++-- package-lock.json | 53 +++++++++++++++++++++++++++++++++-------------- package.json | 7 ++++--- 3 files changed, 43 insertions(+), 21 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 5011d9d325da..a95550c7dc4c 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -491,7 +491,7 @@ PODS: - React - react-native-progress-view (1.3.2): - React-Core - - react-native-quick-sqlite (5.1.0): + - react-native-quick-sqlite (8.0.2): - React - React-callinvoker - React-Core @@ -1014,7 +1014,7 @@ SPEC CHECKSUMS: react-native-plaid-link-sdk: 9eb0f71dad94b3bdde649c7a384cba93024af46c react-native-progress-bar-android: be43138ab7da30d51fc038bafa98e9ed594d0c40 react-native-progress-view: 4d3bbe6a099ba027b1fedb1548c2c87f74249b70 - react-native-quick-sqlite: a7bd4139fb07194ef8534d1cc14c1aec6daa4d84 + react-native-quick-sqlite: 2b225dadc63b670f027111e58f6f169773f6d755 react-native-render-html: 96c979fe7452a0a41559685d2f83b12b93edac8c react-native-safe-area-context: 99b24a0c5acd0d5dcac2b1a7f18c49ea317be99a react-native-webview: e771bc375f789ebfa02a26939a57dbc6fa897336 diff --git a/package-lock.json b/package-lock.json index 3dd8033a7113..b24c69cec256 100644 --- a/package-lock.json +++ b/package-lock.json @@ -43,6 +43,7 @@ "htmlparser2": "^7.2.0", "jest-when": "^3.5.2", "localforage": "^1.10.0", + "localforage-removeitems": "^1.4.0", "lodash": "4.17.21", "lottie-react-native": "^5.1.5", "metro-config": "^0.71.3", @@ -70,13 +71,13 @@ "react-native-image-picker": "^5.0.2", "react-native-image-size": "git+https://github.com/Expensify/react-native-image-size#6b5ab5110dc3ed554f8eafbc38d7d87c17147972", "react-native-modal": "^13.0.0", - "react-native-onyx": "1.0.36", + "react-native-onyx": "1.0.39", "react-native-pdf": "^6.6.2", "react-native-performance": "^4.0.0", "react-native-permissions": "^3.0.1", "react-native-picker-select": "git+https://github.com/Expensify/react-native-picker-select.git#84ee97dec11c2e65609511eb5a757d61bbeeab79", "react-native-plaid-link-sdk": "^10.0.0", - "react-native-quick-sqlite": "^5.0.3", + "react-native-quick-sqlite": "^8.0.0-beta.2", "react-native-reanimated": "3.0.0-rc.10", "react-native-render-html": "6.3.1", "react-native-safe-area-context": "4.4.1", @@ -135,7 +136,7 @@ "css-loader": "^6.7.2", "diff-so-fancy": "^1.3.0", "dotenv": "^16.0.3", - "electron": "^22.3.4", + "electron": "22.3.4", "electron-builder": "23.5.0", "electron-notarize": "^1.2.1", "eslint": "^7.6.0", @@ -32403,6 +32404,14 @@ "lie": "3.1.1" } }, + "node_modules/localforage-removeitems": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/localforage-removeitems/-/localforage-removeitems-1.4.0.tgz", + "integrity": "sha512-/rFJ/w/FAZbVeXa6ZVANociT2sWaUglp2rgYARXcd/2v4CJMRbzvdcfYrNEBzEVkBRQqxipsUfyDDrAy9YiqzA==", + "dependencies": { + "localforage": ">=1.4.0" + } + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -37561,9 +37570,9 @@ } }, "node_modules/react-native-onyx": { - "version": "1.0.36", - "resolved": "https://registry.npmjs.org/react-native-onyx/-/react-native-onyx-1.0.36.tgz", - "integrity": "sha512-7kMdj27dk4q9bD37Jg5t9lwQSR8Cjr/9KZPKBUvWhwCwzUeg9YmPaZfu6O22eiUPo9gk4Y5L2j/mQMmXq4wc/w==", + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/react-native-onyx/-/react-native-onyx-1.0.39.tgz", + "integrity": "sha512-W6eH3rC16H3FaSrxEZJkYhBxZTaBJaqusiywqetSqXACVn+GIs00EkI7hlrG/v9ZwCWvs87f/pBPwyGkOQ13+w==", "dependencies": { "ascii-table": "0.0.9", "fast-equals": "^4.0.3", @@ -37578,9 +37587,10 @@ "@react-native-async-storage/async-storage": "^1.17.11", "expensify-common": ">=1", "localforage": "^1.10.0", + "localforage-removeitems": "^1.4.0", "react": ">=18.1.0", "react-native-performance": "^4.0.0", - "react-native-quick-sqlite": "^5.0.3" + "react-native-quick-sqlite": "^8.0.0-beta.2" }, "peerDependenciesMeta": { "@react-native-async-storage/async-storage": { @@ -37589,6 +37599,9 @@ "localforage": { "optional": true }, + "localforage-removeitems": { + "optional": true + }, "react-native-performance": { "optional": true }, @@ -37661,9 +37674,9 @@ } }, "node_modules/react-native-quick-sqlite": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/react-native-quick-sqlite/-/react-native-quick-sqlite-5.1.0.tgz", - "integrity": "sha512-OAwMXVqK3sGA9Ez+uKLji6hbSJVg0+vW5rAsZJgnveEpIby9RK5Fq9bhoJ9Yxe8ERmAWMKkLYp4afXNyJGYBBQ==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/react-native-quick-sqlite/-/react-native-quick-sqlite-8.0.2.tgz", + "integrity": "sha512-w5m4y0q5ggaiVS8vHmN0ihynD9hMPgLNAZJA7ZRcXs6WwR+VSW9WXUlEn1N0fgIrmoYRLNXyU5TjXx/IiKPlMA==", "peerDependencies": { "react": "*", "react-native": "*" @@ -69404,6 +69417,14 @@ "lie": "3.1.1" } }, + "localforage-removeitems": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/localforage-removeitems/-/localforage-removeitems-1.4.0.tgz", + "integrity": "sha512-/rFJ/w/FAZbVeXa6ZVANociT2sWaUglp2rgYARXcd/2v4CJMRbzvdcfYrNEBzEVkBRQqxipsUfyDDrAy9YiqzA==", + "requires": { + "localforage": ">=1.4.0" + } + }, "locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -73521,9 +73542,9 @@ } }, "react-native-onyx": { - "version": "1.0.36", - "resolved": "https://registry.npmjs.org/react-native-onyx/-/react-native-onyx-1.0.36.tgz", - "integrity": "sha512-7kMdj27dk4q9bD37Jg5t9lwQSR8Cjr/9KZPKBUvWhwCwzUeg9YmPaZfu6O22eiUPo9gk4Y5L2j/mQMmXq4wc/w==", + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/react-native-onyx/-/react-native-onyx-1.0.39.tgz", + "integrity": "sha512-W6eH3rC16H3FaSrxEZJkYhBxZTaBJaqusiywqetSqXACVn+GIs00EkI7hlrG/v9ZwCWvs87f/pBPwyGkOQ13+w==", "requires": { "ascii-table": "0.0.9", "fast-equals": "^4.0.3", @@ -73574,9 +73595,9 @@ "requires": {} }, "react-native-quick-sqlite": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/react-native-quick-sqlite/-/react-native-quick-sqlite-5.1.0.tgz", - "integrity": "sha512-OAwMXVqK3sGA9Ez+uKLji6hbSJVg0+vW5rAsZJgnveEpIby9RK5Fq9bhoJ9Yxe8ERmAWMKkLYp4afXNyJGYBBQ==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/react-native-quick-sqlite/-/react-native-quick-sqlite-8.0.2.tgz", + "integrity": "sha512-w5m4y0q5ggaiVS8vHmN0ihynD9hMPgLNAZJA7ZRcXs6WwR+VSW9WXUlEn1N0fgIrmoYRLNXyU5TjXx/IiKPlMA==", "requires": {} }, "react-native-reanimated": { diff --git a/package.json b/package.json index 5b1eb502a0cd..6f205b63da1d 100644 --- a/package.json +++ b/package.json @@ -101,13 +101,13 @@ "react-native-image-picker": "^5.0.2", "react-native-image-size": "git+https://github.com/Expensify/react-native-image-size#6b5ab5110dc3ed554f8eafbc38d7d87c17147972", "react-native-modal": "^13.0.0", - "react-native-onyx": "1.0.36", + "react-native-onyx": "1.0.39", "react-native-pdf": "^6.6.2", "react-native-performance": "^4.0.0", "react-native-permissions": "^3.0.1", "react-native-picker-select": "git+https://github.com/Expensify/react-native-picker-select.git#84ee97dec11c2e65609511eb5a757d61bbeeab79", "react-native-plaid-link-sdk": "^10.0.0", - "react-native-quick-sqlite": "^5.0.3", + "react-native-quick-sqlite": "^8.0.0-beta.2", "react-native-reanimated": "3.0.0-rc.10", "react-native-render-html": "6.3.1", "react-native-safe-area-context": "4.4.1", @@ -122,7 +122,8 @@ "semver": "^7.3.8", "shim-keyboard-event-key": "^1.0.3", "underscore": "^1.13.1", - "urbanairship-react-native": "^14.6.1" + "urbanairship-react-native": "^14.6.1", + "localforage-removeitems": "^1.4.0" }, "devDependencies": { "@actions/core": "1.10.0", From 0dfd9abdcf7fbf82c1264ab4bc2b62864cf622c3 Mon Sep 17 00:00:00 2001 From: tienifr Date: Mon, 27 Mar 2023 16:34:38 +0700 Subject: [PATCH 02/99] fix: UTs --- src/libs/Network/NetworkStore.js | 1 + tests/unit/NetworkTest.js | 1 + 2 files changed, 2 insertions(+) diff --git a/src/libs/Network/NetworkStore.js b/src/libs/Network/NetworkStore.js index f4e5364fff7c..7e0c16dd7898 100644 --- a/src/libs/Network/NetworkStore.js +++ b/src/libs/Network/NetworkStore.js @@ -151,4 +151,5 @@ export { isAuthenticating, setIsAuthenticating, getCredentials, + checkRequiredData, }; diff --git a/tests/unit/NetworkTest.js b/tests/unit/NetworkTest.js index 02ffaa220b97..9e3c409c7b04 100644 --- a/tests/unit/NetworkTest.js +++ b/tests/unit/NetworkTest.js @@ -34,6 +34,7 @@ beforeEach(() => { MainQueue.clear(); HttpUtils.cancelPendingRequests(); PersistedRequests.clear(); + NetworkStore.checkRequiredData(); // Wait for any Log command to finish and Onyx to fully clear jest.advanceTimersByTime(CONST.NETWORK.PROCESS_REQUEST_DELAY_MS); From d321c40b6515255d6fa83a33a52aec8637da383a Mon Sep 17 00:00:00 2001 From: dukenv0307 Date: Wed, 12 Apr 2023 14:50:05 +0700 Subject: [PATCH 03/99] fix: hover background color is stuck after selection --- src/components/Button.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Button.js b/src/components/Button.js index 329153d1993b..725ba3e6f4e9 100644 --- a/src/components/Button.js +++ b/src/components/Button.js @@ -176,7 +176,7 @@ class Button extends Component { renderContent() { const ContentComponent = this.props.ContentComponent; if (ContentComponent) { - return ; + return ContentComponent(); } const textComponent = ( From 57d7a0030ef91160d27d8f605dc2bfb2d1fedfc6 Mon Sep 17 00:00:00 2001 From: Dylan Courtney <60117248+dylanexpensify@users.noreply.github.com> Date: Fri, 14 Apr 2023 15:14:48 +0100 Subject: [PATCH 04/99] Update CONTRIBUTING.md added a line to ensure when posting bugs, contributors, guides, C+, etc aren't listing any personal information. --- contributingGuides/CONTRIBUTING.md | 1 + 1 file changed, 1 insertion(+) diff --git a/contributingGuides/CONTRIBUTING.md b/contributingGuides/CONTRIBUTING.md index e4264a5cb56e..ffcc8fc4540e 100644 --- a/contributingGuides/CONTRIBUTING.md +++ b/contributingGuides/CONTRIBUTING.md @@ -81,6 +81,7 @@ Please follow these steps to propose a job: 4. If there is no existing GitHub issue or Upwork job, check if the issue is happening on prod (as opposed to only happening on dev) 5. If the issue is just in dev then it means it's a new issue and has not been deployed to production. In this case, you should try to find the offending PR and comment in the issue tied to the PR and ask the assigned users to add the `DeployBlockerCash` label. If you can't find it, follow the reporting instructions in the next item, but note that the issue is a regression only found in dev and not in prod. 6. If the issue happens in main, staging, or production then report the issue(s) in the #expensify-bugs Slack channel, prefixed with `Bug:` or `Feature Request:`. Please use the templates for bugs and feature requests that are bookmarked in the #expensify-bugs channel. View [this guide](https://github.com/Expensify/App/blob/main/contributingGuides/HOW_TO_CREATE_A_PLAN.md) for help creating a plan when proposing a feature request. + - **Important note/reminder**: never share any information pertaining to a customer of Expensify when describing the bug. This includes, and is not limited to, a customer's name, email, and contact information. 7. The Expensify team will review your job proposal in the appropriate slack channel. If you've provided a quality proposal that we choose to implement, a GitHub issue will be created and your Slack handle will be included in the original post after `Issue reported by:` 8. If an external contributor other than yourself is hired to work on the issue, you will also be hired for the same job in Upwork to receive your payout. No additional work is required. If the issue is fixed internally, a dedicated job will be created to hire and pay you after the issue is fixed. 9. Payment will be made 7 days after code is deployed to production if there are no regressions. If a regression is discovered, payment will be issued 7 days after all regressions are fixed. From b4f9f21ceeb27e0004bdd3a9f5c665f2125615f3 Mon Sep 17 00:00:00 2001 From: dukenv0307 Date: Mon, 17 Apr 2023 12:24:18 +0700 Subject: [PATCH 05/99] expensify help website color code and caret icons are not updated --- docs/_includes/article-card.html | 2 +- docs/_includes/lhn-template.html | 4 ++-- docs/_layouts/default.html | 4 ++-- docs/_sass/_colors.scss | 10 +++++----- docs/_sass/_main.scss | 10 ++++++---- docs/assets/images/arrow-right.svg | 10 ++++++++++ docs/assets/images/arrow-up.svg | 10 ++++++++++ docs/assets/images/back-left.svg | 10 ++++++++++ docs/assets/images/down.svg | 10 ++++++++++ 9 files changed, 56 insertions(+), 14 deletions(-) create mode 100644 docs/assets/images/arrow-right.svg create mode 100644 docs/assets/images/arrow-up.svg create mode 100644 docs/assets/images/back-left.svg create mode 100644 docs/assets/images/down.svg diff --git a/docs/_includes/article-card.html b/docs/_includes/article-card.html index 644863c83d04..46e6b3c3c963 100644 --- a/docs/_includes/article-card.html +++ b/docs/_includes/article-card.html @@ -3,6 +3,6 @@

{{ include.title }}

- +
diff --git a/docs/_includes/lhn-template.html b/docs/_includes/lhn-template.html index cbc5f3bae539..deff0fd50fe5 100644 --- a/docs/_includes/lhn-template.html +++ b/docs/_includes/lhn-template.html @@ -13,7 +13,7 @@ {% if hub.href == activeHub %}