detached a9a951b

docs(systemviews): summarize wasm parity work

commit
a9a951b739602a5635d41b111e34a1da8c08c752
author
brice · · 2026-04-24 03:18 UTC
parent
d944cf1
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
1 file · +11 -1
M docs/systemviews-wasm-crud-plan.md +11 -1
@@ -8,7 +8,7 @@ This note captures the parity target for the `feat/systemviews-wasm` branch afte
88 - Branch: `feat/systemviews-wasm`
99 - Merge baseline: `d84415e5` (`Merge branch 'main' into feat/systemviews-wasm`)
1010 - Vendor baseline: `go mod vendor` has been run in the worktree and `go list -mod=vendor ./...` succeeds there.
11-- Root-checkout diagnostics may still report vendoring issues because the editor diagnostics point at `/home/brice/dev/projects/dumber`, not this branch worktree.
11+- Root-checkout vendoring diagnostics were corrected separately with `go mod vendor`; branch validation should still use `-mod=vendor` after dependency changes.
1212
1313 ## Clean architecture contract
1414
@@ -96,6 +96,16 @@ Implementation path:
9696 4. Use existing `ManagePanesUseCase.Split` with `SplitPaneInput.InitialURL` to keep domain/usecase clean.
9797 5. Add tests in input, dispatcher, config defaults/schema, and workspace coordinator.
9898
99+## Completed branch notes
100+
101+- Rendering now uses typed `github.com/a-h/templ` components under `internal/ui/systemviews/*.templ`; generated `*_templ.go` files are committed alongside source templates.
102+- `make build-systemviews` runs `go tool templ generate -path internal/ui/systemviews -include-version=false` before building the WASM runtime.
103+- History supports search, domain filters, pagination, analytics/domain summaries, single/range/domain deletion, row open actions, alerts, and keyboard navigation.
104+- Favorites supports create/update/delete for favorites, folders, and tags; folder/tag filters; shortcut editing; tag assignment/removal; alerts; and keyboard navigation.
105+- Config supports editable appearance, search defaults, search shortcut CRUD, performance profile/custom values, keybinding set/reset/reset-all, success/error states, and refreshes the config payload/theme after save.
106+- Native global actions use `toggle_*_systemview` names and open/focus/close History/Favorites/Config system views through the coordinator/right-split path.
107+- Trust-boundary hardening includes templ HTML escaping, URL scheme sanitization for rendered links, sanitized CSS color use for tag swatches, serialized DOM action handling, and route-level error states.
108+
99109 ## Implementation notes
100110
101111 - Do not resurrect `webui/`; the branch intentionally removed Svelte assets.
@@ -8,7 +8,7 @@ This note captures the parity target for the `feat/systemviews-wasm` branch afte
8 - Branch: `feat/systemviews-wasm`8 - Branch: `feat/systemviews-wasm`
9 - Merge baseline: `d84415e5` (`Merge branch 'main' into feat/systemviews-wasm`)9 - Merge baseline: `d84415e5` (`Merge branch 'main' into feat/systemviews-wasm`)
10 - Vendor baseline: `go mod vendor` has been run in the worktree and `go list -mod=vendor ./...` succeeds there.10 - Vendor baseline: `go mod vendor` has been run in the worktree and `go list -mod=vendor ./...` succeeds there.
11-- Root-checkout diagnostics may still report vendoring issues because the editor diagnostics point at `/home/brice/dev/projects/dumber`, not this branch worktree.11+- Root-checkout vendoring diagnostics were corrected separately with `go mod vendor`; branch validation should still use `-mod=vendor` after dependency changes.
12 12
13 ## Clean architecture contract13 ## Clean architecture contract
14 14
@@ -96,6 +96,16 @@ Implementation path:
96 4. Use existing `ManagePanesUseCase.Split` with `SplitPaneInput.InitialURL` to keep domain/usecase clean.96 4. Use existing `ManagePanesUseCase.Split` with `SplitPaneInput.InitialURL` to keep domain/usecase clean.
97 5. Add tests in input, dispatcher, config defaults/schema, and workspace coordinator.97 5. Add tests in input, dispatcher, config defaults/schema, and workspace coordinator.
98 98
99+## Completed branch notes
100+
101+- Rendering now uses typed `github.com/a-h/templ` components under `internal/ui/systemviews/*.templ`; generated `*_templ.go` files are committed alongside source templates.
102+- `make build-systemviews` runs `go tool templ generate -path internal/ui/systemviews -include-version=false` before building the WASM runtime.
103+- History supports search, domain filters, pagination, analytics/domain summaries, single/range/domain deletion, row open actions, alerts, and keyboard navigation.
104+- Favorites supports create/update/delete for favorites, folders, and tags; folder/tag filters; shortcut editing; tag assignment/removal; alerts; and keyboard navigation.
105+- Config supports editable appearance, search defaults, search shortcut CRUD, performance profile/custom values, keybinding set/reset/reset-all, success/error states, and refreshes the config payload/theme after save.
106+- Native global actions use `toggle_*_systemview` names and open/focus/close History/Favorites/Config system views through the coordinator/right-split path.
107+- Trust-boundary hardening includes templ HTML escaping, URL scheme sanitization for rendered links, sanitized CSS color use for tag swatches, serialized DOM action handling, and route-level error states.
108+
99 ## Implementation notes109 ## Implementation notes
100 110
101 - Do not resurrect `webui/`; the branch intentionally removed Svelte assets.111 - Do not resurrect `webui/`; the branch intentionally removed Svelte assets.

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 42

↑↓ moveenter openesc close