about summary refs log tree commit diff
path: root/src/view
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* [GIFs] Remove consent flow (#3652)dan2024-04-231-15/+19
| | | | | * Remove tenor from settings * Remove consent flow
* [GIFs] Replace GIPHY with Tenor (#3651)Samuel Newman2024-04-222-9/+10
| | | | | | | | | * replace GIPHY with Tenor * remove "directly" wording * replace GIPHY wording * remove log
* [GIFs] Add error boundary to GIF picker (#3643)Samuel Newman2024-04-221-3/+9
| | | | | | | | | | | | | * 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>
* Revert "Add layout transitions to the composer photo gallery on iOS (#3609)" ↵Samuel Newman2024-04-222-27/+10
| | | | | (#3649) This reverts commit 1a5b8b2c94ce1e66bff7e7295b799ae5b0613988.
* remove unnecessary padding from the right hand side of the post in threaded ↵Hailey2024-04-221-1/+0
| | | | (#3645)
* Search in PWI (#3628)dan2024-04-201-92/+52
|
* Top/Latest for hashtags (#3625)dan2024-04-191-13/+38
| | | | | | | * Split HashtagScreen into two components * Hashtag tabs * Visual fixes
* Player improvement pre-reqs (#3618)Hailey2024-04-191-18/+29
| | | | | | | | | | | | | | | | | | | | | * 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
* Add disable autoplay preference and group related settings into a dedicated ↵Samuel Newman2024-04-193-79/+199
| | | | | | | | | | | | | | | page (#3626) * add autoplay preference * group accessibility settings into a dedicated page * fix gray background on web * Put a11y first --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Ungate Top/Latest search (#3627)dan2024-04-191-67/+38
|
* [Statsig] Update experiments (#3617)dan2024-04-193-19/+23
|
* align center post meta in threaded (#3615)Hailey2024-04-192-3/+11
| | | | | | | | | * align center post meta in threaded * put `displayNameStyle` in correct place * maybe? * with mobile padding too?
* add dimensions to data (#3616)Hailey2024-04-181-1/+1
| | | | | | | | | * add dimensions to data * keep alt text * put it in the right url * just send the original height and width instead
* Add GIF select to composer (#3600)Samuel Newman2024-04-196-92/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * create dialog with flatlist in it * use alf for composer photos/camera/gif buttons * add gif icons * focus textinput on gif dialog close * add giphy API + gif grid * web support * add consent confirmation * track gif select * desktop web consent styles * use InlineLinkText instead of Link * add error/loading state * hide sideborders on web * disable composer buttons where necessary * skip cardyb and set thumbnail directly * switch legacy analytics to statsig * remove autoplay prop * disable photo/gif buttons if external media is present * memoize listmaybeplaceholder * fix pagination * don't set `value` of TextInput, clear via ref * remove console.log * close modal if press escape * pass alt text in the description * Fix typo * Rm dialog --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Add layout transitions to the composer photo gallery on iOS (#3609)Samuel Newman2024-04-182-10/+27
| | | | | | | | | * add layoutanimation + transition to images * make iOS-only * use useLayoutEffect * make iOS only (again)
* [Statsig] Make gate checks lazily (#3594)dan2024-04-189-36/+39
|
* don't underline handle in post meta (#3591)Hailey2024-04-182-31/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * alignment remove the unnecessary styles now seriously? flex-end everything flex shrink test test rm unneeded flex flex the text don't underline handle in post meta * use `paddingLeft` * use `paddingLeft` but with `4` * Fix overflow color * Use nbsp to make mobile work --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Add hovercards to "Reply To" (#3587)dan2024-04-162-12/+17
| | | | | * Add hovercard for Reply To * Tweak durations
* Automatically add a link card for URLs in the composer (#3566)Hailey2024-04-164-79/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * automatically add a link card for urls in the composer simplify was paste check use a set simplify the cross platform reuse web implementation remove log pasting in the middle of a block of text proper regex dont re-add immediately after paste and remove don't use `byteIndex` lfg automatically add link card * `mayBePaste` * remove accidentally pasted url from comment
* Use the existing `ExternalLinkEmbed` for embed previews in the composer (#3579)Hailey2024-04-161-85/+63
| | | | | * use existing `ExternalLinkEmbed` for showing previews * cleanup
* Allow a post to contain only a quote (#3577)Hailey2024-04-161-1/+6
| | | | | * allow posts with only a quote * bump version while we're at it
* Hide translate/copy text options when `!no-unauthenticated` (#3573)Samuel Newman2024-04-161-17/+21
| | | | | | | | | * hide translate/copy text options when no-pwi * only do this for no-unauth * always show if logged in * swap order of OR
* Improve the language behaviors around the PWI (#3545)Paul Frazee2024-04-131-1/+7
| | | | | | | | | * Handle leftnav overflow with longer languages' copy * Update the language dropdown to set ALL language prefs * Add hackfix to language cachebusting on PWI * Reset feeds on language change
* fix: only close drawer if directly tapping backdrop (#3534)Mary2024-04-141-7/+13
|
* Cache DID and profile basic on profile card presses (#3523)Hailey2024-04-131-2/+14
| | | | | | | | | | | * cache profiles add onPress back rm log cache profile and did when pressing profile card * minimal diff
* Remove extra wrapper on notification user links (#3548)Hailey2024-04-131-24/+23
|
* Increase hit slop for web's app language picker (#3535)Mary2024-04-131-1/+3
| | | | | | | | | * fix: make app language picker tap region larger * fix: add right padding on drawer signup card noticeable on portuguese language * fix: mimic hitSlop
* Profile hovers (#3518)Eric Bailey2024-04-132-38/+47
| | | | | | | | | * Add hover card for mentions * Reposted by * Fix key * Add to composer reply to
* [Embeds] "Embed post" post dropdown option (#3513)Samuel Newman2024-04-132-1/+31
| | | | | | | | | | | | | | | | | | | | | | | | | * add embed option to post dropdown menu * put embed post button behind a gate * increase line height in dialog * add gate to gate name union * hide embed button if PWI optout * Ungate embed button * Escape HTML, align implementations * Make dialog conditionally rendered * Memoize EmbedDialog * Render dialog lazily --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* cache fix for search post results (#3520)Hailey2024-04-121-21/+32
|
* android: fix navigation bar always being bright even in dark mode (#3464)Kisaragi Hiu2024-04-121-0/+10
| | | | | | | | | | | | Right now both light mode and dark mode get light navigation bar, and looks jarring in the dark modes. This commit applies a more appropriate color before the UI thread runs (in app config), as well as applying the current theme background after the UI shell is mounted. This should fix #3332. Co-authored-by: Hailey <me@haileyok.com>
* Remove vertical scrollbars from views on native (#3429)Hailey2024-04-126-50/+86
| | | | | | | | | | | | | * remove vertical scrollbars * add to a few missing lists * gate this change * use `hide_vertical_scroll_indicators` * fix gate lint * fix bool
* Profile card hover preview (#3508)Eric Bailey2024-04-126-133/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat: initial user card hover * feat: flesh it out some more * fix: initialize middlewares once * chore: remove floating-ui react-native * chore: clean up * Update moderation apis, fix lint * Refactor profile hover card to alf * Clean up * Debounce, fix positioning when loading * Fix going away * Close on all link presses * Tweak styles * Disable on mobile web * cleanup some of the changes pt. 1 * cleanup some of the changes pt. 2 * cleanup some of the changes pt. 3 * cleanup some of the changes pt. 4 * Re-revert files * Fix handle presentation * Don't follow yourself, silly * Collapsed notifications group * ProfileCard * Tree view replies * Suggested follows * Fix hover-back-on-card edge case * Moar --------- Co-authored-by: Mary <git@mary.my.id> Co-authored-by: Hailey <me@haileyok.com>
* Enable updates for `production` behind `receive_updates` gate (#3496)Hailey2024-04-121-0/+3
| | | | | | | | | | | * add gate type * gate the updates * enable updates in `production` * web placeholder for `useOTAUpdates()` * update comment
* Remove report post option from PWI (#3510)Paul Frazee2024-04-121-21/+25
|
* PWI improvements (#3489)Paul Frazee2024-04-1213-428/+216
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Enable home and feeds on the PWI * Add global SigninDialog to drive useRequireAuth() * Tweak desktop styles * Make the logo in leftnav PWI a clickable home link * Add label * Improve dialog on web * Fix query key * Go to home after signout from settings screen * Filter out feeds from the discover listing for logged out users which are known to break without auth * Update profile header follow/subscribe to give signin prompt * Show profile feeds tabs on pwi * Add language selector to account creation footer and pwi left nav desktop --------- Co-authored-by: dan <dan.abramov@gmail.com>
* Store QP authors in the DID cache (#3509)Hailey2024-04-121-17/+26
| | | | | | | | | * store qp author in did cache * organize * this seems nicer * move outside of jsx
* Fix: dont let notifications count go behind the icon (#3505)Paul Frazee2024-04-121-1/+1
|
* QT Jump Pt. 2 - Remove code duplication (#3506)Hailey2024-04-121-38/+32
| | | | | * remove code duplication * now it's safe to remove shimmer
* Use getSuggestions endpoint behind the gate (#3499)dan2024-04-121-4/+61
| | | | | | | | | * Move suggested follows out of the component * Add new suggestions implementation * Put new endpoint behind the gate * Make bottom less weird
* Make bio area scrollable on iOS (#2931)Hailey2024-04-113-48/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix dampen logic prevent ghost presses handle refreshes, animations, and clamps handle most cases for cancelling the scroll animation handle animations save point simplify remove unnecessary context readme apply offset on pan find the RCTScrollView send props, add native gesture recognizer get the react tag wrap the profile in context create module * fix swiping to go back * remove debug * use `findNodeHandle` * create an expo module view * port most of it to expo modules * finish most of expomodules impl * experiments * remove refresh ability for now * remove rn module * changes * cleanup a few issues allow swipe back gesture clean up types always run animation if the final offset is < 0 separate logic update patch readme get the `RCTRefreshControl` working nicely * gate new header * organize
* Improve Android haptic, offer toggle for haptics in the app (#3482)Hailey2024-04-116-157/+140
| | | | | | | | | | | | | | | * improve android haptics, offer toggle for haptics * update haptics.ts * default to false * simplify to `playHaptic` * just leave them as `feedInfo` * use a hook for `playHaptic` * missed one of them
* Search - only enable queries once tab is active (#3471)Samuel Newman2024-04-101-11/+47
| | | | | | | * only enable queries once tab is active * remove hasBeenTrue hook * make enabled optional
* [Statsig] Typecheck gates (#3467)dan2024-04-101-2/+2
| | | | | | | * Typecheck gates * Lint against untyped useGate() * Alphabetic
* Search - extra tabs (#3408)Samuel Newman2024-04-101-15/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | * add extra tab to search and translate tab names * add feature gate * flatten pager children * Revert "flatten pager children" This reverts commit 0050d42558c2c9b7bc4f2ad2df4ae2908fa26f65. * have pager children as array * move gate to custom hook * bundle titles and pages together * remove comment * Fix a crash * Use Views as children --------- Co-authored-by: dan <dan.abramov@gmail.com>
* [Statsig] Instrument feed display (#3455)dan2024-04-093-15/+65
| | | | | * [Statsig] Instrument feed display * Back out leftover change
* Small logic cleanups (#3449)Eric Bailey2024-04-092-4/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Small logic cleanups * Small logic cleanups (#3451) * remove a few things * oops * stop swallowing the error * queue callbacks * oops * log error if caught * no need to be nullable * move isClosing=true up * reset `isClosing` and `closeCallbacks` on close completion and open * run queued callbacks on `open` if there are any pending * rm unnecessary ref and check * ensure order of calls is always correct * call `snapToIndex()` on open * add tester to storybook --------- Co-authored-by: Hailey <me@haileyok.com>
* Use ALF for the embed consent modal (#3336)Samuel Newman2024-04-095-273/+131
|