* Rename logout to logoutEveryAccount
* Add logoutCurrentAccount()
* Make all "Log out" buttons refer to current account
Each of these usages is completely contextual and refers to a specific account.
* Add Sign out of all accounts to Settings
* Move single account Sign Out below as well
* Prompt on account removal
* Add Other Accounts header to reduce ambiguity
* Spacing fix
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* update @atproto/api
* add starter pack embed
* update depreciated BskyAgent to AtpAgent
* unrelated, but avoid direct import of type
* nits
* rm commented out code
---------
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* set auto category to ambient every time a new player is made
* mute on foregrounding
* remember previous state
---------
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
Co-authored-by: Hailey <me@haileyok.com>
* Don't kick the user on network errors
* Track online status for RQ
* Use health endpoint
* Update test with new behavior
* Only poll while offline
* Handle races between the check and network events
* Reduce the poll kickoff interval
* Don't cache partially fetched pinned feeds
This isn't a new issue but it's more prominent with the offline handling. We're currently silently caching pinned infos that failed to fetch. This avoids showing a big spinner on failure but it also kills all feeds which is very confusing. If the request to get feed gens fails, let's fail the whole query.
Then it can be retried.
* move error fallback to own component
* use error boundary on native
---------
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* play when returning from background
* play when unfullscreening
* play when entering fullscreen, just to be sure
* state -> ref
---------
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* update expo-video
* pause when on a different screen
* rm collapsable
* add mute/unmute button
---------
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* fix bg color
* unique video urls for debug
* improve controls slightly
* mute until fullscreen
---------
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* Unify onPostReply handler
* Show just-posted replies above OP replies
* Only do this for the highlighted post or thread mode
It's confusing to have your post displace OP thread or other people's leaf posts.
* overflow posts, via contentHider
* margin->padding for a bit more leeway
* overflow notifications
* overflow on header
* revert from contenthider, put on text in all places
* fix zalgo text in handle in composer
---------
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* attempt some sort of "usurping" system
* polling-based active video approach
* split into inner component again
* click to steal active video
* disable findAndActivateVideo on native
* new intersectionobserver approach - wip
* fix types
* disable perf optimisation to allow overflow
* make active player indicator subtler, clean up video utils
* partially fix double-playing
* start working on controls
* fullscreen API
* get buttons working somewhat
* rm source from where it shouldn't be
* use video elem as source of truth
* fix keyboard nav + mute state
* new icons, add fullscreen + time + fix play
* unmount when far offscreen + round 2dp
* listen globally to clicks rather than blur event
* move controls to new file
* reduce quality when not active
* add hover state to buttons
* stop propagation of videoplayer click
* move around autoplay effects
* increase background contrast
* add subtitles button
* add stopPropagation to root of video player
* clean up VideoWebControls
* fix chrome
* change quality based on focused state
* use autoLevelCapping instead of nextLevel
* get subtitle track from stream
* always use hlsjs
* rework hls into a ref
* render player earlier, allowing preload
* add error boundary
* clean up component structure and organisation
* rework fullscreen API
* disable fullscreen on iPhone
* don't play when ready on pause
* debounce buffering
* simplify giant list of event listeners
* update pref
* reduce prop drilling
* minimise rerenders in `ActiveViewContext`
* restore prop drilling
---------
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
Co-authored-by: Hailey <me@haileyok.com>