Samuel Newman
aad0846ec0
cast branded chat convo params with the syntax types
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:52 +03:00
Samuel Newman
195c7a8d4a
migrate the chat convo lifecycle mutations to the chat client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:52 +03:00
Samuel Newman
6b9b18cba4
migrate the chat convo read queries to the chat client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:51 +03:00
Samuel Newman
1ba8c3feb9
skip getProfile if no did
2026-08-13 21:50:51 +03:00
Samuel Newman
3f8016139c
cast branded params with the dedicated syntax types
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:51 +03:00
Samuel Newman
384058d6a2
migrate the pinned post and verification cache profile reads to the appview client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:51 +03:00
Samuel Newman
d8d4b3cf32
migrate the mute, block, starter pack and suggestion queries to the appview client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:51 +03:00
Samuel Newman
a8db57e00d
migrate the list and feed generator queries to the appview client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:51 +03:00
Samuel Newman
8d738b891f
migrate the follows and followers queries to the appview client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:51 +03:00
Samuel Newman
6ef3628155
cast branded params with the dedicated syntax types
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:51 +03:00
Samuel Newman
935935518a
migrate service config and composer thread reads to the appview client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:51 +03:00
Samuel Newman
b3aa00a4d7
migrate the post thread queries to the appview client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:51 +03:00
Samuel Newman
c43e34c185
migrate starter pack and search queries to the appview client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:51 +03:00
Samuel Newman
099921b9c5
migrate trending discovery queries to the appview client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:51 +03:00
Samuel Newman
9a649b97ad
add the canonical client hooks
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:50 +03:00
Samuel Newman
40521e4008
add the pds, chat and throwing clients
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:50 +03:00
Samuel Newman
00af680341
document the public client labeler asymmetry
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:50 +03:00
Samuel Newman
1f3784fc7b
migrate the trends query to the lex client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:50 +03:00
Samuel Newman
7fee516d4c
add the lex client seam over the bridge agent
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:50 +03:00
Samuel Newman
69101a9348
take named options in makeSessionHooks
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:41:05 +03:00
Samuel Newman
131d4815e6
keep the stored pds url when a refresh delivers no did doc
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:41:05 +03:00
Samuel Newman
517439abd6
expand session test coverage, fix abort-test contamination
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:41:05 +03:00
Samuel Newman
fb494881de
redact session debug logs, fix stale bundle read and render-phase ref write
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:41:05 +03:00
Samuel Newman
5ffee15c4f
reject no-op refreshes, mirror the inner session's pds routing
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:41:05 +03:00
Samuel Newman
374e1ba3de
dispose the bundle and fail loudly when prep destroys the session
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:41:05 +03:00
Samuel Newman
b96d85387d
rm subpar comment
2026-08-13 21:41:05 +03:00
Samuel Newman
3e42c659c9
clean up migration-context comments
...
Comments should explain the code as it is, not narrate the change that produced
it. Drops "the old X" / "now" / "no longer" framing and a stale version pin in
favour of concrete names and the live constraints.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:41:04 +03:00
Samuel Newman
9f381485dc
dispose superseded bundles on aborted login and signup
...
`createAccount` and `login` abandoned the factory's returned bundle when a
newer task had already aborted them. The factories return an ARMED bundle, so
that session kept auto-refreshing and rotating refresh tokens server-side for
an account the app was no longer tracking; for signup the void-fired
post-signup writes kept its agent live too. Dispose in both abort branches,
matching `resumeSession`.
Also document why disposal of a replaced bundle is deferred to the post-commit
effect rather than done inline.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:41:04 +03:00
Samuel Newman
abdf1abf4b
rebuild the session lifecycle on passwordsession
...
Replace the AtpAgent-owned session lifecycle with PasswordSession-backed
bundles, dispatched through the bridge agent. The provider, reducer and
factories now hold a `{session, agent, service}` bundle whose identity gates
session events, so a stale session can no longer log out the current account
or restore its tokens after a switch.
Behavioural changes that come with the new auth core:
- token rotation is read from the hook payload (PasswordSession fires before
committing its live getter), so refreshes persist the new tokens
- replaced bundles are disposed rather than mutated, since PasswordSession has
no in-place patch; cross-tab syncs rebuild instead
- the expiry rescue path prefers a newer persisted generation over logging
every tab out
Post-signup writes keep main's agent.* call style; createAccount synthesizes
the email/active fields the thinner lex output omits.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:41:04 +03:00
Samuel Newman
9f40ba0a0b
add the passwordsession bridge agent
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:41:04 +03:00
Samuel Newman
427b98e154
extract session-data, network, and expiry-rescue modules
...
Session-account conversion, the network-aware fetch wrapper, and the
expiry-rescue candidate picker were tangled into agent.ts and util.ts.
Pulling them into agent-agnostic modules lets the upcoming session
layer share them.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:41:04 +03:00
Samuel Newman
045f3965ec
move labeler cache to mmkv, make moderation config sync
...
The per-account labeler cache was the only async dependency in
configureModerationForAccount. MMKV-backed sync reads let session
setup apply labelers in the same tick. No AsyncStorage backfill: the
cache is rewritten on every preferences fetch.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:41:04 +03:00
Samuel Newman
e79d8e8e52
add persisted.readLatest for cross-tab session reads
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:41:04 +03:00
Tomasz Zawadzki
2a4378c40b
perf: skip minute-tick subscription for actors without a live status ( #11441 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-11 06:26:52 -07:00
Eric Bailey
724013df1b
Add repost-only mutes ( #11223 )
...
Co-authored-by: DS Boyce <260543580+ds-boyce@users.noreply.github.com >
2026-08-06 11:53:02 -07:00
DS Boyce
f99a17bb6e
Add additional tests for groupNotifications ( #11332 )
2026-07-31 10:01:14 -07:00
DS Boyce
b4bad1187a
Indicate if someone followed you via a starter pack ( #11320 )
2026-07-29 12:11:28 -07:00
DS Boyce
10b027c35b
Sort follows and following behind gate ( #11237 )
2026-07-23 09:02:35 -07:00
Oleksii Bulenok
8d64ab9d4b
React Native New Arch ( #10980 )
2026-07-23 18:25:40 +03:00
DS Boyce
77bbe8d8a0
Add From: Me to advanced search filters ( #11126 )
2026-07-22 15:01:24 -07:00
DS Boyce
8ca8176eb1
Update presentation of trending feeds ( #11206 )
2026-07-22 14:35:45 -07:00
DS Boyce
c71a4f8360
Create new trending feeds interstitial ( #11207 )
2026-07-22 14:23:01 -07:00
DS Boyce
0bd6a99613
Pass recId with trending topic click metrics ( #11232 )
2026-07-22 12:51:49 -07:00
DS Boyce
86f0bedfbe
Add new search results tab for starter packs ( #11226 )
2026-07-21 13:18:12 -07:00
DS Boyce
5b9967b17d
Strip leading @ in from: queries ( #11158 )
2026-07-15 09:23:11 -07:00
DS Boyce
3c5c11c002
Add setting for opting in to beta features ( #11123 )
2026-07-15 06:06:54 -07:00
Alex Benzer
04ebd02ce3
Prototype: Show known likers on post thread page ( #11080 )
...
Co-authored-by: Eric Bailey <git@esb.lol >
2026-07-13 14:55:15 -05:00
DS Boyce
3499d3646e
Migrate all search to v2 and remove v1 ( #11125 )
2026-07-09 15:08:20 -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
So Asano
e5d2ee3315
Clean up media-upload temp files on iOS ( #11007 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-06 10:18:00 -04:00