Samuel Newman
780fccdbbe
migrate the chat and notification declaration records to the pds client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 22:13:45 +03:00
Samuel Newman
ed652ad484
migrate the verification and chat declaration records to the pds client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 22:13:45 +03:00
Samuel Newman
0c8cdba703
migrate the threadgate and postgate records to the pds client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 22:13:44 +03:00
Samuel Newman
a6682ebf1d
add a shared getRecord RecordNotFound classifier
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 22:13:44 +03:00
Samuel Newman
74b0001335
migrate getAllListMembers to the appview client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 22:13:44 +03:00
Samuel Newman
ca1efd9514
fix lockfile
2026-08-13 22:12:54 +03:00
Samuel Newman
2beb63fb2d
migrate RichText to the SDK and resolve facets via the appview
...
The two RichText classes are not mutually assignable - `UnicodeString` has a
private field and the SDK brands `did`/`uri` as template literal types - so
every producer and consumer of a RichText instance has to move in one step.
`detectFacets` now takes a lex client instead of the legacy agent, which is
what removes the last hard agent dependency from these files. Handle
resolution is an appview job, so the appview client is threaded in: through
`useAppviewClient` in the hooks and dialogs, and through a new
`appviewClient` option on `apilib.post` (Composer already had the client to
hand). The rest of the post pipeline still writes through the agent.
Facet feature checks move from the `AppBskyRichtextFacet` validators to the
generated `#/lexicons` schemas, matching how the rest of the app narrows
lexicon types.
Display sinks still read facets off `@atproto/api` view types, which are the
same lexicon but typed with plain strings. `asSdkFacets` widens them at those
call sites and goes away once the view types come from the SDK too.
2026-08-13 21:50:54 +03:00
Samuel Newman
dbffcce821
add the @bsky.app/sdk preview package
...
aliased npm install of bsky-sdk-preview - it is where RichText and the
moderation helpers now live. its lex-* deps resolve to the copies the app
already uses, so there is a single @atproto/lex in the tree.
2026-08-13 21:50:54 +03:00
Samuel Newman
fbc7c94b59
lint fix
2026-08-13 21:50:54 +03:00
Samuel Newman
abf8ba0993
route moderation reports through the appview client with per-call proxying
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:54 +03:00
Samuel Newman
09ca1307bc
migrate the app password and update handle mutations to the pds client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:54 +03:00
Samuel Newman
1d5c0ff4af
migrate the email request mutations to the pds client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:54 +03:00
Samuel Newman
a92f28461b
migrate the pre-auth service calls to the service client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:53 +03:00
Samuel Newman
dc90f4ee37
migrate the account lifecycle dialogs to the pds and chat clients
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:53 +03:00
Samuel Newman
cc295497fe
add the arbitrary-service pre-auth client factory
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:53 +03:00
Samuel Newman
88477d0767
migrate the thread mute backfill to the appview client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:53 +03:00
Samuel Newman
8f6181495e
migrate the notification say-hello action to the chat client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:53 +03:00
Samuel Newman
0bf2ada0c6
migrate the activity subscription queries to the appview client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:53 +03:00
Samuel Newman
f2a1a6ceb9
migrate the notification settings queries to the appview and chat clients
...
App preferences live on the appview and chat preferences on the chat
service, so the combined update mutation holds both clients.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:53 +03:00
Samuel Newman
c1a318905b
migrate the notification feed and unread checker to the appview client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:53 +03:00
Samuel Newman
c857a534ec
migrate the post social queries and feed api construction sites
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:53 +03:00
Samuel Newman
8b4f284786
migrate the custom, merge and home feed apis to the appview client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:53 +03:00
Samuel Newman
234f34f4d5
migrate the single-source feed api classes to the appview client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:53 +03:00
Samuel Newman
5e88752fc0
migrate pds detection handle resolution to the public appview client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:53 +03:00
Samuel Newman
6e59eeb9a6
migrate the feed source and feed feedback calls to the appview client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:52 +03:00
Samuel Newman
1a6bfd8a6a
migrate the contact queries and phone verification to the appview client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:52 +03:00
Samuel Newman
8a87a5fdea
migrate the bookmark and draft queries to the appview client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:52 +03:00
Samuel Newman
c0aafe4ffd
migrate the actor search and autocomplete queries to the appview client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:52 +03:00
Samuel Newman
38042dcc02
note why the public chat client skips the network-aware fetch
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:52 +03:00
Samuel Newman
72162c1544
classify migrated chat group errors with matchXrpcError
...
The lex client throws XrpcResponseError, which is not an XRPCError
subclass, so the per-method error classes generated by @atproto/api no
longer match. Those instanceof checks compile fine but silently stop
firing, degrading every typed group failure to the generic fallback
message. Narrow against the method schema instead.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:52 +03:00
Samuel Newman
74f4532922
migrate the join link and join request queries to the chat client
...
The logged-out join link preview path built an ad-hoc AtpAgent pointed at
CHAT_SERVICE. It is now a module-level unauthenticated lex client against
the same service, so the client is built once rather than per call.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:52 +03:00
Samuel Newman
304726b83d
migrate the group membership queries to the chat client
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:52 +03:00
Samuel Newman
9553dd374b
Update get-convo-availability.ts
...
Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com >
2026-08-13 21:50:52 +03:00
Samuel Newman
2c779615df
guard the unauthed chat status queries
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:52 +03:00
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
85f2ff39a7
classify migrated chat convo errors with matchXrpcError
...
The lex client throws XrpcResponseError, which is not an XRPCError
subclass, so the old per-method error classes generated by @atproto/api
no longer match. Those instanceof checks compile fine but silently stop
firing, degrading every typed chat failure to the generic fallback
message. Narrow against the method schema instead.
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
1318347053
widen types/bsky views to accept generated lexicon types
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-13 21:50:50 +03:00