Debug Mode - Report and Report Actions#45481
Conversation
|
@chiragsalian 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] |
|
@pac-guerreiro Please address above comments and resolve conflict |
|
I applied your suggestions and requested translations from expensify team 😄 Also, I added a new file named |
|
I also added a feature to the |
Screen.Recording.2024-08-05.at.12.09.26.mov@pac-guerreiro Crash App when typing an invalid time |
|
@pac-guerreiro Everything else looks good. I will test again after the above comments are resolved. Thanks |
|
@DylanDylann comments addressed, thank you for the review 😄 |
|
@pac-guerreiro Another crash bug has been found. Please verify all date fields to ensure they are not causing the app to crash. Thank you. Screen.Recording.2024-08-06.at.17.28.12.mov |
|
@DylanDylann it should not crash now! 😄 |
|
@pac-guerreiro We are displaying
|
014b3d6
992cdfb to
014b3d6
Compare
|
I had to rebase the whole branch with main to sign those two commits. It should be ready now to merge! |
|
@chiragsalian looks like this was merged without a test passing. Please add a note explaining why this was done and remove the |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
Not an emergency. ESLint was failing and we discussed and agreed to ignore eslint errors for this PR to avoid further delays since its pretty large. |
|
@chiragsalian @DylanDylann @mountiny This seems like a very dev heavy PR. Can you pls QA this internally? |
|
🚀 Deployed to staging by https://github.com/chiragsalian in version: 9.0.38-0 🚀
|
|
🚀 Deployed to production by https://github.com/grgia in version: 9.0.38-4 🚀
|
| debug: 'Depuración', | ||
| details: 'Detalles', | ||
| JSON: 'JSON', | ||
| reportActions: 'Actions', |
There was a problem hiding this comment.
Coming from #58199, some texts were not translated into Spanish.
| const [amPmValue, setAmPmValue] = useState(() => DateUtils.get12HourTimeObjectFromDate(value).period); | ||
| const [selectionMinute, setSelectionMinute] = useState(showFullFormat ? {start: 0, end: 0} : {start: 2, end: 2}); // we focus it by default so need to have selection on the end | ||
| const [selectionSecond, setSelectionSecond] = useState({start: 0, end: 0}); | ||
| const [selectionMilisecond, setSelectionMilisecond] = useState(showFullFormat ? {start: 6, end: 6} : {start: 0, end: 0}); |
There was a problem hiding this comment.
Coming from #71345 where a crash was happening when removing DateTime field data. Setting both start and end to 6 here results in an invalid range and ultimately causes a negative value used in .repeat(...) here
App/src/components/TimePicker/TimePicker.tsx
Lines 86 to 89 in 0d694ca
See the proposal for more detail.



Details
This PR introduces a new feature named
Debug mode, which aims to provide both developers and QA's the necessary tools to diagnose the causes of issues and also detect issues.These are the tools provided by this PR:
TroubleshootpageaccountIDonSettingspageDebug, just belowPrivate NotesJSONtab, you can check theJSONrepresentation of the reportactionstab, you can see the list of all report actions associated with the current reportJSONthat represent the report action that you want to test and preview how it will look like in the chatdetailstabJSONtab, you can check theJSONrepresentation of the report actionpreviewtab, you can preview what the report action looks like in the chatFixed Issues
$ #48071
PROPOSAL:
Tests
Settings > Troubleshootand enable debug modeaccountIDis shown on the header of the settings page, right below your emailInboxand select any chat, then click on the chat header and click onDebugdetailstab and confirm that any changes you apply are being saved correctly and applied in real-timeJSONtab and confirm that the changes you applied on details tab are present in the json representation of the data. Also confirm that you’re able to copy the json data using the top buttonactionstab and try to create a new report action from there4and5.Offline tests
Same as tests.
QA Steps
Same as tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)myBool && <MyComponent />.src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))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.-.Native.mp4
Android: mWeb Chrome
Android.-.Chrome.mp4
iOS: Native
iOS.-.Native.mov
iOS: mWeb Safari
iOS.-.Safari.mp4
MacOS: Chrome / Safari
MacOS.-.Chrome.mp4
MacOS: Desktop
MacOS.-.Native.mp4