Fix #440: mention profile links #443

Merged
crueber merged 1 commit from fix/issue-440 into main 2026-09-13 13:36:18 +00:00
Owner

Renderer + spec only — NO server changes (notification fan-out already lands mentioned/team_mention).\n\n- web/src/lib/render-md.js: linkifyMentions pass beside the #N ref pass — @username + legacy @email → <a href="/{principal}>; mirrors ParseMentions boundaries (code spans/fences/links skipped, left boundary, trailing-punct strip); @org/team NOT linked; decision (a) — ALL grammar-valid tokens link, dead links acceptable (GitHub behavior); sanitizer unchanged; all renderBody consumers inherit it.\n- web/test/unit/mentions-autolink.test.js: 18 headless tests mirroring mentions_test.go.\n- docs/features/06_notifications.md §7 + Decisions, 08_ui_sdk.md renderer row + Decisions.\n\nTests: 18/18 new green; refs/markdown/blob-md/md-urls 78/78 green; full web suite 935 pass, 2 fail — both are smoke.test.js live-server probes failing identically on pristine main (instance on :8080 answers 401; untouched per task). vite build green; no new deps.

Renderer + spec only — NO server changes (notification fan-out already lands mentioned/team_mention).\n\n- web/src/lib/render-md.js: linkifyMentions pass beside the #N ref pass — @username + legacy @email → <a href="/{principal}>; mirrors ParseMentions boundaries (code spans/fences/links skipped, left boundary, trailing-punct strip); @org/team NOT linked; decision (a) — ALL grammar-valid tokens link, dead links acceptable (GitHub behavior); sanitizer unchanged; all renderBody consumers inherit it.\n- web/test/unit/mentions-autolink.test.js: 18 headless tests mirroring mentions_test.go.\n- docs/features/06_notifications.md §7 + Decisions, 08_ui_sdk.md renderer row + Decisions.\n\nTests: 18/18 new green; refs/markdown/blob-md/md-urls 78/78 green; full web suite 935 pass, 2 fail — both are smoke.test.js live-server probes failing identically on pristine main (instance on :8080 answers 401; untouched per task). vite build green; no new deps.
web/src/lib/render-md.js gains a linkifyMentions pass beside the #N
ref-autolink pass (06 §7): @username + legacy @email principals link to
/{principal}, mirroring identity.ParseMentions boundaries (code
spans/fences/links skipped via the same skipper tag list, same left
boundary, trailing-punct strip). @org/team NOT linked; ALL grammar-valid
tokens link with no existence probe (decision (a) — dead links acceptable,
GitHub behavior); marked-autolinked @email (mailto fold) handled, bare
addresses keep mailto. Sanitizer unchanged (plain relative anchors); every
renderBody consumer (issue/PR/review threads) inherits it. Headless cover
in web/test/unit/mentions-autolink.test.js mirroring mentions_test.go;
ref-autolink #N behavior byte-identical. Docs 06 §7 + 08 renderer row
amended; Decisions appended in both.
Sign in to join this conversation.
No description provided.