Skip to content

Commit db65c58

Browse files
committed
Merge branch 'main' into login_screen_getoff_40559
2 parents 4f3c512 + 90b67a5 commit db65c58

File tree

464 files changed

+14545
-6275
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

464 files changed

+14545
-6275
lines changed

.eslintrc.js

+22-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ const restrictedImportPatterns = [
7878

7979
module.exports = {
8080
extends: ['expensify', 'plugin:storybook/recommended', 'plugin:react-native-a11y/basic', 'plugin:@dword-design/import-alias/recommended', 'prettier'],
81-
plugins: ['react-native-a11y'],
81+
plugins: ['react-native-a11y', 'testing-library'],
8282
parser: 'babel-eslint',
8383
ignorePatterns: ['!.*', 'src/vendor', '.github/actions/**/index.js', 'desktop/dist/*.js', 'dist/*.js', 'node_modules/.bin/**', 'node_modules/.cache/**', '.git/**'],
8484
env: {
@@ -122,13 +122,28 @@ module.exports = {
122122
},
123123
},
124124
],
125+
'rulesdir/avoid-anonymous-functions': 'off',
125126
},
126127
},
127128
// This helps disable the `prefer-alias` rule to be enabled for specific directories
128129
{
129130
files: ['tests/**/*.js', 'tests/**/*.ts', 'tests/**/*.jsx', 'assets/**/*.js', '.storybook/**/*.js'],
130131
rules: {'@dword-design/import-alias/prefer-alias': ['off']},
131132
},
133+
{
134+
files: ['tests/**/*.js', 'tests/**/*.ts', 'tests/**/*.jsx', 'tests/**/*.tsx'],
135+
extends: ['plugin:testing-library/react'],
136+
rules: {
137+
'testing-library/await-async-queries': 'error',
138+
'testing-library/await-async-utils': 'error',
139+
'testing-library/no-debugging-utils': 'error',
140+
'testing-library/no-manual-cleanup': 'error',
141+
'testing-library/no-unnecessary-act': 'error',
142+
'testing-library/prefer-find-by': 'error',
143+
'testing-library/prefer-presence-queries': 'error',
144+
'testing-library/prefer-screen-queries': 'error',
145+
},
146+
},
132147
{
133148
files: ['*.js', '*.jsx'],
134149
settings: {
@@ -276,5 +291,11 @@ module.exports = {
276291
'no-restricted-syntax': ['error', 'ForInStatement', 'LabeledStatement', 'WithStatement'],
277292
},
278293
},
294+
{
295+
files: ['en.ts', 'es.ts'],
296+
rules: {
297+
'rulesdir/use-periods-for-error-messages': 'error',
298+
},
299+
},
279300
],
280301
};

.github/workflows/failureNotifier.yml

+34-10
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,49 @@ jobs:
2727
});
2828
return jobsData.data;
2929
30+
- name: Fetch Previous Workflow Run
31+
id: previous-workflow-run
32+
uses: actions/github-script@v7
33+
with:
34+
script: |
35+
const runId = ${{ github.event.workflow_run.id }};
36+
const allRuns = await github.rest.actions.listWorkflowRuns({
37+
owner: context.repo.owner,
38+
repo: context.repo.repo,
39+
workflow_id: 'preDeploy.yml',
40+
});
41+
const filteredRuns = allRuns.data.workflow_runs.filter(run => run.actor.login !== 'OSBotify' && run.status !== 'cancelled');
42+
const currentIndex = filteredRuns.findIndex(run => run.id === runId);
43+
const previousRun = filteredRuns[currentIndex + 1];
44+
return previousRun;
45+
46+
- name: Fetch Previous Workflow Run Jobs
47+
id: previous-workflow-jobs
48+
uses: actions/github-script@v7
49+
with:
50+
script: |
51+
const previousRun = ${{ steps.previous-workflow-run.outputs.result }};
52+
const runId = previousRun.id;
53+
const jobsData = await github.rest.actions.listJobsForWorkflowRun({
54+
owner: context.repo.owner,
55+
repo: context.repo.repo,
56+
run_id: runId,
57+
});
58+
return jobsData.data;
59+
3060
- name: Process Each Failed Job
3161
uses: actions/github-script@v7
3262
with:
3363
script: |
3464
const jobs = ${{ steps.fetch-workflow-jobs.outputs.result }};
35-
65+
const previousRun = ${{ steps.previous-workflow-run.outputs.result }};
66+
const previousRunJobs = ${{ steps.previous-workflow-jobs.outputs.result }};
3667
const headCommit = "${{ github.event.workflow_run.head_commit.id }}";
3768
const prData = await github.rest.repos.listPullRequestsAssociatedWithCommit({
3869
owner: context.repo.owner,
3970
repo: context.repo.repo,
4071
commit_sha: headCommit,
4172
});
42-
4373
const pr = prData.data[0];
4474
const prLink = pr.html_url;
4575
const prAuthor = pr.user.login;
@@ -50,14 +80,8 @@ jobs:
5080
if (jobs.jobs[i].conclusion == 'failure') {
5181
const jobName = jobs.jobs[i].name;
5282
const jobLink = jobs.jobs[i].html_url;
53-
const issues = await github.rest.issues.listForRepo({
54-
owner: context.repo.owner,
55-
repo: context.repo.repo,
56-
labels: failureLabel,
57-
state: 'open'
58-
});
59-
const existingIssue = issues.data.find(issue => issue.title.includes(jobName));
60-
if (!existingIssue) {
83+
const previousJob = previousRunJobs.jobs.find(job => job.name === jobName);
84+
if (previousJob?.conclusion === 'success') {
6185
const annotations = await github.rest.checks.listAnnotations({
6286
owner: context.repo.owner,
6387
repo: context.repo.repo,

android/app/build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@ android {
9898
minSdkVersion rootProject.ext.minSdkVersion
9999
targetSdkVersion rootProject.ext.targetSdkVersion
100100
multiDexEnabled rootProject.ext.multiDexEnabled
101-
versionCode 1001046700
102-
versionName "1.4.67-0"
101+
versionCode 1001047002
102+
versionName "1.4.70-2"
103103
// Supported language variants must be declared here to avoid from being removed during the compilation.
104104
// This also helps us to not include unnecessary language variants in the APK.
105105
resConfigs "en", "es"

assets/animations/Plane.lottie

26.1 KB
Binary file not shown.

0 commit comments

Comments
 (0)