[HOLD][WIP] Import and export Onyx snapshots - #41557
Conversation
| @@ -1,3 +1,5 @@ | |||
| type LocalFileDownload = (fileName: string, textContent: string, successMessage?: string) => void; | |||
There was a problem hiding this comment.
successMessage was never actually used.
On Android can you just save it directly into the Downloads folder? Using the share button is super annoying in practice, because often you need to upload multiple files (a trace, video, logs, and now this) so it would be much easier to just have everything dumped straight to Downloads and skip the share button, like here: HIGH: [Debugability] [$250] Save client-side logs and profile traces to the Downloads folder |
Yes, pretty sure you can. I have only tested on desktop so far, but from what I remember when the local file download flow was created, on Android it just goes straight to downloads. |
# Conflicts: # src/languages/en.ts # src/languages/es.ts
# Conflicts: # src/components/ChatDetailsQuickActionsBar.tsx
|
@roryabraham would you mind closing this for now if you're not going to do anything with it? |
|
Since I haven't heard anything, I'm going to give this a courtesy-close :) |
|
Thanks, I saw your comment in an email but hadn't gotten to it yet. I am planning to circle back to this as soon as we fix the issues with infinite GetOlderActions and GetNewerActions loops. |
HOLD - needs Onyx update: Expensify/react-native-onyx#544
Details
Creates a way to export a full snapshot of Onyx data to a file, then import a full snapshot of Onyx data from a file. This can be used for debugging issues that only some people can reproduce on staging.
Patches added
Upstream PR for react-native-document-picker patch: react-native-documents/document-picker#718
Fixed Issues
$ https://expensify.slack.com/archives/C05LX9D6E07/p1714702412032799?thread_ts=1714656403.682529&cid=C05LX9D6E07
Tests / QA Steps
Account Settings->TroubleshootExport app snapshot to fileImport app snapshot from fileOffline tests
None. This feature should work offline on iOS, Android, and desktop, but it's just for debugging so it's not important.
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: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop
desktop.mov