Samuel Newman
e6f73fc110
add dual-world xrpc error helpers and toLex migration escape hatch
...
Phase 3 foundations (task 1): src/lib/xrpc-error.ts matches both the old
@atproto/api XRPCError and lex-client XrpcError/XrpcResponseError during
the migration; errors.ts token-invalid matching goes through it. toLex<T>()
added to #/types/bsky as a marked interim cast for mixed-world boundaries.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-30 18:07:26 +03:00
Samuel Newman
bf8b6bc0c7
rework session layer on PasswordSession + three-client pattern
...
- PasswordSession (@atproto/lex-password-session) is now the single auth
core; SessionAgent bridges it to the base Agent from @atproto/api so
the ~148 useAgent() consumer files keep working unchanged
- SessionBundle carries {session, agent, accountClient, appviewClient};
useLexClient() now returns the authed appview client, new
useAppviewClient()/usePdsClient() hooks
- reducer: OpaqueSessionBundle, new replaced-current-bundle action for
network-free cross-tab same-did sync (PasswordSession is immutable, so
the bundle is rebuilt instead of mutated in place)
- moderation: AtpAgent.configure -> Client.configure + Agent.configure,
per-account labelers on both the bridge and the appview client
- push-token unregistration uses temporary PasswordSessions
- hard-tail migrations: SignupQueued refresh via resumeSession shim,
useBeginAgeAssurance scoped-token raw Client, useAccountEmailState
reads currentAccount
- PDS routing preserved on the no-network resume fast path by
synthesizing a minimal didDoc from the persisted pdsUrl
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-30 18:06:58 +03:00
Samuel Newman
17c1ee4869
Handle PR OTA version mismatches and failures ( #11330 )
2026-07-30 07:40:49 -07:00
Spence Pope
a35c4ac4ba
APP-2670: add multipart video upload transport ( #11222 )
2026-07-29 12:54:03 -04:00
Samuel Newman
de348db116
Show a non-standard OTA channel notice in the drawer ( #11288 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-07-28 06:59:17 -07:00
Samuel Newman
0e63434bb4
Reenable wake-from-background Android OTA ( #11298 )
2026-07-27 09:20:10 -07:00
Tomasz Zawadzki
2b9deeeb6a
Migrate runOnUI/runOnJS to scheduleOnUI/scheduleOnRN ( #11249 )
2026-07-26 12:00:35 -07:00
Samuel Newman
19b0d89313
Update react-native-uitextview ( #11264 )
2026-07-24 07:40:46 -07:00
Spence Pope
325246ec6c
Stub RN codegen native component on web ( #11240 )
2026-07-23 12:52:47 -04:00
Oleksii Bulenok
8d64ab9d4b
React Native New Arch ( #10980 )
2026-07-23 18:25:40 +03:00
DS Boyce
8ca8176eb1
Update presentation of trending feeds ( #11206 )
2026-07-22 14:35:45 -07:00
DS Boyce
92ec563f9d
Restore activity notification subscriptions screen ( #11201 )
2026-07-21 05:16:22 -07:00
Samuel Newman
0fb7251c64
Add nightly Maestro E2E workflow ( #11181 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-20 07:42:53 -07:00
Samuel Newman
007c21fa8e
Add moduleSuffixes to tsconfig ( #11146 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-07-16 12:47:53 -07:00
Abdelrahman Youssef
83a791d7c8
Fix invisible bidi characters copied with handles on web ( #11066 )
2026-07-15 17:56:34 -05:00
DS Boyce
a0c75944a3
Don't suggest retrying an unretryable error ( #11159 )
2026-07-15 11:27:19 -07:00
DS Boyce
3c5c11c002
Add setting for opting in to beta features ( #11123 )
2026-07-15 06:06:54 -07:00
Spence Pope
a5adb0e97a
Add video playback observability to Sentry ( #11111 )
2026-07-14 10:38:39 -04:00
Austin McKinley
b4dfa3cc22
Collapse label appeal flow into ModerationDetailsDialog ( #11091 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
Co-authored-by: Eric Bailey <git@esb.lol >
2026-07-10 18:26:10 -05:00
Samuel Newman
9b34d357d4
Lazy load @ipld/dag-cbor in computeCid ( #11099 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-10 02:43:04 -07:00
DS Boyce
0a4f5e132c
Update mergeRefs util for React 19 ( #11108 )
2026-07-08 12:32:15 -07:00
Spence Pope
6dce96881c
use source file for web video compression ( #11090 )
2026-07-08 15:07:52 -04:00
Samuel Newman
b41624edea
Lazy-load mediabunny on web ( #11094 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-08 06:21:16 -07:00
Samuel Newman
102905b962
Fix back swipe opening the drawer after a cold-start deep link ( #11065 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-07-07 06:51:06 -07:00
Samuel Newman
9ff248528b
Automatically resolve hosting provider from handle ( #11053 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
Co-authored-by: Eric Bailey <git@esb.lol >
2026-07-07 04:21:58 -07:00
smileyhead
1817cc2ae4
Add missing l18n wrapper to ‘⚠Invalid Handle’ in handles.ts ( #11071 )
2026-07-06 13:51:33 -05:00
DS Boyce
b0a40145e9
Special-case 'me' values in search queries ( #11043 )
2026-07-02 09:35:57 -07:00
Spence Pope
c4ce3ce0fb
Reduce Sentry noise from logger transport and expected-failure call sites ( #10893 )
2026-07-01 10:43:01 -04:00
Samuel Newman
9df4add435
Only request notification permission once per session ( #11004 )
...
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Eric Bailey <git@esb.lol >
2026-06-30 15:22:37 -05:00
Samuel Newman
52aaba4051
Route iOS notification settings intent into the app ( #11003 )
2026-06-30 22:23:52 +03:00
Samuel Newman
ade5d2b783
Cull unused files ( #11029 )
2026-06-30 19:41:35 +03:00
Spence Pope
95726c6c6b
Replace react-native-compressor video path with native expo-bluesky-video-compress module [APP-2428] ( #10954 )
...
Co-authored-by: Eric Bailey <git@esb.lol >
2026-06-30 11:59:59 -04:00
DS Boyce
248290e0b3
Add advanced search UI ( #10992 )
2026-06-26 16:16:48 -07:00
Spence Pope
fcf17a482f
Add video upload telemetry events ( #10991 )
2026-06-25 18:14:05 -04:00
DS Boyce
3b2e609761
Add new chat notification preferences ( #10972 )
2026-06-25 12:01:33 -07: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
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