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
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
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
Tomasz Zawadzki
2b9deeeb6a
Migrate runOnUI/runOnJS to scheduleOnUI/scheduleOnRN ( #11249 )
2026-07-26 12:00:35 -07:00
Oleksii Bulenok
8d64ab9d4b
React Native New Arch ( #10980 )
2026-07-23 18:25:40 +03:00
DS Boyce
f38f84e1a3
Enable sharing a post to a new group chat ( #11191 )
2026-07-22 15:54:46 -07:00
DS Boyce
f1b2bcd638
Potentially fix disappearing chat emoji on some devices ( #11113 )
2026-07-10 02:40:54 -07:00
DS Boyce
28c44a11ef
Avoid leaking previous messages via replies ( #11017 )
2026-06-30 10:35:12 -07:00
DS Boyce
46f5437faa
Display more information in chat replies ( #10950 )
2026-06-25 15:03:42 -05:00
DS Boyce
51e25435a2
Focus composer input when editable ( #10982 )
2026-06-24 18:06:02 -05:00
DS Boyce
c3626c80d1
Fix embeds overlapping each other in chat ( #10949 )
2026-06-24 11:14:23 -05:00
DS Boyce
728ee15e27
Flash message bubble when tapping a reply ( #10929 )
2026-06-17 03:11:56 -07:00
DS Boyce
6bf1572ffc
Increase chat bubble max width to 85% (was 80%) ( #10930 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-06-17 02:29:05 -07:00
Samuel Newman
b90d3108ed
Fix quote causing chat message to overflow on web ( #10926 )
2026-06-16 13:39:08 -07:00
Samuel Newman
721965e67c
Swipe to reply in chat ( #10920 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 11:38:36 -07:00
Samuel Newman
b8fdce6478
Message replies in chat ( #10903 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 10:26:48 -07:00
Benjamin Wingerter
6dcb4c9a1f
fix: truncate long display names in group chat member picker ( #10899 ) ( #10901 )
2026-06-15 04:46:43 -07:00
Samuel Newman
02a47fb4a6
Fix scroll edge effects on iOS 27 ( #10907 )
2026-06-14 07:07:33 -07:00
DS Boyce
825d25847c
Fix pluralization for group chat member counts ( #10896 )
2026-06-13 01:01:13 +03:00
Samuel Newman
52b945b7be
[Chat] Restructure MessageItem to prevent alignment issues ( #10888 )
2026-06-13 00:59:50 +03:00
Samuel Newman
714b1e205d
Fix invite card avatar pile not reflecting member count ( #10891 )
2026-06-13 00:57:31 +03:00
Samuel Newman
7310426ea7
[Chat] Hide blocked accounts' reactions in chats ( #10889 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-12 11:19:22 -07:00
DS Boyce
d57eeb986b
Fix followed by chat invites ( #10873 )
2026-06-11 11:05:07 -07: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
Samuel Newman
3b5ede37f7
[Chat] Reusable loading/unavailable states for chat invites ( #10819 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 11:54:37 -07:00
DS Boyce
adb39b4442
Invert group chat feature gate ( #10851 )
2026-06-10 10:41:34 -07:00
Samuel Newman
8fcf25b290
[Chat] Fix source of truth for group size limit ( #10845 )
2026-06-10 08:17:18 -07:00
Eric Bailey
8b4a5238be
[Chat] Sync convo agent with shadow cache ( #10827 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Co-authored-by: DS Boyce <260543580+ds-boyce@users.noreply.github.com >
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-06-10 08:16:58 -07:00
Samuel Newman
17ff9af200
[Chat] Some tweaks ( #10840 )
2026-06-10 06:38:31 -07:00
DS Boyce
8720d05242
Clear search term after adding chat member ( #10831 )
2026-06-09 23:47:13 -07:00
DS Boyce
189dad8cb7
Address chat design nits ( #10823 )
2026-06-09 11:36:08 -07:00
DS Boyce
de5ae04809
Fix link to profile from chat invite embed ( #10822 )
2026-06-09 11:35:45 -07:00
Samuel Newman
6ba5154bcc
[Chat] Show invite link label in chat list preview ( #10811 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 11:07:45 -07:00
DS Boyce
994e27ded1
Don't suggest users who can't be messaged/added ( #10820 )
2026-06-09 10:45:50 -07:00
DS Boyce
750c55eff8
Display toast after reacting emoji reaction limit ( #10799 )
2026-06-09 09:36:35 -07: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
Samuel Newman
84c4223ff9
[Chat] Gate group chats for under-18 users ( #10548 )
...
Co-authored-by: Eric Bailey <git@esb.lol >
2026-06-09 06:31:22 -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
9b5fc19613
[Chat] Centralize conversation report-subject resolution ( #10754 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 10:07:35 -07:00
Samuel Newman
c4f3a2cb89
[Chat] Rename invite route to /chat/ ( #10782 )
2026-06-08 09:26:23 -07:00
DS Boyce
5c0429a3f7
Block posting of invalid chat invites ( #10757 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-06-08 05:28:24 -07:00
surfdude29
753015b59f
Add plural formatting to "Group name is too long" strings ( #10769 )
2026-06-08 02:42:50 -07:00
DS Boyce
a675cbacb6
Link to owner's profile from link embed ( #10759 )
2026-06-05 14:26:30 -07:00
DS Boyce
1d5fb89c80
Improve error messages for LeaveConvoPrompt ( #10760 )
2026-06-05 14:19:48 -07:00
Samuel Newman
b236f274c3
[Chat] Enforce limits for group size ( #10753 )
2026-06-05 23:17:29 +03:00
Samuel Newman
f8aae4a192
[Chat] Disable font scaling on fixed-height chat invite cards ( #10744 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 18:18:27 +03:00
Samuel Newman
67ed59fbcd
Align group invite settings with eligibility logic ( #10748 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 18:10:14 +03:00
Samuel Newman
3cdc0604ca
[Chat] Fix stale reactions dialog after removing a reaction ( #10743 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 06:38:23 -07:00
Samuel Newman
ded2ca3744
[Chat] Add chat invite as message embed type ( #10728 )
2026-06-04 13:11:03 -07:00
DS Boyce
1b4c72f516
Mount message dialogs once at the list level ( #10435 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-06-03 09:28:11 -07:00