From e930bfd397b5b7c9e2bfc0876551f3e0beceb2c0 Mon Sep 17 00:00:00 2001 From: Daniel Norman Date: Tue, 6 Oct 2026 13:36:22 +0200 Subject: [PATCH] Link and mention releases - Route release and release list links to their views - Offer releases for a pasted ID or link - List delegate releases in # search - Show release references as chips - Cache release lookups for mentions - Record release mentions in ADR 0003 --- docs/adr/0003-radicle-references.md | 5 ++- src/components/Mention.svelte | 45 +++++++++++++++++++ src/components/MentionAutocomplete.svelte | 55 ++++++++++++++++++++++- src/lib/invoke.ts | 30 +++++++++++++ src/lib/mentions.ts | 28 ++++++++++-- tests/e2e/repo/mentions.spec.ts | 51 +++++++++++++++++++-- tests/unit/deepLink.test.ts | 11 ++--- tests/unit/mentionTrigger.test.ts | 18 +++++--- tests/unit/mentions.test.ts | 30 +++++++++---- 9 files changed, 240 insertions(+), 33 deletions(-) diff --git a/docs/adr/0003-radicle-references.md b/docs/adr/0003-radicle-references.md index 66aeaf311..12f8cc473 100644 --- a/docs/adr/0003-radicle-references.md +++ b/docs/adr/0003-radicle-references.md @@ -38,7 +38,8 @@ text as an absolute identifier: | Person | `did:key:` | - Object ids are always full. The composer expands a prefix and offers every - match when several objects share it. + match when several objects share it. It searches only delegate releases; + a full release id or link resolves any release. - Identifiers are never relative to the current repo. - Explorer URLs are accepted as input and normalised on insert. Where a URL is ambiguous, as in `/tree//` with a branch containing @@ -54,7 +55,7 @@ from explorer routes. It is tested against the RIP 4 vectors and `radicle-uri`'s cases. **Clients decide presentation.** This app shows repos, issues, patches, -commits and people as chips, and every other entity above as a link +releases, commits and people as chips, and every other entity above as a link labelled with the repo name, such as `heartwood: src/lib.rs`. Either navigates in-app when the repo is local and falls back to the configured `publicExplorer`, which a right click also offers. A resource a client does diff --git a/src/components/Mention.svelte b/src/components/Mention.svelte index eec73d403..727f9fa8a 100644 --- a/src/components/Mention.svelte +++ b/src/components/Mention.svelte @@ -1,6 +1,7 @@