Commit Graph

4230 Commits

Author SHA1 Message Date
Eric Bailey 045c511196 Add post interaction settings to dropdown for all users 2024-08-09 16:23:08 -05:00
Eric Bailey c70f33ebe2 Hide reply settings if disabled 2024-08-09 15:35:21 -05:00
Eric Bailey e5a678dee8 Rename dialog 2024-08-09 15:32:52 -05:00
Eric Bailey 8fa02dda80 Hide quote post button if disabled 2024-08-09 15:30:41 -05:00
Eric Bailey 26e7d31557 Integrate postgates into ThreadgateEditor dialog 2024-08-09 15:22:45 -05:00
Eric Bailey f9e988c5fb Some renaming 2024-08-09 11:37:20 -05:00
Eric Bailey c4e5782e1e Add queries 2024-08-08 15:22:09 -05:00
Eric Bailey b2c9dc4e34 Merge remote-tracking branch 'origin/main' into reply-qp-moderation
* origin/main: (30 commits)
  Show just-posted replies above OP replies (#4901)
  Remove client filtering of starter packs (#4753)
  Remove show_avi_follow_button (#4900)
  Remove native_pwi_disabled (#4896)
  Fix overflow on posts (#4899)
  Move onPressReply into child component (#4898)
  Remove new_user_progress_guide (#4895)
  Remove explore_page_profile_card_social_proof (#4894)
  Remove ungroup_follow_backs gate (#4893)
  Remove unnecessary state update for reply gate (#4897)
  Include follow-based suggestions in interstitial (#4889)
  Cleanup flags (#4891)
  ALF suggested follows in profile header (#4828)
  Added trans (#4890)
  Keep interstitial fresh on refresh (#4888)
  Include popcluster in suggestion ranking (#4887)
  Add logging of selected feed preference when displaying the following feed (#4789)
  [Video] Visibility detection view (#4741)
  [Videos] Video player - PR #2 - better web support (#4732)
  [Video] Authed video upload (#4885)
  ...
2024-08-08 13:46:57 -05:00
dan e782db33dc Show just-posted replies above OP replies (#4901)
* 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.
2024-08-08 19:19:58 +01:00
Hailey c1af767fa6 Remove client filtering of starter packs (#4753) 2024-08-08 10:51:54 -07:00
Eric Bailey a0756c53be Remove show_avi_follow_button (#4900) 2024-08-08 18:14:15 +01:00
Eric Bailey 3ea8eb6013 Remove native_pwi_disabled (#4896)
* Remove native_pwi_disabled

* Remove search button
2024-08-08 18:14:02 +01:00
Samuel Newman e7a0055a85 Fix overflow on posts (#4899)
* 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>
2024-08-08 18:04:40 +01:00
dan ae25cb3391 Move onPressReply into child component (#4898)
* Move ComposePrompt to post-thread/

* Move onPressReply into child component
2024-08-08 17:58:58 +01:00
Eric Bailey 85fe95c988 Remove new_user_progress_guide (#4895) 2024-08-08 11:48:42 -05:00
Eric Bailey e1df2b0b16 Remove explore_page_profile_card_social_proof (#4894) 2024-08-08 11:48:32 -05:00
Eric Bailey f3a9f874d9 Remove ungroup_follow_backs gate (#4893) 2024-08-08 11:48:24 -05:00
dan 4b71950d99 Remove unnecessary state update for reply gate (#4897)
* Move mobile compose prompt to inner component

* Make canReply computed

* Use same clamp we use elsewhere
2024-08-08 17:05:51 +01:00
dan 2174feed44 Include follow-based suggestions in interstitial (#4889) 2024-08-08 15:49:34 +01:00
dan f1031d100b Cleanup flags (#4891)
* Remove launched gates

* Remove disabled gates
2024-08-08 15:25:42 +01:00
Eric Bailey 1e3b2d6f42 ALF suggested follows in profile header (#4828)
* Refactor ProfileHeaderSuggestedFollows

* Load fresh data every time

* Oops, missed a file

* Update ProfileCard.Link usage, tweak copy
2024-08-08 09:19:51 -05:00
Minseo Lee af5262682e Added trans (#4890) 2024-08-08 13:12:23 +01:00
dan a864f69849 Keep interstitial fresh on refresh (#4888) 2024-08-08 06:20:24 +01:00
dan 00fea10782 Include popcluster in suggestion ranking (#4887) 2024-08-08 05:56:22 +01:00
Hailey b3092413dd Add logging of selected feed preference when displaying the following feed (#4789) 2024-08-07 17:13:29 -07:00
Eric Bailey 71aec717f5 Fix allow setting clobbering 2024-08-07 17:45:08 -05:00
Hailey 1b02f81cb8 [Video] Visibility detection view (#4741)
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
2024-08-07 14:45:06 -07:00
Eric Bailey defd61e85b Sort hidden replies to bottom 2024-08-07 16:16:45 -05:00
Eric Bailey c5c3ce7f04 Only load threadgate for threads 2024-08-07 14:38:39 -05:00
Eric Bailey e55a2ac42b Extend post alerts to allow hidden replies 2024-08-07 13:55:03 -05:00
Samuel Newman fff2c079c2 [Videos] Video player - PR #2 - better web support (#4732)
* 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>
2024-08-07 18:47:51 +01:00
Eric Bailey b3cbce44fd Improve feedback and handle errors in dropdown 2024-08-07 11:58:38 -05:00
Eric Bailey 89f57ff879 Fix retries in threadgate too, add comments 2024-08-07 11:50:00 -05:00
Eric Bailey d7ea522301 Dropdown menu improvements 2024-08-07 11:45:54 -05:00
Eric Bailey 9f04504e11 Update viewRemoved embed view 2024-08-07 11:03:27 -05:00
Eric Bailey 751923cda2 Add a lil check to shadow handling 2024-08-07 11:03:18 -05:00
Eric Bailey cdf022e48e Handle failed reattachment req 2024-08-07 10:58:05 -05:00
Samuel Newman b701e8c68c [Video] Authed video upload (#4885)
* add service auth call

* update API package

---------

Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
2024-08-07 16:56:12 +01:00
Eric Bailey f576db3023 Clean up embed replacement 2024-08-07 10:55:10 -05:00
Eric Bailey a61bef8716 Clean up dropdown logic 2024-08-07 10:40:16 -05:00
Eric Bailey 12a0164464 Few fixes 2024-08-06 18:59:26 -05:00
Eric Bailey 413e87f4c5 Use post shadow to swap detached quotes 2024-08-06 18:27:34 -05:00
Hailey 753a233408 Tweak feed manip to show cases of A -> B without further children (#4883) 2024-08-06 11:21:59 -07:00
dan 5845e08eee Show own replies before follows' replies in threads (#4882) 2024-08-06 17:12:27 +01:00
dan b291a1ed8a Show more replies in Following (different heuristic) (#4880) 2024-08-06 16:42:42 +01:00
Eric Bailey 4b5952c08c Fix RQ error, return null for query 2024-08-05 19:45:34 -05:00
dan 686d5ebb53 [Persisted] Make broadcast subscriptions granular by key (#4874)
* Add fast path for guaranteed noop updates

* Change persisted.onUpdate() API to take a key

* Implement granular broadcast listeners
2024-08-06 01:30:52 +01:00
dan 966f6c511f [Persisted] Fix the race condition causing clobbered writes between tabs (#4873)
* Broadcast the update in the same tick

The motivation for the original code is unclear. I was not able to reproduce the described behavior and have not seen it mentioned on the web. I'll assume that this was a misunderstanding.

* Remove defensive programming

The only places in this code that we can expect to throw are schema.parse(), JSON.parse(), JSON.stringify(), and localStorage.getItem/setItem/removeItem. Let's push try/catch'es where we expect them to be necessary.

* Don't write or clobber defaults

Writing defaults to local storage is unnecessary. We would write them as a part of next update anyway. So I'm removing that to reduce the number of moving pieces.

However, we do need to be wary of _state being set to defaults. Because _state gets mutated on write. We don't want to mutate the defaults object. To avoid having to think about this, let's copy on write. We don't write to this object very often.

* Refactor: extract tryParse

* Refactor: move string parsing into tryParse

* Extract tryStringify, split logging by platform

Shared data parsing/stringification errors are always logged. Storage errors are only logged on native because we trust the web APIs to work.

* Add a layer of caching to readFromStorage to web

We're going to be doing a read on every write so let's add a fast path that avoids parsing and validating.

* Fix the race condition causing clobbered writes between tabs
2024-08-06 01:03:27 +01:00
dan 5bf7f3769d [Persisted] Fork web and native, make it synchronous on the web (#4872)
* Delete logic for legacy storage

* Delete superfluous tests

At this point these tests aren't testing anything useful, let's just get rid of them.

* Inline store.ts methods into persisted/index.ts

* Fork persisted/index.ts into index.web.ts

* Remove non-essential code and comments from both forks

* Remove async/await from web fork of persisted/index.ts

* Remove unused return

* Enforce that forked types match
2024-08-06 00:30:58 +01:00
Eric Bailey 15862a6f7f Add postgate queries, begin integration 2024-08-05 17:04:02 -05:00