about summary refs log tree commit diff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* clear search on tab press (#3753)Hailey2024-04-291-3/+8
| | | | | * clear search on tab press * don't need to call `onPressCancelSearch`
* Improve search screen perf (#3752)dan2024-04-292-220/+293
| | | | | | | | | | | | | | | | | * 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
* Remove layout animation from search (#3751)dan2024-04-291-40/+19
|
* Increase search `TextInput` hit area and improve the related UI (#3748)Hailey2024-04-291-41/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* [iOS] Fix selecting search input on focus (#3746)dan2024-04-281-2/+8
| | | | | * Select search text on focus * Scope to iOS only
* Remove useEffect from TimeElapsed (#3741)dan2024-04-281-4/+4
|
* Remove test gating code (#3742)dan2024-04-281-77/+1
|
* Fix dropdown immediately closing on Enter (#3745)dan2024-04-282-76/+111
| | | | | | | * Move dropdown content into separate component * Fix dropdown with keyboard * No-op is sufficient
* Account for momentum when hiding minimal shell (#3740)dan2024-04-284-14/+58
| | | | | | | | | * 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
* Reduce hovercard false positives, add them to display names and handles (#3739)dan2024-04-282-36/+47
| | | | | | | * Don't trigger hovercards on scroll * Add display name / handle hovercards * Increase hovercard delay
* YouTube Music as supported player (#3736)Mary2024-04-271-1/+2
|
* ensure dialog is closed on unmount (#3650)Hailey2024-04-272-0/+81
| | | | | | | | | 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
* remove precacheThreadPostProfiles (#3729)Hailey2024-04-2717-168/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * remove `precacheThreadPostProfiles` * add `displayName` to `PreviewableUserAvatar` * memo * use `precacheProfile` * pass `profile` directly to `PreviewableUserAvatar` * update the `UserAvatar`'s props * remove feed cache * one more spot * rm unused queryClient * Don't call fn unnecessarily * Preload for display name too * try notification item * add to feeditem * and finally, precache for post threads * timestamp * Fix * onBeforePress --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* [Clipclops] New routes with placeholder screens (#3725)Samuel Newman2024-04-2718-19/+482
| | | | | | | | | | | * add new routes with placeholder screens * gate content * add filled envelope style * swap filled state * switch to `useAgent`
* Special-case bsky.app/download to open share sheet or copy to clipboard (#3710)Samuel Newman2024-04-273-7/+20
| | | | | | | | | | | * special-case bsky.app/download to share * Address feedback * Improve detection --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Improve usability of search on web (#3663)Hailey2024-04-273-170/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Move Notifications up on desktop web (#3696)dan2024-04-251-18/+18
|
* [Session] Add `useAgent` hook and replace (#3706)Eric Bailey2024-04-2553-114/+231
| | | | | | | | | | | * Hook it up * Memoize getAgent method * Use one shared reference --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* [Session] Drill `getAgent` into notifications handlers (#3705)Eric Bailey2024-04-252-4/+10
| | | | | | | | | | | * Drill into notifications handlers (cherry picked from commit 7ac9e500866732e1f2e205bbe96e70db331e5ffb) * Thread getAgent instead --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* [Session] Drill `getAgent` into `Onboarding/util` (#3704)Eric Bailey2024-04-252-4/+16
| | | | | | | | | | | * Drill agent into Onboarding/util (cherry picked from commit 2ba68eb5e446a694730b720f2a5b3307eb0914ef) * Thread getAgent instead --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* [Session] Drill `getAgent` into `notifications/utils` (#3703)Eric Bailey2024-04-253-9/+16
| | | | | | | | | | | * Drill into notifications/util (cherry picked from commit 84b535ed54f4fe93debcd198809bb184519c3507) * Thread getAgent instead --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* [Session] Drill into `getAgent` into `whenAppViewReady` (#3702)Eric Bailey2024-04-252-20/+45
| | | | | | | | | | | * Drill into whenAppViewReady (cherry picked from commit e290e5be3df509bdd9d0e626a164996c9dee3636) * Drill getAgent instead --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* [Session] Drill `getAgent` into feed APIs (#3701)Eric Bailey2024-04-258-65/+202
| | | | | | | | | | | * Update to desired post-feed usage * Drill agent into feed apis * Thread getAgent instead --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Irish translation back to 100% (#3683)Kevin Scannell2024-04-251-1925/+693
|
* [Session] Base (#3541)Eric Bailey2024-04-255-5/+14
| | | | | * Add readLastActiveAccount to use accounts[] as source of truth * Add public service constant, use
* remove use of `pointerEvents` on iOS profile header (#3694)Hailey2024-04-254-18/+31
|
* Cleanup files after each iteration of compression and downloading (#3599)Hailey2024-04-252-29/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Ignore image responses on non-200 status (#3693)dan2024-04-241-5/+11
| | | | | * Ignore image responses on non-200 status * Fix tests
* Persist PDS URL for session resumption (#3620)Mary2024-04-242-4/+21
| | | | | | | | | | | * 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
* Remove Moderation from sidebar (#3692)dan2024-04-243-113/+68
|
* Remove old Suggested Follows logic (#3689)dan2024-04-243-87/+2
|
* Rewrite the link detection (#3687)dan2024-04-243-87/+110
| | | | | * Rewrite the link detection * Handle parens and colons
* Remove unnecessary `.trimEnd()` and fix facet detection (#3672)Hailey2024-04-242-12/+23
| | | | | | | | | | | | | | | * 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>
* Remove old old onboarding (#3674)Eric Bailey2024-04-2310-1196/+8
|
* Disable autoplay by default if prefers-reduced-motion (#3671)dan2024-04-232-2/+8
|
* Add option to remove quoted post in composer (#3670)Samuel Newman2024-04-242-5/+47
| | | | | * add option to remove quoted post * add generous hitslop
* Add border radius to GIF loading state (#3669)Samuel Newman2024-04-231-0/+1
|
* use mp4 over webm (#3666)Hailey2024-04-231-2/+11
| | | | | | | * use mp4 over webm * tinymp4 * safari only
* Release 1.79 (#3661)Paul Frazee2024-04-2317-6086/+8591
| | | | | * Update tests * Intl exract
* Update Japanese translation (#3656)Takayuki KUSANO2024-04-231-33/+86
| | | | | | | | | | | | | | | | * 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
* [Statsig] Add test gates and events (#3659)dan2024-04-233-1/+89
| | | | | * [Statsig] Add test gates and events * Better types
* Quick fix to ensure disable 2fa dialog adjusts to keyboard (#3658)Paul Frazee2024-04-221-1/+2
|
* Email auth factor (#3602)Paul Frazee2024-04-228-19/+350
| | | | | | | | | | | | | | | * 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
* GIF Viewer (#3605)Hailey2024-04-237-149/+320
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Ungate profile scroll fix (#3655)dan2024-04-232-21/+4
|
* rm country param (#3653)Samuel Newman2024-04-231-4/+0
|
* [GIFs] Remove consent flow (#3652)dan2024-04-232-104/+23
| | | | | * Remove tenor from settings * Remove consent flow
* [GIFs] Replace GIPHY with Tenor (#3651)Samuel Newman2024-04-226-335/+220
| | | | | | | | | * replace GIPHY with Tenor * remove "directly" wording * replace GIPHY wording * remove log
* properly close the switch account dialog (#3558)Hailey2024-04-222-22/+13
| | | | | | | | | | | | | | | | | | | * 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.
* [GIFs] Reset scroll on query change (#3642)Samuel Newman2024-04-222-11/+18
| | | | | | | * scroll list to top on query change * dismiss keyboard on swipe list * don't need an effect