Context
Follow-up tracker for the strategy-(b) Props cleanup that b9df5c0 carried out against the 2026-05-12 upstream surface. The 2026-05-14 rebase onto master @ 253ba11 skipped that commit — much of its body targeted components that ggml-org#22937 (Move static build output) and the autoscroll rework subsequently reshaped, and re-applying verbatim would have stranded active upstream components.
The non-state-specific halves of b9df5c0 did land:
That surfaced 120 errors worth of tracked debt.
Goalpost
svelte-check 13 errors (Props mismatch, clustered in ChatMessageUser)
eslint 107 errors
svelte/no-unused-props 65
@typescript-eslint/no-explicit-any 40
@typescript-eslint/no-unused-vars 2
─────────────────────────────────────────
total 120
Both pre-commit hook (tools/server/webui/.../pre-commit) and CI will fail on this surface until the count reaches zero.
Scope
Re-derive the Props of:
ChatMessageUser.svelte (flat path used by HT)
ChatMessage/ChatMessageUser/ChatMessageUser.svelte (upstream nested path)
- All sites that pass card-shaped
{icon, message, actions} into ChatMessageActions-aliased call sites
against the current upstream component shapes (post-ggml-org#22937, post-320a6a44a, post-dded58b45). b9df5c0 is a useful reference for the 2026-05-12 shape, not a template to apply verbatim.
Done when
npm run check → 0 errors, 0 warnings
npm run lint → 0 errors
- Pre-commit hook accepts a webui touch without
--no-verify
- Action toolbar visibly renders the icon row on every message variant in the running app
Context
Follow-up tracker for the strategy-(b) Props cleanup that b9df5c0 carried out against the 2026-05-12 upstream surface. The 2026-05-14 rebase onto master @ 253ba11 skipped that commit — much of its body targeted components that ggml-org#22937 (Move static build output) and the autoscroll rework subsequently reshaped, and re-applying verbatim would have stranded active upstream components.
The non-state-specific halves of b9df5c0 did land:
e1918a1— re-enabled the three masking eslint waivers65eb53c85— re-pointedChatMessageActionsalias to the rich icon-row (closes Runbook: rebase ht onto upstream/master (parked 2026-05-12) #38)That surfaced 120 errors worth of tracked debt.
Goalpost
Both pre-commit hook (
tools/server/webui/.../pre-commit) and CI will fail on this surface until the count reaches zero.Scope
Re-derive the Props of:
ChatMessageUser.svelte(flat path used by HT)ChatMessage/ChatMessageUser/ChatMessageUser.svelte(upstream nested path){icon, message, actions}intoChatMessageActions-aliased call sitesagainst the current upstream component shapes (post-ggml-org#22937, post-320a6a44a, post-dded58b45). b9df5c0 is a useful reference for the 2026-05-12 shape, not a template to apply verbatim.
Done when
npm run check→ 0 errors, 0 warningsnpm run lint→ 0 errors--no-verify