about summary refs log tree commit diff
path: root/src/view/com
Commit message (Collapse)AuthorAgeFilesLines
* Optimistic hidden replies (#4977)Eric Bailey2024-08-234-76/+39
|
* Make settings account buttons a little nicer (#4980)Eric Bailey2024-08-221-36/+42
| | | | | | | | | | | * Replace account dropdown with Menu * Replace card row and add interaction state * Remove testID copy pasta * Sanitize handle * Remove hover from row
* Fix fixed footer experiment (#4969)dan2024-08-221-12/+41
| | | | | | | | | | | | | | | | | * Split minimal shell mode into headerMode and footerMode For now, we'll always write them in sync. When we read them, we'll use headerMode as source of truth. This will let us keep footerMode independent in a future commit. * Remove fixed_bottom_bar special cases during calculation This isn't the right time to determine special behavior. Instead we'll adjust footerMode itself conditionally on the gate. * Copy-paste setMode into MainScrollProvider This lets us fork the implementation later just for this case. * Gate footer adjustment in MainScrollProvider This is the final piece. Normal calls to setMode() keep setting both header and footer, but MainScrollProvider adjusts the footer conditionally.
* Fetch it (#4974)Eric Bailey2024-08-221-4/+2
|
* Prep threadgate shadow hack (#4970)Eric Bailey2024-08-213-21/+22
| | | | Co-authored-by: Hailey <me@haileyok.com>
* Detached QPs and hidden replies (#4878)Eric Bailey2024-08-2113-80/+564
| | | | Co-authored-by: Hailey <me@haileyok.com>
* Show quote posts (#4865)Samuel Newman2024-08-216-9/+200
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * show quote posts * fix filter * fix keyExtractor * move likedby and repostedby to new file structure * use modern list component * remove relative imports * update quotes count after quoting * call `onPost` after updating quote count * Revert "update quotes count after quoting" This reverts commit 1f1887730a210c57c1e5a0eb0f47c42c42cf1b4b. * implement * update like count in quotes list * only add `onPostReply` where needed * Filter quotes with detached embeds * Bump SDK * Don't show error for no results --------- Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com> Co-authored-by: Hailey <me@haileyok.com> Co-authored-by: Eric Bailey <git@esb.lol>
* Add `list hidden` screen (#4958)Hailey2024-08-204-239/+32
| | | | | Co-authored-by: Hailey <me@haileyok.com> Co-authored-by: Eric Bailey <git@esb.lol>
* Fix orphaned feed slices, handle blocks (#4944)Eric Bailey2024-08-192-3/+20
| | | | | | | | | | | * Fix orphaned feed slices, handle blocks * Revert to filerting out orphan threads * Support NotFoundPost views too * Just kidding, use ReplyRef.root as source of grandparent data * Fixes
* Move global "Sign out" out of the current account row (#4941)dan2024-08-152-23/+39
| | | | | | | | | | | | | | | | | | | | | | | * Rename logout to logoutEveryAccount * Add logoutCurrentAccount() * Make all "Log out" buttons refer to current account Each of these usages is completely contextual and refers to a specific account. * Add Sign out of all accounts to Settings * Move single account Sign Out below as well * Prompt on account removal * Add Other Accounts header to reduce ambiguity * Spacing fix --------- Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* swap control files (#4936)Samuel Newman2024-08-144-592/+579
| | | Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* [Video] set audio category to ambient every time a new player is made (#4934)Samuel Newman2024-08-143-1/+11
| | | | | | | | | | | | * set auto category to ambient every time a new player is made * mute on foregrounding * remember previous state --------- Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com> Co-authored-by: Hailey <me@haileyok.com>
* [Video] Try/catch video play/pause (#4930)Samuel Newman2024-08-132-7/+21
| | | Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* [Video] Fix crash when switching tabs (#4925)Hailey2024-08-121-19/+4
|
* [Video] Invert usage of `setAudioActive` (#4924)Hailey2024-08-121-2/+2
|
* Fix Android composer cursor bug by removing `setTimeout` from native ↵Hailey2024-08-121-57/+45
| | | | composer `onChangeText` (#4922)
* Improve styles (#4916)Minseo Lee2024-08-115-13/+4
| | | | Co-authored-by: Hailey <me@haileyok.com>
* Mark string for localization (#4920)surfdude292024-08-111-1/+4
|
* [Video] Resume background audio whenever muting video audio (#4915)Hailey2024-08-091-3/+3
|
* [Videos] Add error boundary to native (#4914)Samuel Newman2024-08-103-64/+116
| | | | | | | | | * move error fallback to own component * use error boundary on native --------- Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* [Videos] handle app backgrounding (#4912)Samuel Newman2024-08-091-7/+36
| | | | | | | | | | | | | * play when returning from background * play when unfullscreening * play when entering fullscreen, just to be sure * state -> ref --------- Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* animate controls + fade out time after a while (#4913)Samuel Newman2024-08-091-28/+40
| | | Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* [Video] More tweaks to `AVAudioSession` options (#4910)Hailey2024-08-091-6/+15
|
* [Video] Prevent pausing of background audio with `expo-video` on iOS (#4908)Hailey2024-08-091-2/+14
| | | | | | | | | | | | | | | | | * audio mixing pref * lint * patch expo video to add enter/exit fullscreen events * rm logs * fix audio problems * toggle mute when enter/exiting fullscreen --------- Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* [Video] more minor tweaks (#4906)Samuel Newman2024-08-091-9/+67
| | | | | | | | | | | | | * 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>
* [Video] Bundle of minor tweaks (#4904)Samuel Newman2024-08-093-31/+45
| | | | | | | | | | | | | * fix bg color * unique video urls for debug * improve controls slightly * mute until fullscreen --------- Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* Show just-posted replies above OP replies (#4901)dan2024-08-083-7/+32
| | | | | | | | | * Unify onPostReply handler * Show just-posted replies above OP replies * Only do this for the highlighted post or thread mode It's confusing to have your post displace OP thread or other people's leaf posts.
* Remove show_avi_follow_button (#4900)Eric Bailey2024-08-081-3/+1
|
* Remove native_pwi_disabled (#4896)Eric Bailey2024-08-081-48/+2
| | | | | * Remove native_pwi_disabled * Remove search button
* Fix overflow on posts (#4899)Samuel Newman2024-08-085-11/+12
| | | | | | | | | | | | | | | | | * overflow posts, via contentHider * margin->padding for a bit more leeway * overflow notifications * overflow on header * revert from contenthider, put on text in all places * fix zalgo text in handle in composer --------- Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* Move onPressReply into child component (#4898)dan2024-08-082-11/+29
| | | | | * Move ComposePrompt to post-thread/ * Move onPressReply into child component
* Remove ungroup_follow_backs gate (#4893)Eric Bailey2024-08-081-3/+1
|
* Remove unnecessary state update for reply gate (#4897)dan2024-08-081-12/+36
| | | | | | | * Move mobile compose prompt to inner component * Make canReply computed * Use same clamp we use elsewhere
* Cleanup flags (#4891)dan2024-08-082-12/+3
| | | | | * Remove launched gates * Remove disabled gates
* ALF suggested follows in profile header (#4828)Eric Bailey2024-08-081-229/+150
| | | | | | | | | * Refactor ProfileHeaderSuggestedFollows * Load fresh data every time * Oops, missed a file * Update ProfileCard.Link usage, tweak copy
* Keep interstitial fresh on refresh (#4888)dan2024-08-081-3/+5
|
* [Video] Visibility detection view (#4741)Hailey2024-08-0713-176/+151
| | | | Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* [Videos] Video player - PR #2 - better web support (#4732)Samuel Newman2024-08-0711-82/+973
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * attempt some sort of "usurping" system * polling-based active video approach * split into inner component again * click to steal active video * disable findAndActivateVideo on native * new intersectionobserver approach - wip * fix types * disable perf optimisation to allow overflow * make active player indicator subtler, clean up video utils * partially fix double-playing * start working on controls * fullscreen API * get buttons working somewhat * rm source from where it shouldn't be * use video elem as source of truth * fix keyboard nav + mute state * new icons, add fullscreen + time + fix play * unmount when far offscreen + round 2dp * listen globally to clicks rather than blur event * move controls to new file * reduce quality when not active * add hover state to buttons * stop propagation of videoplayer click * move around autoplay effects * increase background contrast * add subtitles button * add stopPropagation to root of video player * clean up VideoWebControls * fix chrome * change quality based on focused state * use autoLevelCapping instead of nextLevel * get subtitle track from stream * always use hlsjs * rework hls into a ref * render player earlier, allowing preload * add error boundary * clean up component structure and organisation * rework fullscreen API * disable fullscreen on iPhone * don't play when ready on pause * debounce buffering * simplify giant list of event listeners * update pref * reduce prop drilling * minimise rerenders in `ActiveViewContext` * restore prop drilling --------- Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com> Co-authored-by: Hailey <me@haileyok.com>
* Show own replies before follows' replies in threads (#4882)dan2024-08-061-4/+5
|
* Show replies in context of their threads (#4871)dan2024-08-053-22/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Don't reconstruct threads from separate posts * Remove post-level dedupe for now * Change repost dedupe condition to look just at length * Delete unused isThread * Delete another isThread field It is now meaningless because there's nothing special about author threads. * Narrow down slice item shape so it does not need reply * Consolidate slice validation criteria in one place * Show replies in context * Make fallback marker work * Remove misleading and now-unused property It was called rootUri but it was actually the leaf URI. Regardless, it's not used anymore. * Add by-thread dedupe to non-author feeds * Add post-level dedupe * Always count from the start This is easier to think about. * Only tuner state need to be untouched on dry run * Account for threads in reply filtering * Remove repost deduping This is already being taken care of by item-level deduping. It's also now wrong and removing too much (since it wasn't filtering for reposts directly). * Calculate rootUri correctly * Apply Following settings to all lists * Don't dedupe intentional reposts by thread * Show reply parent when ambiguous * Explicitly remove orphaned replies from following/lists * Fix thread dedupe to work across pages * Mark grandparent-blocked as orphaned * Guard tuner state change by dryRun * Remove dead code * Don't dedupe feedgen threads * Revert "Apply Following settings to all lists" This reverts commit aff86be6d37b60cc5d0ac38f22c31a4808342cf4. Let's not do this yet and have a bit more discussion. This is a chunky change already. * Reason belongs to a slice, not item * Logically feedContext belongs to the slice * Update comment to reflect latest behavior
* Respect labels on feeds and lists (#4818)Eric Bailey2024-08-023-59/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Prep * Pass in optional moderation to FeedCard * Compute moderation decision, filter contentList contexts, pass into card * Let's go a different route * Filter from within search queries * Use same search query for starter packs * Filter lists from profile tabs * Cleanup * Filter from profile feeds * Moderate post embeds * Memoize * Use ScreenHider on lists * Hide both list types * Fix crash on iOS in screen hider, fix lineheight * Memoize renderItem * Reuse objects to prevent re-renders
* Fix missing header on Likes/Reposted By, add missing perf optimizations (#4867)Hailey2024-08-012-104/+103
| | | | | | | | | * fix liked by list * fix lists * tweaks to style * change string
* Display second-to-last rather than second post in a slice (#4864)dan2024-08-011-11/+12
|
* Only show "followed you back" when appropriate (#4849)Hailey2024-07-311-1/+21
| | | | | | | | | | | * only show followed back when we should * try/catch * log * Update FeedItem.tsx * tweak
* [Web] Retrigger onEndReached if needed when content height changes (#4859)dan2024-07-311-3/+32
| | | | | * Extract EdgeVisibility * Key Visibility by container height instead of item count
* [Video] Uploads (#4754)Hailey2024-07-304-112/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * state for video uploads * get upload working * add a debug log * add post progress * progress * fetch data * add some progress info, web uploads * post on finished uploading (wip) * add a note * add some todos * clear video * merge some stuff * convert to `createUploadTask` * patch expo modules core * working native upload progress * platform fork * upload progress for web * cleanup * cleanup * more tweaks * simplify * fix type errors --------- Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* Improve a11y on noty feed (#4842)Eric Bailey2024-07-252-18/+26
|
* Add labels to a few missing places (#4838)Eric Bailey2024-07-253-4/+12
|
* `true` (#4833)Hailey2024-07-251-32/+30
|
* Replace `import hairlineWidth =` with const (#4831)Samuel Newman2024-07-2519-73/+52
| | | | | | | | | * replace import with const * just use `StyleSheet.hairlineWidth` --------- Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>