Remove unnecessary custom types from translations - Batch 12#84256
Conversation
…t4, normalize params in nextStep.message.*
|
Hey, I noticed you changed If you want to automatically generate translations for other locales, an Expensify employee will have to:
Alternatively, if you are an external contributor, you can run the translation script locally with your own OpenAI API key. To learn more, try running: npx ts-node ./scripts/generateTranslations.ts --helpTypically, you'd want to translate only what you changed by running |
Codecov Report❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.
|
…ove-unnecessary-types-from-translations-batch2
3131897 to
6f35713
Compare
6f35713 to
9a7bcaf
Compare
|
LGTM! nice job 🚀 |
|
@QichenZhu Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
No product review required |
|
Hi @QichenZhu, |
Reviewer Checklist
Screenshots/Videos |
|
The test steps miss a precondition to enable delayed submission, and the approval step is irrelevant. |
…sary suppression, fix inline type
…n, remove type annotations from es.ts
|
Hi @QichenZhu, I’ve addressed your comments. Could you re-review? |
QichenZhu
left a comment
There was a problem hiding this comment.
Changes look good, but I'm worried the ESLint suppressions will be lost after regenerating translations.
@jakubstec can you check this please? |
Yeah, apparently It seems like ESLint suppressions are needed only in en.ts those comments are missing in other files (except es.ts) and work properly. |
Let's do this |
|
Oh but those 2 files are never regenerated, since they are not automatically translated languages |
|
🚧 @iwiznia has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
✋ 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/iwiznia in version: 9.3.54-0 🚀
Bundle Size Analysis (Sentry): |
|
No help site changes required. This PR is a pure TypeScript types refactor (removing unnecessary custom type definitions from |





Explanation of Change
Continue the work of removing unnecessary custom types from translations. Last PR:
#84118.
Fixed Issues
$ #76429
PROPOSAL: #76429 (comment)
Tests
Testing every modified component is not necessary since the changes are all related to types only, and TypeScript already checks types and enforces correct parameter usage.
Below is an example where the changes can be observed in the UI.
NextStepUtils.ts1. Open a workspace that has enable delayed submission enabled (click workspace avatar in LHN > More features > Workflows > Submissions > change Frequency from "Manually" to e.g. "Weekly")
2. Create a new expense request (+ > Submit expense)
3. Add an expense and save
4. Open the expense report — at the top (below the title/header), a next step message should be visible, e.g. "Waiting for
yourexpenses to automatically submit on the last day of the month"Offline tests
N/A
QA Steps
Same as tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
iOS: Native
NextStepUtils.tsxMacOS: Chrome / Safari
NextStepUtils.tsx