* dont select the text on web
* TODO REVERT THESE CHANGES
* use `usethrottledvalue` for autocomplete
* use `isFetching` from query
* rm setTimeout
* getting there
* improve functionality of cancel button
* rm todo
* add comment back
* encode `searchText` rather than `queryTerm`
* use "back" on web in some cases
* don't flash results in autocomplete
* remove unnecesary usestate
* rename everything to `query` temporarily
* revert accidental lint
* rm todo
* rm comment
* use `useFocusEffect` to update the query term on back navigation
* `searchText` is always defined here
* Fix race
* remove back functionality
* use `keepPreviousData` for query
* rename `q` to `queryParam`
* remove hack
* remove `q=` on cancel
* blur on submit
* use `setParams` instead of `replace`
* use `replace` on web still
* clear the search input when we clear `q` on native
* onPress dismiss attempt
* Adjustments
* Fix search history
* Always hide autocomplete
* Clear right pane search on select
* `blur` on autosuggestion press
* Rename to reduce diff
* Fixes
* Unify codepaths
* Fixes
* precache the autosuggestion
* do the cache in the link card
* Revert "precache the autosuggestion"
This reverts commit 79c433e984621ba4231a2a4c4b3f4690b0516b4d.
* use `throttledValue` and `keepPreviousData` in sidebar search
* show spinner when fetching pt 1
* show spinner when fetching pt 2
* show spinner properly for autocomplete
* Fix extra border
* Position fixed
* TS
* Revert "TS"
This reverts commit df187ea2d7a96d0f1832bc2392215f4d969a87c9.
* Revert "Position fixed"
This reverts commit 9c721c952b0fa4e5e4a23de38cab916ab13397e6.
* Maybe fix iPad
* Revert "TODO REVERT THESE CHANGES"
This reverts commit 279f717f3091c9df8c73ba35f9a038e12f5a1122.
* Rename var
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* delete image on each iteration of compression
* replace a few other instances of `unlink()`
* ensure that moving to the permanent path will succeed
* use `cacheDirectory`
* missing file extension?
* assert
* Remove extra .
* Extract safeDeleteAsync, fix normalization
* Normalize everywhere
* Use safeDeleteAsync in more places
* Delete .bin too
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* fix: store PDS URL for session resumption
* fix: handle a few more cases
* fix: blocking resumption should also use pds url
* refactor: do it in the construct itself
* fix: revert ce96223
* Fix link facet detection
Exclude the trailing period from the link, similar as done in the atproto package
* Fix JSON to text conversion
The trimEnd() call was only needed because we were always appending \n\n at the end. Fix that by only adding line breaks after non-final paragraphs.
* Detect paste reliably
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Update Japanese translation
- GIPHY is replaced by Tenor
- Accessibility hint for long-pressing hashtags have been changed to follow
* Translated accessibility hints related to embedded GIFs
* Translate Email 2FA related messages.
* Updated Japanese transaltion
* More update
* Update
* Add email 2fa toggle
* Add UI elements needed for 2fa codes in login
* Wire up to the server
* Give a better failure message for bad 2fa code
* Handle enter key in login form 2fa field
* Trim spaces
* Improve error message
* ios player
autoplay after recycle
remove all items from AVPlayer queue
recurururururursion
use managers in the view
add prefetch
make sure player items stay in order
add controller and item managers
start of the view
create module, ios
* android player
smoother
basic caching
prep cache
somewhat works
backup
other files
android impl
blegh
lets go
touchup
add prefetch to js
use caching
* bogus testing commit
* add dims to type
* save
* add the dimensions to the embed info
* add a new case
* add a new case
* limit this case to giphy
* use gate
* Revert "bogus testing commit"
This reverts commit b3c8751b71f7108de9aa843b22ded4e0249fa854.
* add web player base
* flip mp4/webp
* basic mp4 player for web
* move some stuff into `ExternalLinkEmbed` instead
* use a class component for web
* remove extra component
* add `onPlayerStateChange` event type on web
* layer properly
* fix tests
* add new test
* about ready. native portions done, a few touch ups on web needed
show placeholder on ios
fix type
rm log
display thumbnail until video is ready to play
add oncanplay, playsinline
remove unused method
add `isLoaded` change event
release player when finished
apply gc to the view
cleanup logs
android gc
rm log
automatic gc for assets
make `nativeRef` private
remove unnecessary `await`
cleanup
rev log
only play on prepare whenever needed
rm unused
perfperfperf
rm var
comment + android width
native height calculations
rm pressable
add event dispatcher on android
add event dispatcher on ios
* ready to test ios
fix autoplay ios
clean
oops
* autoplay on web
* normalize across all platforms
add check for `ALT:`
separate gif embed logic to another file
handle permissions requests
flatten web styles
normalize styles
normalize styles
prefetch functions
pause animatable on foreground android
nits
one more oops
idk where that code went
lint
rethink the usage
wrap up
android
clear bg
update gradle
more android
rename dir
update android namespace
web
ios
add deps
use webp
rm unused
update types
use webp on mobile
* rm gate from types
* remove unused event param
* only start placeholder op if doesn't exist in disk cache
* fix gifs animating on app resume android
* remove comment
* add `isLoaded` for ios
* add `isLoaded` to Android
* onload for web
* add visual loading state
* rm a log
* implement isloaded for android
* dialogs
* replace `webpSource` with `source`
* update prop name
* Move to Tenor for GIFs (#3654)
* update some urls
* right order for dimensions
* add GIF coder for ios
* remove giphy check
* rewrite tenor urls
* remove all the unnecessary stuff for consent
* rm print
* rm log
* check if id and filename are strings
* full size playback controls
* pass tests
* add accessibility to gifs
* use `onPlay` and `onPause`
* rm unused logic for description
* add accessibility label to the controls
* add gif into to external embed in composer
* make it optional
* gif dimensions
* make the jsx look nicer
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* properly close the switch account dialog
* use it for switch account as well
* ensure dialog is closed on unmount
Revert "properly check if the ref is null"
This reverts commit 8f563808a5d39389b0bc47a31e73cd147d1e7e8b.
properly check if the ref is null
ensure dialog is closed on unmount
* Revert "ensure dialog is closed on unmount"
This reverts commit a48548fd8ed53ae3eb08a0e05bb89f641c112b95.
* error boundary on gif picker
* add dialog.close for web users
* fix size of dialog on web
* Safer coercion
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Update Japanese translations
- Add GIPHY related messages
- Add a11y related messagges
- Update a message in empy search screen
* Updated Japanese translation.
* add dims to type
* save
* add the dimensions to the embed info
* add a new case
* add a new case
* limit this case to giphy
* use gate
* flip mp4/webp
* fix tests
* add new test