* WIP
* Sorting working
* Rough handling of hidden/muted
* Better muted/hidden sorting and handling
* Clarify some naming
* Fix parents
* Handle first reply under highlighted/composer
* WIP RaW
* WIP optimistic
* Optimistic WIP
* Little cleanup, inserting dupes
* Re-org
* Add in new optimistic insert logic
* Update types
* Sorta working linear view optimistic state
* Simple working version, no pref for OP
* Working optimistic reply insertions, preference for OP
* Ensure deletes are coming through
* WIP scroll handling
* WIP scroll tweaks
* Clean up scrolling
* Clean up onPostSuccess
* Add annotations
* Fix highlighted post calc
* WIP kill me
* Update APIs
* Nvm don't kill me
* Fix optimistic insert
* Handle read more cases in tree view
* Basically working read more
* Handle linear view
* Reorg
* More reorg
* Split up thread post components
* New reply tree layout
* Fix up traversal metadata
* Tighten some spacing
* Use indent ya idiot
* Some linear mode cleanup
* Fix lines on read more items
* Vibe coding to success
* Almost there with read mores
* Update APIs
* Bump sdk
* Update import
* Checkpoint new traversal
* Checkpoint cleanup
* Checkpoint, need to fix blocked posts
* Checkpoint: think we're good, needs more cleanup
* Clean it up
* Two passes only
* Set to default params, update comment
* Fix render bug on native
* Checkpoint parent rendering, can opt for slower handling here
* Clean up parent handling, reply handling
* Fix read more extra space
* Fix read more in linear view
* Fix hidden reply handling, seen count, before/after calc
* Update naming
* Rename Slice to ThreadItem
* Add basic post and anchor skeletons
* Refactor client-side hidden
* WIP hidden fetching
* Update types
* Clean up query a bit
* Scrolling still broken
* Ok maybe fix scrolling
* Checkpoint move state into meta query
* Don't load remote hidden items unless needed
* skeleton view
* Reset hidden items when params change
* Split up traversal and avoid multiple passes
* Clean up
* Checkpoint: handling exhausted replies
* Clean up traversal functions further
* Clean up pagination
* Limit optimistic reply depth
* Handle optimistic insert in hidden replies
* Share root query key for easier cache extraction
* Make blurred posts not look like ass
* Fix double deleted item
* Make optimistic deleted state not look like crap in tree view
* Fix parents traversal 4 real
* Rename tree post
* Make optimistic deletions of linear posts not look bad
* Rename linear post components
* Handle tombstone views
* Rename read more component
* Add moreParents handling
* Align interaction states of read more
* Fix read more on FF
* Tree view skeleton
* Reply composer skele
* Remove hack for showing more replies
* Checkpoint: sort change scrolling fixed
* Checkpoint: learned new things, reset to base
* Feature gate
* Rename
* Replace show more
* Update settings screen
* Update pkg and endpoint
* Remove console
* Eureka
* Cleanup last commit
* No tests atm
* Remove scroll provider
* Clean up callbacks, better error state
* Remove todo
* Remove todo
* Remove todos
* Format
* Ok I think scrolling is solid
* Add back mobile compose input
* Ok need to compute headerHeight every time
* Update comments
* Ok button up web too
* Threads v2 tweaks (#8467)
* fix error screen collapsing
* use personx icon for blocked posts
* Remove height/width
* Revert unused Header change
* Clarify code
* Relate consts to theme values
* Remove debug code
* Typo
* Fix debounce of threads prefs
* Update metadata comments, dev mode
* Missed a spot
* Clean up todo
* Fix up no-unauthenticated posts
* Truncate parents if no-unauth
* Update getBranch docs
* Remove debug code
* Expand fetching in some cases
* Clear scroll need for root post to fix jump bug
* Fix reply composer skeleton state
* Remove uneeded initialized value
* Add profile shadow cache
* Some metrics
* prettier tweak
* eslint ignore
* Fix optimistic insertion
* Typo
* Rename, comment
* Remove wait
* Counter naming
* Replies seen counter for moderated sub-trees
* Remove borders on skeleton
* Align tombstone with optimistic deletion state
* Fix optimistic deletion for thread
* Add tree view icon
* Rename
* Cleanup
* Update settings copy
* Header menu open metric
* Bump package
* Better reply prompt (#8474)
* restyle reply prompt
* hide bottom bar border for cleaner look
* use new border hiding hook in DMs
* create `transparentifyColor` function
* adjust padding
* fix padding in immersive lpayer
* Apply suggestions from code review
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* Integrate post-source
(cherry picked from commit fe053e9b38395a4fcb30a4367bc800f64ea84fe9)
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* improve error screen
* add chat request prompt
* mock up inbox
* bigger button
* use two-button layout
* get inbox working somewhat
* fix type errors
* fetch both pages for badge
* don't include read convos in preview
* in-chat ui for non-accepted convos (part 1)
* add chatstatusinfo
* fix status info not disappearing
* get chat status info working
* change min item height
* move files around
* add updated sdk
* improve badge behaviour
* mock up mark all as read
* update sdk to 0.14.4
* hide chat status info if initiating convo
* fix unread count for deleted accounts
* add toasts after rejection
* add prompt to delete
* adjust badge on desktop
* requests -> chat requests
* fix height flicker
* add mark as read button to header
* add mark all as read APIs
* separate avatarstack into two components (#7845)
* fix messages being hidden behind chatstatusinfo
* show inbox preview on empty state
* fix empty state again
* Use new convo availability API (#7812)
* [Inbox] Accept button on convo screen (#7795)
* accept button on convo screen
* fix types
* fix type error
* improve spacing
* [DMs] Implement new log types (#7835)
* optimise badge state
* add read message log
* add isLogAcceptConvo
* mute/unmute convo logs
* use setqueriesdata
* always show label on button
* optimistically update badge
* change incorrect unread count change
* Update src/screens/Messages/Inbox.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* Update src/screens/Messages/components/RequestButtons.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* Update src/screens/Messages/components/RequestButtons.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* Update src/screens/Messages/components/RequestListItem.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* fix race condition with accepting convo
* fix back button on web
* filter left convos from badge
* update atproto to fix CI
* Add accept override external to convo (#7891)
* Add accept override external to convo
* rm log
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
Co-authored-by: Eric Bailey <git@esb.lol>
* Remove "show latest" behind the gate
* Add HomeBadgeProvider
* Update provider state from home feed tabs
* Add Home badge to native
* Add Home badge to mobile web
* Add Home badge to desktop web
* Convert lightbox to get/set
* Work around software-mansion/react-native-reanimated#6613
* Use get/set in more places
* Port MainScrollProvider to get/set
* Port more to get/set
* Port composer to get/set
* Remove unnecessary thread hops in composer
* Port more things to get/set
* Convert more to get/set, remove redundant runOnJS
* Convert remaining cases to get/set
* Add home guided tour (WIP)
* Add web handling of the tour
* Switch to our fork of rn-tourguide
* Bump guided-tour
* Fix alignment on android
* Implement home page tour trigger after account creation
* Add new_user_guided_tour gate
* Add a title line to the tour tooltips
* A11y improvements: proper labels, focus capture, scroll capture
* Silence type error
* Native a11y
* Use FocusScope
* Switch to useWebBodyScrollLock()
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* Fix (#4430): Use separate hooks for shell mode animated styles
* Consolidate in one file
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* feed items
* update some more
* moar
* profile card
* composer and notifications
* settings screen
* remove border from first item in feeds
* remove border from first item in feeds
* more removal of top border
* fix flatlist rendering
* oops
* scroll to top fab
* a.border
* centeredview/list
* placeholder
* web sidebar
* search posts
* feeds list
* user lists
* list header
* account list width 1
* hide top border feedgens
* same for lists
* fix tab bar web desktop
* wait...
* show the border on desktop web
* fix lists
* fix lists
* round
* Swap for chat icon
* Replace icons in left nav
* Replace icons in bottom bars
* Ditch feeds, drop size
* Fine tune
* Swap bell icon, improve alignment and size
* use real API
* remove extra tab icon
* messages list web layout + style improvements
* use style's text color for input
* make new chat button way more obvious
---------
Co-authored-by: Hailey <me@haileyok.com>
* add new routes with placeholder screens
* add clops list
* add a clop input
* add some better padding to the clops
* some more adjustments
* add rnkc
* implement rnkc
* implement rnkc
* be a little less weird about it
* rename clop stuff
* rename more clop
* one more
* [Clipclops] Temp codegenerated lexicon (#3749)
* add codegenerated lexicon
* replace hailey's types
* use codegen'd types in components
* fix error + throw if fetch failed
* remove bad imports
* update messageslist and messageitem
* import useState
* add clop service URL hook
* add dm service url storage
* use context
* use context for service url (temp)
* remove log
* nits
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* improve android haptics, offer toggle for haptics
* update haptics.ts
* default to false
* simplify to `playHaptic`
* just leave them as `feedInfo`
* use a hook for `playHaptic`
* missed one of them
* Use ALF for account quick switch
* clean up modal type
* add haptics to dialog opening
* move account list to it's own component and share
* make tick slightly darker
* Rip out virtualization on the web
* Screw around with layout
* onEndReached
* scrollToOffset
* Fix background
* onScroll
* Shell bars
* More scroll
* Fixes
* position: sticky
* Clean up 1
* Clean up 2
* Undo PagerWithHeader changes and fork it
* Trim down both versions
* Cleanup 3
* Memoize, lint
* Don't scroll away modal or lightbox
* Add content-visibility for rows
* Fix composer
* Fix types
* Fix borked scroll animation
* Fixes to layout
* More FlatList parity
* Layout fixes
* Fix more layout
* More layout
* More layouts
* Fix profile layout
* Remove onScroll
* Display: none inactive pages
* 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
* Move the fork to List.web
* Add scroll handler
* Consolidate List props a bit
* More stuff
* Rm unused
* Simplify
* Make isScrolledDown work
* Oops
* Fixes
* Hook up context scroll handlers
* Scroll restore for tabs
* Route scroll restoration POC
* Fix some issues with restoration
* Remove bad idea
* Fix pager scroll restoration
* Undo accidental locale changes
* onContentSizeChange
* Scroll to post
* Better positioning
* Layout fixes
* Factor out navigation stuff
* Cleanup
* Oops
* Cleanup
* Fixes and types
* Naming etc
* Fix crash
* Match FL semantics
* Snap the header scroll on the web
* Add body scroll lock
* Scroll to top on search
* Fix types
* Typos
* Fix Safari overflow
* Fix search positioning
* Add border
* Patch react navigation
* Revert "Patch react navigation"
This reverts commit 62516ed9c2.
* fixes
* scroll
* scrollbar
* cleanup unrelated
* undo unrel
* flatter
* Fix css
* twk
* Add logo to left nav in logged out
* Protect last routes
* Hide links in left nav, hide nav
* Replace bottom bar for pwi
* Remove same links from drawer
* Hide reply prompt
* Allow search
* Enable PWI
* Disable access to feeds on PWI
* Remove feeds nav item from drawer when signed out
* Replace discover feed on home with a CTA
* Wire up the sign in and create account buttons to go straight to their respective screens
* Give a custom ScreenHider interface for no-pwi
* Add side borders on desktop to the screen hider
* Filter accounts in the autocomplete according to mod settings
* Trim replies in the post thread that are pwi opt-out
* Show 'learn more' on the content hider when no-override is enabled
* Apply the moderation filter on profile cards
* Disable post search on logged-out view
* Update locale files
* Bump api pkg
* Ensure feeds with no posts don't show as NSFPublic
* Fix types
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* Dont reset notifications feed on push notification event
* Dont separate notifications by read state to avoid jank
* On notifications screen focus, check latest and only rerender if not scrolled down
* Reuse the cached notifs page when its not stale
* Bump ios build number
* Improve comments
* Change the 'mark all read' condition to avoid firing too early