Skip to content

Commit 00ba832

Browse files
committed
Merge branch 'main' into fix/70444-missing-message-sender
2 parents 4068cd2 + b1a83aa commit 00ba832

592 files changed

Lines changed: 86910 additions & 3942 deletions

File tree

Some content is hidden

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

.claude/agents/code-inline-reviewer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ mcp__github_inline_comment__create_inline_comment:
180180
## Comment Format
181181

182182
```
183-
### ❌ **<Rule ID>**
183+
### ❌ <Rule ID> [(docs)](https://github.com/Expensify/App/blob/main/.claude/agents/code-inline-reviewer.md#<Rule ID transformed into a URL hash parameter>)
184184
185185
<Reasoning>
186186

.claude/agents/helpdot-inline-reviewer.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,7 @@ keywords: [feature name, related terms, navigation path, etc.]
4444
- Button label violations:
4545
- "Continue" instead of "Next"
4646
- "Save" instead of "Confirm" at end of flows
47-
- Markdown formatting violations:
48-
- Bullet phrases with periods (should have no period)
49-
- Bullet sentences without periods (should have period)
47+
- Markdown formatting violations
5048
- FAQ structure violations:
5149
- Not using "# FAQ" as heading
5250
- Questions not using ## subheadings

.eslintrc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ module.exports = {
154154
},
155155
rules: {
156156
// TypeScript specific rules
157+
'@lwc/lwc/no-async-await': 'off',
157158
'@typescript-eslint/prefer-enum-initializers': 'error',
158159
'@typescript-eslint/no-var-requires': 'off',
159160
'@typescript-eslint/no-non-null-assertion': 'error',

.github/.eslintrc.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ module.exports = {
22
rules: {
33
// For all these Node.js scripts, we do not want to disable `console` statements
44
'no-console': 'off',
5-
6-
'@lwc/lwc/no-async-await': 'off',
75
'no-await-in-loop': 'off',
86
'no-restricted-syntax': ['error', 'ForInStatement', 'LabeledStatement', 'WithStatement'],
97
'no-continue': 'off',

.github/CODEOWNERS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,6 @@
44
# PRs that touch the front end style or assets, get an additional review from the Design team
55
src/styles/ @Expensify/design @Expensify/pullerbear
66
assets/ @Expensify/design @Expensify/pullerbear
7+
8+
# Philosophy docs are in their early stages and need to be reviewed by Tim to ensure they have consistent formatting and organization
9+
contributingGuides/philosophies @tgolen

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,9 @@ This is a checklist for PR authors. Please make sure to complete all tasks and c
109109
- [ ] If a new CSS style is added I verified that:
110110
- [ ] A similar style doesn't already exist
111111
- [ ] The style can't be created with an existing [StyleUtils](https://github.com/Expensify/App/blob/main/src/styles/utils/index.ts) function (i.e. `StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)`)
112+
- [ ] If new assets were added or existing ones were modified, I verified that:
113+
- [ ] The assets are optimized and compressed (for SVG files, run `npm run compress-svg`)
114+
- [ ] The assets load correctly across all supported platforms.
112115
- [ ] 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.
113116
- [ ] 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)
114117
- [ ] 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.

.github/actions/javascript/authorChecklist/index.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16142,6 +16142,15 @@ class GithubUtils {
1614216142
}
1614316143
return Buffer.from(data.content, 'base64').toString('utf8');
1614416144
}
16145+
static async getPullRequestChangedSVGFileNames(pullRequestNumber) {
16146+
const files = this.paginate(this.octokit.pulls.listFiles, {
16147+
owner: CONST_1.default.GITHUB_OWNER,
16148+
repo: CONST_1.default.APP_REPO,
16149+
pull_number: pullRequestNumber,
16150+
per_page: 100,
16151+
}, (response) => response.data.filter((file) => file.filename.endsWith('.svg') && (file.status === 'added' || file.status === 'modified')).map((file) => file.filename));
16152+
return files;
16153+
}
1614516154
/**
1614616155
* Get commits between two tags via the GitHub API
1614716156
*/
@@ -16202,6 +16211,21 @@ class GithubUtils {
1620216211
throw error;
1620316212
}
1620416213
}
16214+
static async getPullRequestDiff(pullRequestNumber) {
16215+
if (!this.internalOctokit) {
16216+
this.initOctokit();
16217+
}
16218+
// eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style
16219+
const response = await this.internalOctokit.request('GET /repos/{owner}/{repo}/pulls/{pull_number}', {
16220+
owner: CONST_1.default.GITHUB_OWNER,
16221+
repo: CONST_1.default.APP_REPO,
16222+
pull_number: pullRequestNumber,
16223+
mediaType: {
16224+
format: 'diff',
16225+
},
16226+
});
16227+
return response.data;
16228+
}
1620516229
}
1620616230
exports["default"] = GithubUtils;
1620716231

.github/actions/javascript/awaitStagingDeploys/index.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12946,6 +12946,15 @@ class GithubUtils {
1294612946
}
1294712947
return Buffer.from(data.content, 'base64').toString('utf8');
1294812948
}
12949+
static async getPullRequestChangedSVGFileNames(pullRequestNumber) {
12950+
const files = this.paginate(this.octokit.pulls.listFiles, {
12951+
owner: CONST_1.default.GITHUB_OWNER,
12952+
repo: CONST_1.default.APP_REPO,
12953+
pull_number: pullRequestNumber,
12954+
per_page: 100,
12955+
}, (response) => response.data.filter((file) => file.filename.endsWith('.svg') && (file.status === 'added' || file.status === 'modified')).map((file) => file.filename));
12956+
return files;
12957+
}
1294912958
/**
1295012959
* Get commits between two tags via the GitHub API
1295112960
*/
@@ -13006,6 +13015,21 @@ class GithubUtils {
1300613015
throw error;
1300713016
}
1300813017
}
13018+
static async getPullRequestDiff(pullRequestNumber) {
13019+
if (!this.internalOctokit) {
13020+
this.initOctokit();
13021+
}
13022+
// eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style
13023+
const response = await this.internalOctokit.request('GET /repos/{owner}/{repo}/pulls/{pull_number}', {
13024+
owner: CONST_1.default.GITHUB_OWNER,
13025+
repo: CONST_1.default.APP_REPO,
13026+
pull_number: pullRequestNumber,
13027+
mediaType: {
13028+
format: 'diff',
13029+
},
13030+
});
13031+
return response.data;
13032+
}
1300913033
}
1301013034
exports["default"] = GithubUtils;
1301113035

.github/actions/javascript/checkAndroidStatus/index.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -737649,6 +737649,15 @@ class GithubUtils {
737649737649
}
737650737650
return Buffer.from(data.content, 'base64').toString('utf8');
737651737651
}
737652+
static async getPullRequestChangedSVGFileNames(pullRequestNumber) {
737653+
const files = this.paginate(this.octokit.pulls.listFiles, {
737654+
owner: CONST_1.default.GITHUB_OWNER,
737655+
repo: CONST_1.default.APP_REPO,
737656+
pull_number: pullRequestNumber,
737657+
per_page: 100,
737658+
}, (response) => response.data.filter((file) => file.filename.endsWith('.svg') && (file.status === 'added' || file.status === 'modified')).map((file) => file.filename));
737659+
return files;
737660+
}
737652737661
/**
737653737662
* Get commits between two tags via the GitHub API
737654737663
*/
@@ -737709,6 +737718,21 @@ class GithubUtils {
737709737718
throw error;
737710737719
}
737711737720
}
737721+
static async getPullRequestDiff(pullRequestNumber) {
737722+
if (!this.internalOctokit) {
737723+
this.initOctokit();
737724+
}
737725+
// eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style
737726+
const response = await this.internalOctokit.request('GET /repos/{owner}/{repo}/pulls/{pull_number}', {
737727+
owner: CONST_1.default.GITHUB_OWNER,
737728+
repo: CONST_1.default.APP_REPO,
737729+
pull_number: pullRequestNumber,
737730+
mediaType: {
737731+
format: 'diff',
737732+
},
737733+
});
737734+
return response.data;
737735+
}
737712737736
}
737713737737
exports["default"] = GithubUtils;
737714737738

.github/actions/javascript/checkDeployBlockers/index.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12213,6 +12213,15 @@ class GithubUtils {
1221312213
}
1221412214
return Buffer.from(data.content, 'base64').toString('utf8');
1221512215
}
12216+
static async getPullRequestChangedSVGFileNames(pullRequestNumber) {
12217+
const files = this.paginate(this.octokit.pulls.listFiles, {
12218+
owner: CONST_1.default.GITHUB_OWNER,
12219+
repo: CONST_1.default.APP_REPO,
12220+
pull_number: pullRequestNumber,
12221+
per_page: 100,
12222+
}, (response) => response.data.filter((file) => file.filename.endsWith('.svg') && (file.status === 'added' || file.status === 'modified')).map((file) => file.filename));
12223+
return files;
12224+
}
1221612225
/**
1221712226
* Get commits between two tags via the GitHub API
1221812227
*/
@@ -12273,6 +12282,21 @@ class GithubUtils {
1227312282
throw error;
1227412283
}
1227512284
}
12285+
static async getPullRequestDiff(pullRequestNumber) {
12286+
if (!this.internalOctokit) {
12287+
this.initOctokit();
12288+
}
12289+
// eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style
12290+
const response = await this.internalOctokit.request('GET /repos/{owner}/{repo}/pulls/{pull_number}', {
12291+
owner: CONST_1.default.GITHUB_OWNER,
12292+
repo: CONST_1.default.APP_REPO,
12293+
pull_number: pullRequestNumber,
12294+
mediaType: {
12295+
format: 'diff',
12296+
},
12297+
});
12298+
return response.data;
12299+
}
1227612300
}
1227712301
exports["default"] = GithubUtils;
1227812302

0 commit comments

Comments
 (0)