Skip to content

Commit 2575381

Browse files
committed
Merge branch 'main' into jules-addMobilePRsToChecklist
* main: Update Mobile-Expensify submodule version to 9.1.92-3 Update version to 9.1.92-3 Update Mobile-Expensify submodule version to 9.1.92-2 Update version to 9.1.92-2 Only upload builds to applause for main staging release ping deployers in slack when a CP request failed due to conflicts Update comment Temporary disable merge action update dependency remove slack announcement fix lint User owes /bin/zsh.00 appears in search after deleting expense # Conflicts: # Mobile-Expensify
2 parents 37ffb2a + 8075780 commit 2575381

12 files changed

Lines changed: 42 additions & 20 deletions

File tree

.github/workflows/cherryPick.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,9 +240,30 @@ jobs:
240240
--label "Engineering,Hourly,${{ inputs.TARGET == 'staging' && 'CP Staging' || 'CP Production' }}" \
241241
--base "${{ inputs.TARGET }}"
242242
sleep 5
243+
244+
# Save the Cherry-pick PR URL for Slack notification
245+
PR_URL="$(gh pr view --json url --jq .url)"
246+
echo "PR_URL=$PR_URL" >> "$GITHUB_OUTPUT"
243247
env:
244248
GITHUB_TOKEN: ${{ steps.setupGitForOSBotify.outputs.OS_BOTIFY_API_TOKEN }}
245249

250+
- name: Announce CP conflict in #deployer
251+
if: steps.cherryPick.outputs.HAS_CONFLICTS == 'true'
252+
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e
253+
with:
254+
status: custom
255+
custom_payload: |
256+
{
257+
"channel": "#deployer",
258+
"attachments": [{
259+
"color": "#DB4545",
260+
"text": "🚨 Cherry-pick to ${{ inputs.TARGET }} has conflicts and requires manual resolution.\nOriginal PR: ${{ inputs.PULL_REQUEST_URL }}\nConflict PR: ${{ steps.createPullRequest.outputs.PR_URL }}"
261+
}]
262+
}
263+
env:
264+
GITHUB_TOKEN: ${{ github.token }}
265+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}
266+
246267
- name: Add assignees to conflict PRs
247268
if: steps.cherryPick.outputs.HAS_CONFLICTS == 'true'
248269
run: |

.github/workflows/deploy.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ jobs:
231231
unzip -p Expensify.apks universal.apk > Expensify.apk
232232
233233
- name: Upload Android build to Applause
234-
if: ${{ fromJSON(env.IS_APP_REPO) && (github.ref == 'refs/heads/staging' || fromJSON(needs.prep.outputs.IS_CHERRY_PICK)) }}
234+
if: ${{ fromJSON(env.IS_APP_REPO) && github.ref == 'refs/heads/staging' && !fromJSON(needs.prep.outputs.IS_CHERRY_PICK) }}
235235
run: |
236236
APPLAUSE_VERSION=$(echo '${{ needs.prep.outputs.APP_VERSION }}' | tr '-' '.')
237237
curl -F "file=@Expensify.apk" \
@@ -466,7 +466,7 @@ jobs:
466466
BROWSERSTACK: ${{ secrets.BROWSERSTACK }}
467467

468468
- name: Upload iOS build to Applause
469-
if: ${{ fromJSON(env.IS_APP_REPO) && fromJSON(env.SHOULD_BUILD_APP) }}
469+
if: ${{ fromJSON(env.IS_APP_REPO) && github.ref == 'refs/heads/staging' && !fromJSON(needs.prep.outputs.IS_CHERRY_PICK) }}
470470
run: |
471471
APPLAUSE_VERSION=$(echo '${{ needs.prep.outputs.APP_VERSION }}' | tr '-' '.')
472472
curl -F "file=@${{ env.ipaPath }}" \

.github/workflows/preDeploy.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,6 @@ jobs:
2727
steps:
2828
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
2929

