Add support for posting as a different user #1159
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull Request Description
This PR adds the ability to create posts under a different account than is currently selected. It does so by using a new technique whereby we can change the current account without reloading the app. When the user navigates back from the create post page, the previous account is restored and their feed is left untouched. (One drawback is that you won't see the "navigate to post" snackbar since the post might not be federated to the original account's instance.) We can hopefully use this same technique for other "temporary account" operations.
To perform the account switching, I reused the profile modal switcher, and disabled the following things.
There is also handling for if the selected community is not available on the instance of the desired account.
Future tasks:
Issue Being Fixed
Issue Number: Partly related to #341
Screenshots / Recordings
Demo 1: Show posting as a different user, show that the original user is restored and feed is untouched, see that we can view the new post
demo1.mp4
Demo 2: Show that we handle when the selected community is not yet federated to the new user's instance
demo2.mp4
Checklist
semanticLabel
s where applicable for accessibility?