about summary refs log tree commit diff
path: root/src/view
Commit message (Collapse)AuthorAgeFilesLines
...
* | remove `hide_vertical_scrollbars` test (#3855)Hailey2024-05-064-27/+1
| |
* | show spinner when preferences has not loaded yet (#3756)Hailey2024-05-061-3/+3
| |
* | Alt text for gifs (#3876)Samuel Newman2024-05-067-44/+339
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add alt text dialog * multiline alt text input * add pressable alt text badge * rename `ALT: ` to `Alt text: ` to avoid including old bad ones * reuse alt text reminder * reuse alt text reminder in gallery * add alt text reminder in the dialog itself * autofocus text input * reorder components to fix tab order * fix close btn position
* | [🐴] Finalize web message screen (#3868)Hailey2024-05-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add `onStartReached` to web list * fix `rootMargin` * Add `contain`, handle scroll events * improve types, fix typo * simplify * adjust `scrollToTop` and `scrollToOffset` to support `contain`, add `scrollToEnd` * rename `handleWindowScroll` to `handleScroll` * support basic `maintainVisibleContentPosition` * rename `contain` to `containWeb` * remove unnecessary `flex: 1` * add missing props * add root prop to `Visibility` * add root prop to `Visibility` * revert adding `maintainVisibleContentPosition` * remove unnecessary wrapper * add style * oops * maintain position for web * always apply `flex: 1` to styles when contained * add a contained list to storybook * make `onScroll` a worklet in storybook * revert test code * remove unnecessary `flex: 1`
* | Further align web `List` with `FlatList`, add `contain` mode to web list ↵Hailey2024-05-064-85/+310
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implementation (#3867) * add `onStartReached` to web list * fix `rootMargin` * Add `contain`, handle scroll events * improve types, fix typo * simplify * adjust `scrollToTop` and `scrollToOffset` to support `contain`, add `scrollToEnd` * rename `handleWindowScroll` to `handleScroll` * support basic `maintainVisibleContentPosition` * rename `contain` to `containWeb` * remove unnecessary `flex: 1` * add missing props * add root prop to `Visibility` * add root prop to `Visibility` * revert adding `maintainVisibleContentPosition` * oops * always apply `flex: 1` to styles when contained * add a contained list to storybook * make `onScroll` a worklet in storybook * revert test code * add scrolling to storybook * simplify getting scrollable node * nit: extra whitespace * nit: random comment * foolproof the logic * typecheck
* | Fix `IntersectionObserver` `rootMargin` in web `List` implementation, add ↵Hailey2024-05-051-8/+30
| | | | | | | | | | | | | | `onStartReached` (#3866) * add `onStartReached` to web list * fix `rootMargin`
* | add bundle identifiers to app-info (#3861)Hailey2024-05-041-19/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | * add bundle identifiers to `app-info` * add them to the `.env.example` * add environment variables for docker build * add environment variables for native builds and bundles * also include the hour in bundle date * organize app info better in settings
* | Assorted clipclop fixes (#3853)Samuel Newman2024-05-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * empty state for new chat dialog * use terniary * dark mode pending state * copy message text option * fix service url input (scrollview ftw) * whoops, fix equality * slightly reduce horizontal message padding
* | make service url gate friendlier (#3841)Samuel Newman2024-05-031-24/+0
| |
* | Improve account switcher pending state (#3827)dan2024-05-021-59/+60
| | | | | | | | | | | | | | | | | | * Protect against races * Reduce UI jank when switching accounts * Add pending state to selected account * Disable presses while pending
* | Only run "disable min shell on foregrounding" behaviour if on the home ↵Samuel Newman2024-05-021-14/+16
| | | | | | | | | | | | | | screen (#3825) * change useEffect to useFocusEffect * v2 -> v3
* | [Session] Extract selectAccount out (#3812)dan2024-05-021-6/+26
| |
* | Allow unmuting and unblocking of curate lists, but not the opposite (#3817)Eric Bailey2024-05-021-15/+9
| |
* | Add kawaii mode (#3773)Samuel Newman2024-05-015-17/+81
| |
* | Performance improvements: structural sharing & moderation opts context (#3785)Paul Frazee2024-04-3011-26/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | * Fix: correctly apply structural sharing to preferences object * Move moderation opts into a context * Fix import * Remove log * Pass userdid directly * Pass moderationPrefs directly
* | [Clipclops] Add clop sent time to clipclop (#3772)Samuel Newman2024-04-301-2/+6
| | | | | | | | | | * add message sent time to message * fix last message in group logic
* | [Clipclops] Use API data for clipclop list (#3769)Samuel Newman2024-04-301-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* | [Clipclops] New clipclop dialog (#3750)Samuel Newman2024-04-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* | [Clipclops] Add screen to view and send clip clops (#3754)Hailey2024-04-292-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* | Fix List onMomentumScrollEnd (#3759)dan2024-04-292-33/+43
| |
* | 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-281-63/+87
| | | | | | | | | | | | | | * Move dropdown content into separate component * Fix dropdown with keyboard * No-op is sufficient
* | Account for momentum when hiding minimal shell (#3740)dan2024-04-282-13/+51
| | | | | | | | | | | | | | | | | | * 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-281-31/+34
|/ | | | | | | * Don't trigger hovercards on scroll * Add display name / handle hovercards * Increase hovercard delay
* ensure dialog is closed on unmount (#3650)Hailey2024-04-271-0/+75
| | | | | | | | | 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-2712-93/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-274-16/+94
| | | | | | | | | | | * add new routes with placeholder screens * gate content * add filled envelope style * swap filled state * switch to `useAgent`
* Improve usability of search on web (#3663)Hailey2024-04-272-168/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-2514-52/+71
| | | | | | | | | | | * 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-251-3/+6
| | | | | | | | | | | * Drill into notifications handlers (cherry picked from commit 7ac9e500866732e1f2e205bbe96e70db331e5ffb) * Thread getAgent instead --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* remove use of `pointerEvents` on iOS profile header (#3694)Hailey2024-04-251-10/+15
|
* Remove Moderation from sidebar (#3692)dan2024-04-243-113/+68
|
* Remove old Suggested Follows logic (#3689)dan2024-04-241-61/+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-239-1195/+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
|
* [Statsig] Add test gates and events (#3659)dan2024-04-231-1/+77
| | | | | * [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-224-14/+285
| | | | | | | | | | | | | | | * 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-235-125/+297
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-231-20/+4
|