Fix JavaScript code that generates links with unresolved template literal variables. The link checker found /analysis/${data.analysis_id} and /graph/${d.neurowiki_url} being treated as literal paths instead of dynamically resolved URLs.
/, /graph, /exchange/graph/${d.neurowiki_url} (404, source: /graph page)/analysis/${data.analysis_id} (404, source: seed)
r'href="([^"]*)"' was matching template literals inside JavaScript strings, creating false positives <a href="/analysis/${data.analysis_id}">
- To: '<a href="/analysis/' + data.analysis_id + '">'
- Restarted API:
sudo systemctl restart scidex-api
Verified fix: Ran link checker again → 0 broken links ✓
All pages loading correctly
Result: Complete — Template literal issues resolved
Already Resolved — 2026-04-24 14:00:00Z
Evidence:
link_checker.py line 164-165: strips <script> tags before href scanning (re.sub(r'<script\b[^>]>.?</script>', '', resp.text, ...))
link_checker.py lines 299-304: _is_template_href() filters ${, {{, }} patterns from any hrefs that escape script-stripping
api.py lines 49043, 49050, 49053: debate modal uses proper Python f-string escaped template literals (${{data.analysis_id}} → ${data.analysis_id} in JS, backtick strings)
site/graph.html line 702: graph node dblclick uses d.wiki_url (pre-resolved server-side URL), not d.neurowiki_url
Fix SHAs:
4c0fd4cf7 — [UI] Fix link checker to ignore JavaScript template literals (strip script tags) [task:58a44f6f]
e9f77476e — [Atlas] Fix graph visualization template literal for NeuroWiki links [no task]
d39012e0b — [UI] Spec update for this task
Summary: Both broken link reports were false positives from the link checker scanning JavaScript inside <script>` tags. The link checker has been fixed; JavaScript code uses correct template literal syntax that resolves at runtime.