You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat!: parse Comms URLs with the SDK
The SDK holds the shared Comms route rules, so parseCommsUrl hands the
URL to it rather than walking path segments here. Both the /a/{id}/ and
bare /{id}/ prefixes, the staging and local hosts, and the inbox and
saved thread routes are all covered by it.
A bare workspace URL names no entity, so the SDK does not recognise it;
that case is still read here, and a malformed route still falls through
to workspace-only rather than being misrouted as a thread, comment, or
conversation ref.
The search fallback link now comes from getFullCommsURL too, rather than
being the one hand-built URL left in the CLI.
Test IDs were short placeholders that the shared rules reject, so the
URL fixtures now use real base58-encoded UUIDv7 values.
BREAKING CHANGE: a Comms URL whose entity ID is not a base58-encoded
UUIDv7 is no longer recognised. Comms only issues IDs in that format, so
this rejects malformed links rather than passing them to the API.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* test: pin the non-base58 id contract
Every parse case now uses a valid base58-encoded UUIDv7, so the contract
this change introduces — a well-formed path whose id is not that shape
names no entity and reads as workspace-only — could regress without a
failure. Covers the channel, thread and conversation routes.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
0 commit comments