30-
- name: Announce failed workflow in Slack
31-
if: ${{ needs.typecheck.result == 'failure' || needs.lint.result == 'failure' || needs.test.result == 'failure' }}
32-
uses: ./.github/actions/composite/announceFailedWorkflowInSlack
33-
with:
34-
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
35-
3630
- name: Exit failed workflow
3731
if: ${{ needs.typecheck.result == 'failure' || needs.lint.result == 'failure' || needs.test.result == 'failure' }}
3832
run: |

android/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ android {
114114
minSdkVersion rootProject.ext.minSdkVersion
115115
targetSdkVersion rootProject.ext.targetSdkVersion
116116
multiDexEnabled rootProject.ext.multiDexEnabled
117-
versionCode 1009019201
118-
versionName "9.1.92-1"
117+
versionCode 1009019203
118+
versionName "9.1.92-3"
119119
// Supported language variants must be declared here to avoid from being removed during the compilation.
120120
// This also helps us to not include unnecessary language variants in the APK.
121121
resConfigs "en", "es"

ios/NewExpensify/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
</dict>
4545
</array>
4646
<key>CFBundleVersion</key>
47-
<string>9.1.92.1</string>
47+
<string>9.1.92.3</string>
4848
<key>FullStory</key>
4949
<dict>
5050
<key>OrgId</key>

ios/NotificationServiceExtension/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<key>CFBundleShortVersionString</key>
1414
<string>9.1.92</string>
1515
<key>CFBundleVersion</key>
16-
<string>9.1.92.1</string>
16+
<string>9.1.92.3</string>
1717
<key>NSExtension</key>
1818
<dict>
1919
<key>NSExtensionPointIdentifier</key>

ios/ShareViewController/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<key>CFBundleShortVersionString</key>
1414
<string>9.1.92</string>
1515
<key>CFBundleVersion</key>
16-
<string>9.1.92.1</string>
16+
<string>9.1.92.3</string>
1717
<key>NSExtension</key>
1818
<dict>
1919
<key>NSExtensionAttributes</key>

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "new.expensify",
3-
"version": "9.1.92-1",
3+
"version": "9.1.92-3",
44
"author": "Expensify, Inc.",
55
"homepage": "https://new.expensify.com",
66
"description": "New Expensify is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.",

src/components/OptionListContextProvider.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ function OptionsListContextProvider({children}: OptionsListProviderProps) {
5050
const [reportAttributes] = useOnyx(ONYXKEYS.DERIVED.REPORT_ATTRIBUTES, {canBeMissing: true});
5151
const prevReportAttributesLocale = usePrevious(reportAttributes?.locale);
5252
const [reports, {sourceValue: changedReports}] = useOnyx(ONYXKEYS.COLLECTION.REPORT, {canBeMissing: true});
53+
const prevReports = usePrevious(reports);
5354
const [, {sourceValue: changedReportActions}] = useOnyx(ONYXKEYS.COLLECTION.REPORT_ACTIONS, {canBeMissing: true});
5455
const personalDetails = usePersonalDetails();
5556
const prevPersonalDetails = usePrevious(personalDetails);
@@ -88,14 +89,17 @@ function OptionsListContextProvider({children}: OptionsListProviderProps) {
8889
}, [prevReportAttributesLocale, loadOptions, reportAttributes?.locale]);
8990

9091
const changedReportsEntries = useMemo(() => {
91-
const result: OnyxCollection<OnyxEntry<Report>> = {};
92+
const result: OnyxCollection<OnyxEntry<Report> | null> = {};
9293

9394
Object.keys(changedReports ?? {}).forEach((key) => {
94-
const report = reports?.[key];
95+
let report: Report | null = reports?.[key] ?? null;
9596
result[key] = report;
97+
if (reports?.[key] === undefined && prevReports?.[key]) {
98+
report = null;
99+
}
96100
});
97101
return result;
98-
}, [changedReports, reports]);
102+
}, [changedReports, reports, prevReports]);
99103

100104
/**
101105
* This effect is responsible for updating the options only for changed reports

0 commit comments

Comments
 (0)