* 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>
* add ffmpeg-kit-react-native
* get select video button + compression working
* up res to 1080p
* add progress component
* move logic out of compressVideo
* (WIP) add lonestar compression
* rework web compression a bit
* mess around with adding a thumbnail
* 3mbps
* replace
* use 3mbps
* add expo-video
* remove unnecessary try/catch
* rm ToastAndroid
* fix web
* wrap lazy component in suspense
* gate video select button
* rm web compression
* flip sign
* remove expo-video from web
* review nits
* add video picker permissions + rm temp buttons
* add ffmpeg-kit-react-native
* replace
* hls-capable player
* start trying to hoist up video player instance
* hoist video player and move things around
* always show native controls
* fix controls on expo video android
* gate temp video player in feed
* rm IS_DEV, doesn't do what I thought it did
* use __DEV__ instead
---------
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
Co-authored-by: Hailey <me@haileyok.com>
* Add the animated checkmark svg
* Add progress guide list and task components
* Add ProgressGuide Toast component
* Implement progress-guide controller
* Add 7 follows to the progress guide
* Wire up action captures
* Wire up progress-guide persistence
* Trigger progress guide on account creation
* Clear the progress guide from storage on complete
* Add progress guide interstitial, put behind gate
* Fix: read progress guide state from prefs
* Some defensive type checks
* Create separate toast for completion
* List tweaks
* Only show on Discover
* Spacing and progress tweaks
* Completely hide when complete
* Capture the progress guide in local state, and only render toasts while guide is active
* Fix: ensure persisted hydrates into local state
* Gate
---------
Co-authored-by: Eric Bailey <git@esb.lol>
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* 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>
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
Co-authored-by: Eric Bailey <git@esb.lol>
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* Add KnownFollowers component to standard profile header
* Prep for known followers screen
* Add known followers screen
* Tighten space
* Add pressed state
* Edit title
* Vertically center
* Don't show if no known followers
* Bump sdk
* Use actual followers.length to show
* Updates to show logic, space
* Prevent fresh data from applying to cached screens
* Tighten space
* Better label
* Oxford comma
* Fix count logic
* Add bskyweb route
* Useless ternary
* Minor spacing tweak
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Update types
(cherry picked from commit 27deac1f367825771ba76fa098ec1b0a62dcf64a)
* Integrate into deactivate dialog
(cherry picked from commit 84f299a447259cc1fbfc7be607e28197779e4ec1)
* Integrate into Deactivated screen
(cherry picked from commit 29193f34822ecdf11e2a407197fa230285dfe846)
* Bump api sdk
(cherry picked from commit 738c622d3e5a23bfbb0d3bdce3a6bdf01e54ca60)
* Update permalink
(cherry picked from commit c10bf5c071d76c3054bc4ce9d313c10b1820f038)
* Bump sdk pkg
* Update types to match backend
* Loosen types for forwards compat
* Hydrate status from persisted data
* Refresh session when re-activating, clear query cache
* Show app password error
* Refactor dialog to clear state when closed
* Add app password error to Deactivated screen
* add send via chat button to post dropdown
(cherry picked from commit d8458c0bc344f993266f7bc7e325d47e40619648)
* let usePostQuery take uris with DIDs
(cherry picked from commit 16b577ce749fd07e1d5f8461e8ca71c5b874a936)
* add embed preview in composer
(cherry picked from commit 795ceb98d55b6a3ab5b83187a582f9656d71db69)
* rm log
(cherry picked from commit 374d6b8869459f08d8442a3a47d67149e8d9ddd4)
* remove params properly, or at least as close to
(cherry picked from commit c20e0062c2ca4d9c2b28324eee5e713a1a3ab251)
* show images in preview
(cherry picked from commit 5bb617a3ce00f67bfc79784b2f81ef8dcb5bfc25)
* Register embed immediately
(cherry picked from commit ee120d5438a2c91c8980288665576d6a29b4c7e7)
* Add hover to match embeds
(cherry picked from commit 5297a5b06e499f46a9f6da510124610005db2448)
* Update post dropdown copy
(cherry picked from commit bc7e9f6a4303926a53c5c889f1f1b136faf20491)
* Embed preview style tweaks
(cherry picked from commit 9e3ccb0f25ac2f3ce6af538bb29112a3e96e01b1)
* use hydrated posts from API and just use postembed component
(cherry picked from commit cc0b84db87ca812d76cc69f46170ae84cfdde4ef)
* fix type error
(cherry picked from commit 9c49b940e1248e8a7c3b64190c5cb20750043619)
* undo needless export
(cherry picked from commit 1186701c997c50c0b29a809637cb9bc061b8c0a0)
* fix overflow
(cherry picked from commit 8868d5075062d0199c8ef6946fabde27e46ea378)
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* add checkbox to create privileged app password
* add indicator to privileged app pwds to list
* bump api
* oops missed the yarnlock
* adjust modal padding
* lowercase
* one more lowercase
---------
Co-authored-by: Hailey <me@haileyok.com>
* Install babel-plugin-react-compiler
* Install eslint-plugin-react-compiler
* Add and configure react-compiler-runtime
React Compiler uses a small cache function from React 19 at runtime.
Until it's possible to use R19 on RN, this adds a userspace
implementation to polyfill the cache function
* Add eslint-plugin-react-compiler to config
* @lingui/macro should run as the first plugin
@lingui recommends running their `macro` plugin [first in the
pipeline](https://lingui.dev/ref/macro). Normally with the React
Compiler, the compiler plugin should run first as we want to see the
original code as it was written. However, this sometimes causes
conflicts with other babel plugins.
In this case, it looks like the @lingui/macro plugin does some very
light transformation that the compiler can still understand and compile
correctly, so let's run it first.
Before this commit, the compiler would cause the @lingui/macro plugin to
crash because it seems like it would strip off the `extra.raw` property
off of StringLiterals which was being used
[here](1293412c5d/packages/macro/src/macroJsx.ts (L395)).
I need to figure out why the compiler is doing that but for now this
works and should be a safe change unless there were specific reasons
the macro plugin was placed 2nd to last.
* Revert "[🐴] Ensure keyboard gets dismissed when leaving screen (#4104)"
This reverts commit 3ca671d9aa.
* getting somewhere
* remove some now nuneeded code
* fully implement keyboard controller
* onStartReached check
* fix new messages pill alignment
* scroll to end on press
* simplify pill scroll logic
* update comment
* adjust logic on when to hide the pill
* fix backgrounding jank
* improve look of deleting messages
* add double tap on messages
* better onStartReached logic
* nit
* add hit slop to the gesture
* better gestures for press and hold
* nits
* remove library
* implement using just reanimated
* always return false for `keyboardIsOpening` on web
* undo comment
* handle input focus scroll more elegantly
* add back minimal shell toggle on mobile web
* adjust initialnumtorender
* oops
* nit
* show labels placed on your content even if it's a self-label
even friendlier wording
friendlier wording
remove unnecessary `export`
temp revert reordering
show labels placed on your content even if it's a self-label
* Bump api 0.12.9
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Onboarding avatar creator or upload (#2860)
* add screen to onboarding flow
* update base
* add icon
* fix icon
* fix after merge
* create flatlist
* add emoji list
* add state context, pressables
* select/update
* add camera icon
* add photo selection button
* image selection
* cleanup
* add most needed icons
* fix icon naming
* add icons
* export path strings for emoji
* canvas drawing for web
* types
* move breakpoints to individual steps
* create canvas
* canvas working 🎉
* update state
* it works!
* working on both platforms
* remove comments
* remove log
* remove unused web canvas
* animate picture selection/removal
* compress images on web correctly
* add times icon
* scrollable horizontal flatlist on web
* prefetch
* adjustments
* add more assets
* remove unused smiles
* add all the icons
* adjust color options
* animate grow/shrink selections
* change layout on tablet/desktop
* better web layout
* fix path
* adjust web layout
* organize
* organize imports and cleanup styles
* make generated images smaller
* implement design changes
use row for buttons on web
use RNGH FlatList
random color at start
improve logic
update dialog for web
update dialog style on mobile
some more progress
create dialog
simplify context
start implementing design
* rm change
* cleanup imports
* trigger a pr label
* Formatting
---------
Co-authored-by: Eric Bailey <git@esb.lol>
(cherry picked from commit 087186e3867b0eefb11a056b0b644f5585fa16bd)
* UI tweaks
* Revert layout change
* Gate avi upload
* Support returning to profile step
* Add Statsig
---------
Co-authored-by: Hailey <me@haileyok.com>
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>