* radix select component on web
* native implementation (wip)
* fix sheet height/padding
* tone down web styles
* react 19 cleanup
* replace primary language select
* change style on native
* get auto placeholder working
* more style tweaks
* replace app language dropdown
* replace rnpickerselect with native select
* rm react-native-picker-select dependency
* rm placeholder, since a value is always selected
* docblock for renderItem
* add more docblocks
* add style prop to item
* pass selectedValue through renderItem
* fix context
* Style overflow buttons
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* add stateful dialog control hook
* add new alf'd consent
* make secondary_inverted buttons clearer
* contingency for opening a link from another dialog
* rm old modal
* Differentiate buttons more
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* keep all radix deps aligned by using single package
* import directly from `radix-ui` or `radix-ui/internal`
* prevent radix leaking into native build
* WIP
* Alignment with icon
* Add create/remove prompts
* Fill out check dialog a bit
* Reorg
* Handle was verified state
* Add warning to edit profile
* Add warning to handle dialog
* Decent alignment in posts on all platforms
* Refactor alignment for posts, chatlist, hover card
* Disable on profile
* Convo header
* Compute simple verification state
* Add other icon, rename, integrate
* Swap in simple state for profile edits
* Clean up utility hooks
* Add verifications UI to dialog
* Add edu nux
* Revert change
* Fix wrapping of check on profile
* Rename
* Fix gap under PostMeta
* Update check dialogs
* Handle takendown verifiers in check dialog
* alf composer reply to
* Refactor verification state
* Add create/remove mutations, non-functional for now
* Fix up post-rebase
* Add check to first author noty
* Do cache updates after mutations
* DRY up hook, add to profile updates too
* Add to drawer
* Update account list
* Adapt to new types
* Hook up mutations
* Use profile shadow in feeds
* Add to settings
* Shadow currentAccountProfile
* Add invalid state to verifications
* Fix alignment and overflow in Settings and Drawer
* Re-integrate post rebase
* Remove debug code
* Update copy
* Add unverified notification support
* Remove link
* Make sure dialog closes
* Update URL
* Add settings screen
* Integrate new setting into verification states
* Add metrics, bump package, fix bad import
* NUX fixes
* Update copy
* Fixes
* Update types
* fix search autocomplete
* fix lint
* add display name warning to new dialog
* update default prefs
* Add parsing support for notifications
* Bump pkg
* Tweak noty styles
* Adjust check alignment
* Tweak check alignment
* Fix badge for verifier
* Modify copy
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
Co-authored-by: Paul Frazee <pfrazee@gmail.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>
* better tablet layout
* adjust left nav spacing
* add right nav to pwi
* clearer logic
* fix a couple screens that don't need the tablet layout
* fix horiz scroll bar
* fix double trending
* fix ts-ignore
* fix labeller screen
* don't offset things within dialogs
* fix load latest button (and add scale animation)
* center loader on home screen
* adjust break points
* adjust left nav spacing
* fix load latest btn (again)
* add lang select to right nav if left nav is minimal
* fix double scrollbar on tiny screens
* fix scrollbar
* fix type errors
* Bump SDK
* Use consistent type in profile query
* Omit from constraint for profile shadow
* Replace isRecord with isValidRecord in QuoteEmbed
* Omit type from constraint for old ProfileCard
* Omit type from constraint in profile queries where appropriate
* Use correct type for update profile mutation
* Conslidate and fix check for isValidRecord in Post.tsx
* Replace isRecord with isValidRecord in PostThreadItem
* Remove redundant cast in PostThreadFollowBtn
* Ignore errors in DebugMod screen
* Use matching type in ProfileFollows screen
* Use matching type in ProfileFollowers screen
* Migrate to isValidRecord in PostFeedItem
* Use matching type if PostRepostedBy
* Omit type from constraint in avatar props
* Use matching types in NotificationFeedItem
* Todo
* Use isValidRecord in NotfyFeedItem
* Improve MediaPreview types
* Migrate another isValidRecord in NotificationFeedItem
* Migrate to isValidView in queries/util
* Migrate to isValidRecord in threadgate/util
* Fix types in threadgates
* Fix up types in starter-packs queries
* Todo
* Specify exact types in search-posts
* Use internal type util to align types
* Ditto last
* Migrate postgate/index
* Specify exact types in post-thread
* Use correct type in post-quotes
* FIX potential bug in post-thread
* Use correct type in post-feed
* Add correct type guards to notifications/feed
* Migrate a guard in notifications/util
* Migrate guard in Wizard/State
* [@next] Profile handling, migrate `ProfileCard` (#7347)
* Introduce new utils for profiles, migrate old ProfileCard
* Rename, reorg
* Add parseEmbed utils
* Expand AnyProfileView to include chat profile view, update post shadow to reflect this
* Cast for perf reasons
* Tighten up types now that we have AnyProfileView
* Add fastIsType util
* Use `assertDid`
Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>
* Use util types
* Comment
* Use fastIsType where no validation was happening before
* suggestions (#7382)
* suggestions
* Revert unneeded changes
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* Use new util
* Rename to dangerousIsType
* Convert object shape
* Use dangerous util
* Use dangerous util
* Use dangerous util, we can trust post records
* Use dangerous util
* Use AnyProfileVIew
* Convert object shape
* Clean up handling
* Patch moderateProfile to accept known profile views, to discuss
* Add AnyStarterPackView and related, implement in first usage
* Remove validation, fix type, fix ref
* Migrate over list-conversations
* Clarify intent behind precacheProfile and its unstable query cache
* Clean up unstable profile cache
* Fix types during label creation in PwiOptOut (#7346)
* Tighten types in queries/list
* Chat: use correct profile views
* Chat: fix log type check
* Chat: construct lexically correct shape, even though it's only internal usage
* Chat: use correct profile types
* Chat: fix type check in logs
* Starter: use correct profile types
* Starter: use correct profile types
* Starter: tighten types to match lex
* Any profile type will work in blocked-and-muted
* Use dangerous util
* Use dangerousIsType
* Update new ProfileCard to use AnyProfileView
* Use dangerousIsType
* Remove outdated todo
* Use correct profile type
* Use correct profile types
* Tighten up types
* Use dangerousIsType
* Chat: more type fixes
* Remove unused file
* Add a few utils
* Remove unused file
* Ignore feedPost.__source
* Clean up types, leave validation in critical path
* Use dangerousIstype
* Use ANyProfileView
* Use isValidRecord
* Use dangerousIsType
* Fix types in ListCard
* Fix FeedInterstitials types
* Fix types in FeedCard
* Fix types in dms ReportDialog
* Fix types in SearchablePeopleList
* Fix bad type in composer opts
* Starter: ok these need to be loose too
* Clarify docs
Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>
* Less code
Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>
* Use package exports
Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>
* Use package exports
* Bump sdk, update $Typed imports
* Format
* Format
* Fix weird TS error
* Remove patch
* Beter name
* It's memo, can validate
* Tighten up parseEmbed, dogfood
* Bump sdk
* Use asPredicate
* Loosen types a bit
* use asPredicate
* Fix types
* Use asPredicate
* Use asPredicate
* Use asPredicate
* Clean up upsertProfile types
* Use asPredicate
* Use Un util
* Fix types
* Use new AnyProfileView
* Use dangerousIsType
* Use asPredicate
* Use asPredicate
* Add fallback content-type to pass typecheck
* Clean up upsertProfile types
* Align types
* Use dangerousIsType
* Use dangerousIsType
* Use asPredicate
* Align types
* Convert findLast
* Align types
* Just ignore type errors and use findLast
* Rename atproto -> bsky
* Add validate util
* Fix type error
* Loosen types
* Export post
* rename atp bsky
* Remove unused code
* minor changes
* Bump deps
* Fix types
* Tighten back up loose check
* Tighten back up loose check
* Fix small bug
* Update comment
* Revert change
---------
Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>
Co-authored-by: Matthieu Sieben <matthieu.sieben@gmail.com>
* replace with Menu
* new icon for native
* hackfix radix dropdown height
* fix jsx
* reduce language names with lots of variants to what firefox returns from Intl.DisplayNames
* more language label simplifications
* add collision padding
* adjust spacing around and left align title
* takendown screen
* add form, move button inline
* expect type error
* display error
* disable submit if too long
* move around all the ctas
* typos, rm layoutanimation, fix link
* use REASONAPPEAL
* account quick switch on web
* dont show line if one account
* switch account label text
* add chevron hover state
* swagged up hover state
* add icons
* tune scale anim and respect prefers-reduced-motion
* fix reduced motion
* fix placeholder position
* move menu components out to separate component
* Pipe through outer handlers to Button
* Abstract lag in control.isOpen state
* add profile info into empty space
* fix tablet
* Alternative
* Revert "Alternative"
This reverts commit 050ab9595ef3bbc32529ad6588e4690d37539fbe.
* maybe fix flicker issue
* just do 50ms when not active
* delay other animations
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* Only portal the emoji picker where needed
* Add optional portal prop to emoji picker
* Use FocusScope to our advantage
* Pare back, add guards, fix focus trap
* Don't return focus to emoji button
* Set DM input position on emoji insert
* Let the caller determine next focus node
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Add WIP UIs for trending topics and suggested starterpacks
* Disable SPs for now
* Improve explore treatment a bit, add some polish to cards
* Add tiny option in RightNav
* Add persisted option to hide trending from sidebar
* Add to settings, abstract state, not updating in tab
* Fix up hide/show toggle state, WITH broadcast hacK
* Clean up persisted code, add new setting
* Add new interstitial to Discover
* Exploration
* First hack at mute words
* Wire up interstitial and Explore page
* Align components
* Some skeleton UI
* Handle service config, enablement, load states, update lex contract
* Centralize mute word handling
* Stale time to 30m
* Cache enabled value for reloads, use real data for service config
* Remove broadcast hack
* Remove titleChild
* Gate settings too
* Update package, rm langs
* Add feature gate
* Only english during beta period
* Hook up real data
* Tweak config
* Straight passthrough links
* Hook up prod agent
* Fix no-show logic
* Up config query to 5 min
* Remove old file
* Remove comment
* Remove stray flex_1
* Make trending setting global
* Quick placeholder state
* Limit # in sidebar, tweak spacing
* Tweak gaps
* Handle hide/show of sidebar
* Simplify messages
* Remove interstitial
* Revert "Remove interstitial"
This reverts commit 1358ad47fd.
* Only show interstitial on mobile
* Fix gap
* Add explore page recommendations
* [topics] add topic screen (#7149)
* add topic screen
* decode
* fix search query
* decode
* add server route
* Fix potential bad destructure (undefined)
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
Co-authored-by: Hailey <me@haileyok.com>
* 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
* bleed profile banner into safe area
(cherry picked from commit 50b3a4d0c6fd94b583ffe4efa65de35c81ae7f4e)
* pointer events none when hidden
(cherry picked from commit bae2c7b2dd6d7f858a98812196628308c0877755)
* fix web
(cherry picked from commit e3f9597170375f2903b6e567b963f008ec95aed1)
* add status bar shadow
* rm log
* rm mini header
* speed up animation
* pass bool rather than int in light status bar
* Refactor RightNav
(cherry picked from commit 96bb02acfd2d7452df18a0e7410e6a7169a583ed)
* Better gutter handling
* Clean up styles
* Memoize breakpoints
* Format
* Comment
* Loosen spacing, handle overflow, smaller text to match prod
* Fix circular imports on native
* Return 0 instead of undefined for easier calculations
* Re-assign
* Fix
* Port over fix from subs/base
* Space out right nav feeds, widen sidebar to match prod
* Fix lost padding on home header
* Fix perf by not actually linking to new URL
* Remove underline on focus
* Foramt
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>