-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Add date range limit for splits #78429
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Add date range limit for splits #78429
Conversation
|
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✅ Changes either increased or maintained existing code coverage, great job!
|
|
@parasharrajat is a reviewer here But I think it's better to wait for the BZ team, when they return after the holidays, to decide whether this fix is right for them |
| // not be changed. | ||
| LOCATION_PERMISSION_PROMPT_THRESHOLD_DAYS: 7, | ||
| // Maximum number of days allowed for split expense date range | ||
| SPLIT_DATE_RANGE_LIMIT: 50, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO, 50 is a magic number. This should be more systematic like 2 months/60 days or 30 days.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I already tested 60
And that's still a lot for iOS
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I noticed that even with fewer split,s like 13, this page is slow. I think we should optimize this page. 60 or 100 should be no problem as we are just creating data and rendering it list. Something on this page is very expensive or may be poorly implemented.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When I tested 100 and 200 splits
Splits were easy to create
But when I tried to save and create split transactions
The app crashed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes especially when I save and the page closes, it was very slow.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But on the other hand,
On the web,
700 transactions are created just fine
So everything works as expected.
But probably, iOS has some limitations with Onyx
But in any case, it's better to wait to see what the BZ team says
Since, in my opinion, even 30 or 45 splits would be enough
Since I doubt anyone will really need that many splits
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, sounds good.
Explanation of Change
Fixed Issues
$ #78207
PROPOSAL:
Tests
Preconditions: User is an Expensifail account and admin have a Workspace
Offline tests
Preconditions: User is an Expensifail account and admin have a Workspace
QA Steps
Preconditions: User is an Expensifail account and admin have a Workspace
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand 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
Android: Native
2025-12-26.12.53.52.mov
Android: mWeb Chrome
iOS: Native
2025-12-26.12.53.52.mov
iOS: mWeb Safari
MacOS: Chrome / Safari