Commit graph

4420 commits

Author SHA1 Message Date
Samuel Newman
21e214c235
[Video] set audio category to ambient every time a new player is made (#4934)
* 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>
2024-08-14 20:21:14 +01:00
Hailey
26d3777ecc
Add /live/ to supported YouTube embed URLs (#4932) 2024-08-13 17:35:05 -07:00
Samuel Newman
630ebf523d
[Video] Try/catch video play/pause (#4930)
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
2024-08-13 14:00:03 -07:00
dan
57be2ea15b
Don't kick to login screen on network error (#4911)
* Don't kick the user on network errors

* Track online status for RQ

* Use health endpoint

* Update test with new behavior

* Only poll while offline

* Handle races between the check and network events

* Reduce the poll kickoff interval

* Don't cache partially fetched pinned feeds

This isn't a new issue but it's more prominent with the offline handling. We're currently silently caching pinned infos that failed to fetch. This avoids showing a big spinner on failure but it also kills all feeds which is very confusing. If the request to get feed gens fails, let's fail the whole query.

Then it can be retried.
2024-08-13 18:51:49 +01:00
dan
7e11b862e9
Remove .withProxy() calls (#4929) 2024-08-13 00:20:39 -07:00
Hailey
1fce7a793d
[Video] Audio duck off main thread (#4926) 2024-08-12 20:08:51 -07:00
Hailey
3c04d9bd84
subclass agent to add setPersistSessionHandler (#4928)
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-08-12 19:43:06 -07:00
Hailey
99d1a881f2
[Video] Fix crash when switching tabs (#4925) 2024-08-12 16:49:17 -07:00
Hailey
134fcd35d8
[Video] Invert usage of setAudioActive (#4924) 2024-08-12 14:58:41 -07:00
Hailey
7df2327424
Upgrade API, implement XRPC rework (#4857)
Co-authored-by: Matthieu Sieben <matthieu.sieben@gmail.com>
2024-08-12 14:00:15 -07:00
Hailey
ae883e2df7
rm from swift (#4923) 2024-08-12 21:46:33 +01:00
Hailey
db7a744433
Fix Android composer cursor bug by removing setTimeout from native composer onChangeText (#4922) 2024-08-12 08:14:02 -07:00
Roland Crosby
75c19b2dc2
Show handle in recent searches and fix truncation (#4917)
Co-authored-by: Hailey <me@haileyok.com>
2024-08-11 16:12:36 -07:00
Minseo Lee
88f879ffe9
Improve styles (#4916)
Co-authored-by: Hailey <me@haileyok.com>
2024-08-11 14:30:18 -07:00
surfdude29
6f450b4982
Mark string for localization (#4920) 2024-08-11 12:41:33 -07:00
Shubh Porwal
8367542138
Fix occurred typo (#4919)
Co-authored-by: Hailey <hailey@blueskyweb.xyz>
2024-08-11 12:40:43 -07:00
Hailey
65d6e561d4
[Video] Resume background audio whenever muting video audio (#4915) 2024-08-09 16:52:23 -07:00
Samuel Newman
c2131bb039
[Videos] Add error boundary to native (#4914)
* move error fallback to own component

* use error boundary on native

---------

Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
2024-08-10 00:49:11 +01:00
Samuel Newman
ab0da7c892
[Videos] handle app backgrounding (#4912)
* 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>
2024-08-09 23:35:21 +01:00
Samuel Newman
0a9782ac19
animate controls + fade out time after a while (#4913)
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
2024-08-09 23:32:28 +01:00
Hailey
5bfe5aa503
[Video] More tweaks to AVAudioSession options (#4910) 2024-08-09 14:35:26 -07:00
Hailey
dd0d50a6f0
[Video] Prevent pausing of background audio with expo-video on iOS (#4908)
* 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>
2024-08-09 11:25:54 +01:00
Hailey
0f993a09c2
[Video] Add onEnterFullscreen and onExitFullscreen to VideoView (#4907)
* patch expo video to add enter/exit fullscreen events

* rm logs

* Update expo-video+1.2.4.patch.md
2024-08-09 11:05:43 +01:00
Hailey
cb574b7be3
[Videos] Add iOS function to set AVAudioSession.CategoryOptions to .mixWithOthers (#4905)
* audio mixing pref

* lint
2024-08-09 11:05:12 +01:00
Samuel Newman
a4f0c9c753
[Video] more minor tweaks (#4906)
* 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>
2024-08-09 03:24:38 +01:00
Samuel Newman
4350dbc853
[Video] Bundle of minor tweaks (#4904)
* 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>
2024-08-09 02:33:42 +01: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
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
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
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
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
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