83860 migrate categories settings tags#86947
Conversation
|
@mananjadhav 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] |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fe1a46c114
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| queryParams: ['country'], | ||
| }, | ||
| SETTINGS_CATEGORY_EDIT: { | ||
| path: 'edit', |
There was a problem hiding this comment.
Use a non-generic dynamic suffix for category edit
Setting DYNAMIC_ROUTES.SETTINGS_CATEGORY_EDIT.path to edit makes the dynamic matcher treat any URL ending in /edit as a dynamic route candidate first. In getStateFromPath(), the recursive base-path parse runs before fallback and can throw for valid non-dynamic edit routes whose stripped base path is not routable (for example ROUTES.MONEY_REQUEST_EDIT_REPORT is :action/:iouType/report/:reportID/edit, but :action/:iouType/report/:reportID is not a route), so navigation/deep links to those screens can fail. This suffix should be unique (or the recursion should be guarded) to avoid colliding with existing static /edit routes.
Useful? React with 👍 / 👎.
| queryParams: ['fieldName', 'fieldValue', 'policyID'], | ||
| }, | ||
| WORKSPACE_TAG_CREATE: { | ||
| path: 'workspace-tag-create', |
There was a problem hiding this comment.
Keep backward compatibility for workspace tag create URL
This migration changes the workspace tag-create path to workspace-tag-create, but the previous route (/workspaces/:policyID/tags/new) was removed and there is no redirect mapping added in src/libs/Navigation/linkingConfig/OldRoutes.ts. Any existing bookmarked or persisted URL using the old path will stop resolving after this change and fall through to not-found behavior. Please keep an alias/redirect for the old URL while migrating.
Useful? React with 👍 / 👎.
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
Explanation of Change
Fixed Issues
$ #83860
PROPOSAL:
Tests
Same QA step
Offline tests
QA Steps
CASE: SETTINGS_CATEGORY_EDIT
Open the Expensify app
Go to Workspace → Categories(https://staging.new.expensify.com/workspaces/DBADDE63516996C1/categories)
Manually update the URL to:https://staging.new.expensify.com/settings/DBADDE63516996C1/categories
Open any category
Tap on the category name
Verify that the Edit Category screen opens correctly
Navigating back returns to the previous screen correctly
CASE: WORKSPACE_TAG_CREATE
Open the Expensify app
Go to Workspace → Tags
Tap “+ Add Tag”
Verify that the Add Tag screen opens correctly
Navigating back returns to the tag list screen correctly
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
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
Screen.Recording.2026-04-02.at.15.44.23.mov