vineyardbovines
e741a1a40c
Merge remote-tracking branch 'origin/main' into native-video-compress
...
# Conflicts:
# src/lib/media/video/constants.ts
2026-06-23 11:52:00 -04:00
Spence Pope
c753c94969
Process videos on web with WebCodecs ( #10955 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-06-23 11:33:23 -04:00
vineyardbovines
f40ff6250a
Move compression thresholds to a feature-local constants file
...
Per Frontend Spec (A2.4 pre-merge note): MAX_UPLOAD_SIZE was hardcoded to
100 MB and would force-compress 100-300 MB files that should skip. Reads
from VIDEO_MAX_SIZE now. Pulled the target/passthrough bitrate and max
dimension out of compress.ts into src/lib/media/video/constants.ts so the
compression contract lives in one place without bloating the global
constants file.
2026-06-22 15:17:47 -04:00
vineyardbovines
fd387904d4
Address re-review: AAC re-encode, probe fallthrough, HDR detection
...
- Android non-AAC audio is now transcoded to AAC (matching iOS) via a
source-decoder -> AAC-encoder pre-pass that captures the encoder's
output format before the muxer starts, then writes buffered samples
after the video pipeline finishes. Falls back to dropping audio if
the transcode fails.
- compress.ts wraps probe() in try/catch and falls through to
passthrough on failure instead of throwing.
- Probers expose isHDR (HLG/PQ via color transfer, plus Dolby Vision
codecs/mimes); shouldCompress forces compression for HDR sources so
the SDR BT.709 path always runs. Also sets
KEY_COLOR_TRANSFER_REQUEST=SDR on the Android decoder (API 31+) so
HDR sources tone-map to SDR pixels instead of being mislabeled.
2026-06-20 14:43:57 -04:00
vineyardbovines
3d28b11ae3
Add expo-bluesky-video-compress native module
...
Replaces react-native-compressor's video path with a local Expo module.
Native pipeline:
- iOS: AVAssetReader + AVMutableVideoComposition + AVAssetWriter with
VideoToolbox encode, BGRA reader for HDR -> SDR conversion, BT.709
color tagging, DataRateLimits hard cap, AAC re-encode.
- Android: MediaExtractor -> MediaCodec(decoder) -> GL pipeline ->
MediaCodec(encoder) -> MediaMuxer. BITRATE_MODE_CBR for tight target
enforcement, GL transform-matrix rotation (no double-rotation),
raw AAC passthrough, hardware encoder selection with software
fallback, QTI AVC denylist.
Codec selection: 'auto' resolves to h264 (HLS pipeline + licensing).
HEVC remains opt-in via codec: 'hevc' for future feature-flagged use.
compress.ts adds probe-based smart-skip: clips that are already at or
below 5 Mbps / 1920px / 100MB bypass re-encoding entirely.
react-native-compressor stays as a dep for now since pickVideo and
VideoTranscodeBackdrop still use its non-compression helpers; full
removal is a follow-up.
2026-06-18 17:38:22 -04:00
Samuel Newman
f0e20d4c56
Make StandardSiteEmbed peekable ( #10866 )
2026-06-11 15:49:09 -05:00
DS Boyce
c8634105c1
Run codemod for replacing BskyAgent with AtpAgent ( #10862 )
2026-06-11 08:46:01 -07:00
Spence Pope
974d2b15d5
Fix stale push notification replay after account switch ( #10792 )
2026-06-10 15:46:35 -05:00
Samuel Newman
2efdc3fe35
[Chat] NUX ( #10848 )
...
Co-authored-by: DS Boyce <260543580+ds-boyce@users.noreply.github.com >
Co-authored-by: Eric Bailey <git@esb.lol >
2026-06-10 14:35:35 -05:00
Spence Pope
c6f9803676
Add profile QR code for sharing and inviting friends ( #10659 )
2026-06-10 14:14:45 -04:00
DS Boyce
c52231a449
Update handling of join link previews ( #10798 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-06-09 07:23:33 -07:00
DS Boyce
8015c26955
Hide last message in chat list if it's blocked ( #10800 )
2026-06-09 08:13:15 +03:00
Samuel Newman
c4f3a2cb89
[Chat] Rename invite route to /chat/ ( #10782 )
2026-06-08 09:26:23 -07:00
Samuel Newman
b236f274c3
[Chat] Enforce limits for group size ( #10753 )
2026-06-05 23:17:29 +03:00
Spence Pope
144ba30ea6
Add gallery embed type support (display + compose) ( #10707 )
2026-06-04 17:22:40 -04:00
Eric Bailey
795d493dea
Apply per-use-case image size configs ( #10690 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 11:23:04 -05:00
DS Boyce
08cd4e58b0
Add group chat join links to supported embed types ( #10454 )
2026-06-04 08:11:50 -07:00
DS Boyce
84d1785e12
Enable ESLint errors and suppress existing violations ( #10490 )
2026-06-03 11:27:44 -07:00
DS Boyce
73dae02df3
Create screen for managing chat requests ( #10635 )
2026-06-02 13:28:06 -07:00
Eric Bailey
b87a51b485
Prefer opengraph image, fall back to Standard Site coverImage ( #10694 )
2026-06-02 15:07:14 -05:00
DS Boyce
56496520d6
Create logged-out view for group chat invites ( #10598 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-06-02 12:02:49 -07:00
Eric Bailey
61e10f7e0b
Remove image upload flags ( #10687 )
2026-06-02 12:42:10 -05:00
Samuel Newman
fd9f988b90
Ungate video upload size change ( #10683 )
2026-06-02 07:06:47 -07:00
DS Boyce
ce4efc511b
Refactor notification settings as dialogs ( #10646 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-05-29 09:35:14 -07:00
Alex Benzer
4e2949c93a
Add nav:click event to all main nav items ( #10540 )
...
Co-authored-by: Eric Bailey <git@esb.lol >
2026-05-26 09:28:40 -05:00
Samuel Newman
1790fddc78
Enable 300mb video uploads ( #10497 )
2026-05-26 09:23:43 -05:00
Spence Pope
5db37729bb
[APP-2160] Build new standard.site link card UI ( #10468 )
...
Co-authored-by: vineyardbovines <spencer@thepope.dev >
Co-authored-by: Eric Bailey <git@esb.lol >
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-22 17:36:06 -05:00
Samuel Newman
c1817d3425
[Chat] Handle new chat notification reasons ( #10530 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 08:20:35 -07:00
Samuel Newman
0dc062294f
Move headerMode out of global shell state ( #10527 )
2026-05-18 10:53:12 -07:00
Samuel Newman
0eb382da03
[Chat] Split view layout for web ( #10258 )
2026-05-15 12:46:53 -07:00
Samuel Newman
9d98890fd2
Fix reply failures caused by fetching posts from PDS ( #9925 )
2026-05-15 11:43:07 -07:00
Eric Bailey
b41dbec48f
Remove KLIPY from external media settings ( #10496 )
2026-05-15 10:54:42 -05:00
DS Boyce
b41d0ad97d
Improve birthdate handling ( #10477 )
2026-05-13 13:52:59 -07:00
Eric Bailey
d20df78f7e
Stop writing associatedRecord to embeds, may need to adjust schema ( #10489 )
2026-05-13 15:52:43 -05:00
Spence Pope
8b9361016a
[APP-2146] Update GIF content filtering and [APP-2152] harden web GIFs ( #10443 )
...
Co-authored-by: vineyardbovines <spencer@thepope.dev >
2026-05-08 15:34:07 -04:00
Eric Bailey
fa8c2224b7
Add associatedRecord to external embeds, if available ( #10445 )
2026-05-07 19:08:29 -05:00
Samuel Newman
0b6ae1cc21
Fix picking offloaded videos for IOS 26 ( #10428 )
2026-05-06 06:40:22 -07:00
Spence Pope
48ea9e0b96
[APP-2067] Rebuild GIF Dialog ( #10261 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-05 11:06:18 -04:00
Eric Bailey
cdb8d4bfb8
Group Clops Feature Branch ( #10360 )
...
Co-authored-by: DS Boyce <260543580+ds-boyce@users.noreply.github.com >
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-24 11:38:50 -07:00
Samuel Newman
7b490d8bcd
Only lock viewport zoom while text inputs are focused ( #10340 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-04-23 10:42:05 -07:00
Samuel Newman
1c38665d4c
Replace lande with native language detection ( #9974 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Co-authored-by: DS Boyce <260543580+ds-boyce@users.noreply.github.com >
Co-authored-by: Eric Bailey <git@esb.lol >
2026-04-22 10:26:14 -05:00
Samuel Newman
014ffac903
Delete "non-standard" styles from pal ( #10279 )
2026-04-20 11:34:25 -07:00
Thomas May
dddc022747
nit: fix perf regression in hotkeys ( #10302 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-04-20 06:15:05 -07:00
Spence Pope
a77b6e3525
[APP-2066] Migrate from Tenor to KLIPY ( #10240 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-17 08:43:13 -04:00
Samuel Newman
d3f5093817
Groupchats feature branch ( #10181 )
...
Co-authored-by: DS Boyce <260543580+ds-boyce@users.noreply.github.com >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-15 12:15:45 -07:00
DS Boyce
b9561f78ee
Enforce using named imports from 'react' ( #10259 )
2026-04-15 10:11:09 -07:00
Samuel Newman
ecc78efb12
Stop passing _ around in composer functions ( #10256 )
2026-04-15 07:39:51 -07:00
DS Boyce
3ff40e9603
Update / hotkey to support all keyboard layouts ( #10212 )
2026-04-09 14:07:09 -05:00
Eric Bailey
cfeac097e1
[APP-2044] Gate image blob size increase ( #10178 )
2026-04-09 14:06:25 -05:00
Eric Bailey
0a5ae17738
New rich text composer + autocomplete ( #10159 )
2026-04-07 20:37:50 -05:00