* Remove listenSessionLoaded from analytics
* Move analytics init call to navigation ready
* Remove zod dependency from analytics
* Mirror changes on the web
* Delete listenSessionLoaded
* Only set up listeners once
* Inline never-imported export
* Remove pretense at handling cleanup
* Extract per-session listener to a function
* Split notifications.init() from notifications.onSessionLoaded()
* Tweak forked code to be more similar
* Remove unnecessary guards
* Split notifications.onSessionLoaded in two
* Always use getAgent()
* Remove dep on listenSessionLoaded, add cleanup
* fixed lack of styles on 1300px web viewport width by adjusting tablet breakpoints
* fixed lack of styles on 800px web viewport width by adjusting mobile breakpoints
* changed `maxWidth` values in viewports to `n - 1` format
* Assign keys to feed slices via a counter, to enable duplicate items in the feed if needed
* Move post-feed query state into the query's page params to consistently bind their lifecycles
* show logged out view when adding accounts
* Handle existing signed-in account
* Show which account is currently logged in
* Fix showing toasts
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* Make shadow a type-only concept
* Prevent unnecessary init state recalc
* Use derived state instead of effects
* Batch emitter updates
* Use object first seen time instead of dataUpdatedAt
* Stop threading dataUpdatedAt through
* Use same value consistently
* get basic hindi support to work
* get web app language switcher in
* Refactor i18n implementation and remove unused
code
* add missing strings
* add dropdowns and modals missing strings
* complete all hindi translations
* fix merge conflicts
* fix legeacy persisted state
* fix data in RecommendedFeeds
* fix lint
* 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
* Update login page to use service query
* Update modal to use session instead of store
* Move image sizes cache off store
* Update settings to no longer use store
* Update link-meta fetch to use agent instead of rootstore
* Remove deprecated resolveName()
* Delete deprecated link-metas cache
* Delete deprecated posts cache
* Delete all remaining mobx models, including the root store
* Strip out unused mobx observer wrappers
* Move tick-every-minute into a hook/context
* Move soft-reset event out of the shell model
* Update soft-reset listener on new search page
* Implement session-loaded and session-dropped events
* Update analytics and push-notifications to use new session system
* Port user followers to RQ
* Port user follows to RQ
* Start porting FollowButton to RQ
* Fix RQ key
* Check pending
* Fix shadow and pending states
* Rm unused
* Remove last usage of useFollowProfile
* Refactor first onboarding step
* Replace old FeedSourceCard
* Clean up CustomFeedEmbed
* Remove discover feeds model
* Refactor ProfileFeed screen
* Remove useCustomFeed
* Delete some unused models
* Rip out more prefs
* Factor out treeView from thread comp
* Improve last commit
* Move broadcast channel to lib
* Refactor view/com/post/Post and remove temporary 2 components
* Add useModerationOpts hook
* Refactor notifications to use react-query
* Fix: only trigger updates in useModerationOpts when the values have changed
* Implement unread notification tracking
* Add moderation filtering to notifications
* Handle native/push notifications
* Remove dead code
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* Refactor lists queries to react-query
* Delete old lists-list model
* Implement list, list-members, and list-memberships react-queries
* Update CreateOrEditList modal
* First pass at my-follows and actor-autocomplete queries
* Update ListAddUserModal to use new queries, change to ListAddRemoveUsersModal
* Update UserAddRemoveLists modal
* Remove old TODO
* Fix indent, autocomplete query
* Add a todo
---------
Co-authored-by: Eric Bailey <git@esb.lol>