* Reset
* Associate shadows with the cache
* Use colocated helpers
* Fix types
* Reorder for clarity
* More types
* Copy paste logic for profile
* Hook up profile query
* Hook up suggested follows
* Hook up other profile things
* Fix shape
* Pass setShadow into the effect deps
* Include reply posts in the shadow cache search
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Dont group read & unread notifications together
* Remove and reduce some stale cache times
* Keep the staleTime on the post-feed
* Bring back the load-bearing staletime on profile
* Prototype a queue
* Track both current and pending actions
* Skip unnecessary actions
* Commit last confirmed state to shadow
* Thread state through actions over time
* Fix the logic to skip redundant mutations
* Track status
* Extract an abstraction
* Fix standalone mutations
* Add types
* Move to another file
* Return stable function
* Clean up
* Use queue for muting
* Use queue for blocking
* Convert other follow buttons
* Don't export non-queue mutations
* Properly handle canceled tasks
* Fix copy paste
* Add my-blocked-accounts and my-muted-accounts queries
* Update ProfileCard to use the profile shadow cache and useModerationOpts
* Update blocked accounts and muted accounts screens
* Profile tabs WIP
* Refactor the profile screen to use react-query (WIP)
* Add the profile shadow and get follow, mute, and block working
* Cleanup
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>