Fix link deduplication in ArtifactsPanel — three root causes
1. normalizeUrlForDedup returned only pathname, so https://a.com/foo
   and https://b.com/foo shared key /foo. Now uses host+pathname
   (with www stripped).
2. Trailing punctuation was stripped for display but not before dedup,
   so https://example.com/path. and https://example.com/path got
   different keys /path. vs /path. Now stripTrailingPunctuation() runs
   before normalizeUrlForDedup().
3. Fragile before==='(' skip logic for markdown hrefs replaced with
   precise protectedRanges tracking — bare URLs whose match falls inside
   a recorded markdown href range are skipped regardless of spacing.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 4f78099 commit 0dbb3485f95affba17e729b0f73d496ab6a7bfc8
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored on 24 May
Showing 6 changed files
View
webclient/dist/assets/index-Bn83C7zu.js 0 → 100644
Not supported
View
webclient/dist/assets/index-BoHlPEmx.css 0 → 100644
View
webclient/dist/assets/index-BuXlKv2s.css 100644 → 0
View
webclient/dist/assets/index-CttbeAnA.js 100644 → 0
Not supported
View
webclient/dist/index.html
View
webclient/src/components/artifacts/ArtifactsPanel.vue