* Add a new home feed-api wrapper and give a header indicating the fallback behavior
* Sneak in a quick fix: use the correct text color in the delete modal
* Use imported constant
* Move profile and preference polling to polls-on-foreground
* Refetch prefs on feeds screen refresh since polling no longer occurs
* Reduce notifications polling by 50% if there's already an unread
* Disable feed polling if we know we have content
* Disable the hard refresh after 1 hour in case it's the cause of the random feed refresh bug
* Fix types
* add expand replyTo text with animation
* add images, quote to replyTo
* support withmedia
* adjust layout
* add embed to all needed openComposer calls
* adjust gap
* organize imports
* Bump to react-native@0.73, bump expo@next
Includes bumps for all expo deps and dev dependencies. Updates
react-native patch and others, and removes the babel-preset-expo patch.
* Remove duplicate Splash ref
* Bump more deps
* Properly install expo-notifications
* Bump webview dep
* Bump packages according to expo fix; remove pager-view patch as it is no longer needed
* Don't access expo-camera from Web
* Fix crypto dep on web
* Fix some type issues
* Build esnext modules to support dynamic imports
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Update the feed to only check latest on focus after 30s, but to do a full reset on focus after 1 hour to avoid very stale data
* Remove the isFeedPublic query
* Fix: avoid double next-page fetches
* Reduce some poll intervals to reduce server load
* Guard against double-fires of fetchNextPage
* Reduce polling on blurred screens
* Add an intermediate List component
* Fix type
* Add onScrolledDownChange
* Port pager to use onScrolledDownChange
* Fix on mobile
* Don't pass down onScroll (replacement TBD)
* Remove resetMainScroll
* Replace onMainScroll with MainScrollProvider
* Hook ScrollProvider to pager
* Fix the remaining special case
* Optimize a bit
* Enforce that onScroll cannot be passed
* Keep value updated even if no handler
* Also memo it
* Reduce calls to getFeedGenerator by the mergefeed
* Dont run end-of-follows mergefeed requests until actually at the end of the feed
* build AWS container
---------
Co-authored-by: Jake Gold <jake@blueskyweb.xyz>
* Move moderatePost up to feed query
* Attemt to fill page up to 30
* Add the 'ensure full page' behavior to notifs
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Do no poll when screen is not focused
* Avoid polling unless focused
* Handle homepage in background
* Fix the intl:check to ignore comments in diffs
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* 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
* 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
* 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
* 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
* 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>
* 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>