~bigbes/sr-ht-dolt · parade

main · last commit 6 hours ago · ti41arbu

← Back to the parade

sr-ht-dolt-x5f Resolve favicon via assets.Resolve instead of hardcoded fs.Stat + literal name Lined Up

status: open P3 task
bd update sr-ht-dolt-x5f --claim bd close sr-ht-dolt-x5f
Created byEugene Blikh
Ownerbigbes@gmail.com
Created2026-08-17T20:39:52Z
Updated2026-08-17T20:39:52Z
Description
What is wrong: `sourcehut-dolt/web/router.go` links its favicon by a hardcoded literal name (`const faviconFile = "logo.svg"`), guarded by `fs.Stat`, plus `NormalizePrefix(...) + faviconFile`, instead of resolving it through `assets.Resolve` like the rest of the family.

Why it matters: dolt's `fs.Stat` guard does avoid a 404-on-every-page failure if the file goes missing, but it keeps two spellings of the same decision live in the family, and — unlike `assets.Resolve` — it will not pick up a hashed/renamed icon. specs' own layout comment argues the general case explicitly: "a path a template asserts is one that 404s on every page load if the file is ever renamed or hashed." Behaviorally equivalent to the correct pattern today, but structurally divergent and fragile to a future rename.

Sibling that already does it correctly: tokens, coverage, specs, and artifacts all resolve their favicon through `assets.Resolve`.

Fix: replace the `fs.Stat` + literal-name logic with `assets.Resolve(static, "logo.*svg", assets.DefaultPrefix)`.

Status: verified.

Audit: D36 (cross-repo audit, 2026-08-17)

Depends on

No outgoing dependencies.

Depended on by

Nothing depends on this issue.

No comments.

  • Eugene Blikh created the issue · 2026-08-17T23:39:52Z
Stored rows — what this pane was built from, as read
issues 1 row
id sr-ht-dolt-x5f
content_hash 263bd20b7887ab90a687973c7d3683fae1294e1f0e58657601709ca497c8f10e
title Resolve favicon via assets.Resolve instead of hardcoded fs.Stat + literal name
description What is wrong: `sourcehut-dolt/web/router.go` links its favicon by a hardcoded literal name (`const faviconFile = "logo.svg"`), guarded by `fs.Stat`, plus `NormalizePrefix(...) + faviconFile`, instead of resolving it through `assets.Resolve` like the rest of the family. Why it matters: dolt's `fs.Stat` guard does avoid a 404-on-every-page failure if the file goes missing, but it keeps two spellings of the same decision live in the family, and — unlike `assets.Resolve` — it will not pick up a hashed/renamed icon. specs' own layout comment argues the general case explicitly: "a path a template asserts is one that 404s on every page load if the file is ever renamed or hashed." Behaviorally equivalent to the correct pattern today, but structurally divergent and fragile to a future rename. Sibling that already does it correctly: tokens, coverage, specs, and artifacts all resolve their favicon through `assets.Resolve`. Fix: replace the `fs.Stat` + literal-name logic with `assets.Resolve(static, "logo.*svg", assets.DefaultPrefix)`. Status: verified. Audit: D36 (cross-repo audit, 2026-08-17)
design
acceptance_criteria
notes
status open
priority 3
issue_type task
assignee NULL
estimated_minutes NULL
created_at 2026-08-17T20:39:52Z
created_by Eugene Blikh
owner bigbes@gmail.com
updated_at 2026-08-17T20:39:52Z
closed_at NULL
closed_by_session
external_ref NULL
spec_id
compaction_level 0
compacted_at NULL
compacted_at_commit NULL
original_size NULL
sender
ephemeral 0
wisp_type
pinned 0
is_template 0
mol_type
work_type
source_system
metadata �{}
source_repo
close_reason
event_kind
actor
target
payload
await_type
await_id
timeout_ns 0
waiters
hook_bead
role_bead
agent_state
last_activity NULL
role_type
rig
due_at NULL
defer_until NULL
no_history 0
started_at NULL
is_blocked 0
events 1 row
id 01a01173-ba84-7a41-883d-e5acb3ab3c1c
issue_id sr-ht-dolt-x5f
event_type created
actor Eugene Blikh
old_value
new_value
comment NULL
created_at 2026-08-17T23:39:52Z