Repository navigation
Implement full support ticket UI behind a beta - #102561
Conversation
This comment has been minimized.
This comment has been minimized.
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppandroid-steps-1-9.mp4Android: mWeb Chrome
iOS: HybridAppios-steps-1-9.mp4iOS: mWeb SafariMacOS: Chrome / Safariweb-steps-1-9.mp4 |
joekaufmanexpensify
left a comment
There was a problem hiding this comment.
Good for product. core design doc issue
|
Just need internal engineer review from @chiragsalian before we can merge this one! |
| title: translate('initialSettingsPage.talkToAHuman'), | ||
| description: translate('initialSettingsPage.helpPage.talkToAHumanDescription'), | ||
| icon: icons.ChatBubbles, | ||
| iconType: CONST.ICON_TYPE_ICON, |
|
@jasperhuangg I've updated the verification based on the latest OP update. There's just one issue mentioned above, and the test steps in the description are a bit out of order. UI Verifyandroid-full-steps.mp4 |
…-tickets # Conflicts: # tests/unit/ReportUtilsTest.ts
ebc59f8
|
🚧 jasperhuangg 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/jasperhuangg in version: 9.5.6-0 🚀
|
|
No help site update needed. All user-facing changes in this PR are gated behind the |
|
🚀 Deployed to production by https://github.com/puneetlath in version: 9.5.6-6 🚀
Bundle Size Analysis (Sentry): |

THIS IS BEHIND THE
supportTicketBETA. For any related blockers, please demote and assign @jasperhuangg to investigate and fix.Explanation of Change
Implements the full support ticket UI, including creation, resolution, reopen, and support ticket surveys.

Fixed Issues
$ https://github.com/Expensify/Expensify/issues/684543
$ https://github.com/Expensify/Expensify/issues/684558
$ https://github.com/Expensify/Expensify/issues/684553
PROPOSAL:
Tests
Dev
Setup
Check out https://github.com/Expensify/Web-Expensify/pull/56710 and https://github.com/Expensify/Auth/pull/25179 if they aren't already merged
Create two
@team.expensify.com accounts(the support reps) and run the following queries on them. YouEnsure only 1 rep is in the queue in https://www.expensify.com.dev/concierge/#/ (click "Begin")
Create a policy admin and employee account.
Steps
Create a ticket through Web-Expensify for an admin and policy employee.
Support ticket, Sep 30, 2026: Jane Doe and John Smith.Verify the preview action and support ticket checkbox are unchecked. Hovering over on web shows


Your support rep will check this when it is resolved(mock). Tapping it shows a modal with the "Not so fast... Your support rep will check this when it is resolved.The ticket description shows:
Hi, I'm <support rep first name>, and I'll work with you until this is fully resolved. If you've already shared details with us, I'll review them before responding so you don't need to repeat yourself. If this is a new issue, let me know what you need help with.For the policy admin, verify the book a call button opens the ticket rep's calendly link. For the employee, verify the book a call button doesn't render.
Verify the customer can add comments to the support ticket.
This support ticket is resolved.andReopen ticket. Only the newest post-close survey appears; the customer can select 👍 or 👎, and changing the rating leaves exactly one reaction.Staging QA
ping @jasperhuangg to QA
expensify_supportTicketQAAssigneeEmailas in PR 1.8 Staging QA step 1 for both a policy employee and admin.PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, 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.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
Not captured.
Android: mWeb Chrome
Not captured.
iOS: Native
Not captured.
iOS: mWeb Safari
Not captured.
MacOS: Chrome / Safari
Not captured.