* proper min index
* move keyextractor out of react
* move onSendMessage out
* don't render the flatlist conditionally
* add loader
* rework structure
* remove some unneeded logic
* Move isInitialLoad and isSwitchingAccounts out of main state
* Remove spreads, order object keys
* Track need to persist on state object
* Reoder state variables
* sentry errors for captcha web views
* include handles with errors
* log all registration request failures
* rm
* use a better trigger for web captcha errors
* add another trigger for recording a possible signup error
* unknown error type
* don't needlessly log on href errors
* honestly i probably cant always do a captcha in 20 seconds
* rm log
* timeout on back
* remove unnecessary colons
* Move types to another file
Co-authored-by: dan <dan.abramov@gmail.com>
* Move utilities out
Co-authored-by: dan <dan.abramov@gmail.com>
* Move PUBLIC_BSKY_AGENT
Co-authored-by: dan <dan.abramov@gmail.com>
* Move createPersistSessionHandler inline
Co-authored-by: dan <dan.abramov@gmail.com>
* Call configureModeration when clearing account too
This ensures that the app labelers get reset in a test environment.
Co-authored-by: dan <dan.abramov@gmail.com>
* Make guest configureModeration sync, non-guest async
* Extract isSessionExpired
Co-authored-by: dan <dan.abramov@gmail.com>
* Flip isSessionExpired condition
Co-authored-by: dan <dan.abramov@gmail.com>
* Extract agentToSessionAccount
Co-authored-by: dan <dan.abramov@gmail.com>
* Extract createAgent*
Co-authored-by: dan <dan.abramov@gmail.com>
* Simplify isSessionExpired
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* add temp `getchat` query
* properly get the other profile
* add basic header
* normalize layout on all devices
* remove unused imports, adjust style
* remove unnecessary log
* remove another log
* remove some more imports
* cleanup
* use `Button` instead in the header
* lint
* 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
* 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
* replace hailey's types
* use codegen'd types in components
* add FAB
* new chat dialog
* error + default search term
* fix typo
* fix web styles
* optimistically set chat data
* use cursor instead of last rev
* [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
* cleanup merge
* fix merge error
* disable hack
* sender-based message styles
* temporary filter
* merge cleanup
* add `hideBackButton`
* rm unneeded return
* tried to be smart
* hide go back button
* use `searchActorTypeahead` instead
---------
Co-authored-by: Hailey <me@haileyok.com>
* Update persisted schema for new source of truth, implement in existing session
(cherry picked from commit b1e5f12baee932721d66c60dd51c981b46b0c274)
* Improve toasts, log caught error, during switch account
(cherry picked from commit fe0d1507063d2e532b7b1a447670b689292d1dc3)
* Handle thrown errors from initSession during login
(cherry picked from commit 2c85c045917e923901284b9ba310a82e28f37b5c)
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* 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>
* Add files via upload
* Update messages.po
Changed the grama of string
* Update messages.po
Following the input of @niconick89.bsky.social I have added additional correction to some of the strings.
* Update catalan messages.po
New lines translated
You can check it @jordimas @darccio @ferranrego @MiquelAdell @mvdan @johnnydement @Mejans @surfdude29
* Update messages.po
Remove extra space
* Update messages.po
* WIP
* Fix constructors
* Clean up
* Tweak
* Rm extra assignment
* Narrow down the argument
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
These places include TextInput cursor, TextInput selection, and the
spinner (ActivityIndicator) --- the default Material Teal is out of
place wherever it shows up.
This sets Expo's primaryColor to #1083fe, which is the color that
defaultTheme.palette.default.brandText resolves to, then applies it as
the native accent color via a plugin because Expo doesn't apply the
accent color.
* Extract SearchHistory to a component
* Extract AutocompleteResults to a component
* Extract SearchInputBox to a component
* Add a bunch of memoization
* Optimize switching by rendering both
* Remove subdomain matching
This is only ever useful if you type it exactly correct. Search now does a better job anyway.
* Give recent search decent hitslops
* improve hit area of search text input
use text cursor on web
use a pressable instead
use a vertical padding of 9
oops
move vertical padding to `TextInput` to increase hit area
* Hide it from a11y tree, change cursor
* Hide clear on empty text
* Render either Clear or Cancel
* Remove Clear button
* Animate it
* Better animation
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Add optional momentum events to scroll context
* If there is a velocity, don't snap until momentum end
* Don't show bar on scroll down
* Rm onMomentumBegin