Share register dialogs with Bits UI and fix Woodpecker E2E image #36

Merged
eleith merged 1 commits from refactor/bits-dialogs into main 2026-11-04 15:23:14 +00:00

Goal

Architecture-alignment PR 8 of 9: replace duplicated Cash/Investment dialog mechanics with one small Bits UI shell, following the approved reference patterns. Includes the requested Woodpecker image correction in the same commit and Changeset.

Changes

  • Pin Bits UI 2.18.1, matching When and Directory.
  • Share portal, overlay, positioning, close control, focus trapping, scroll lock and return-focus behavior through DetailDialog.svelte. Styled DOM stays owned through child snippets.
  • Preserve stable accessible labels, Escape/close-button dismissal and non-dismissive backdrop clicks. Return focus to a connected enabled opener, otherwise main content.
  • Keep financial markup, native values and payload-bound selection in each register. Navigation/replacement data invalidates selection; register buttons remain disabled before hydration and normal report tables remain readable without JavaScript.
  • No unrelated Bits controls, generic dialog framework, transitions or forced SSR portal content.
  • Change Woodpecker E2E to git.eleith.com/eleith.private/playwright:1.61.1-node26. Docker/GitHub image choices are unchanged.

Validation

  • Code and readability reviews clear on tree 6922cc54a5d2aebeba595f985ae455908dec87be.
  • Web typecheck, lint, targeted register financial-rendering tests and web build passed.
  • Both existing register browser journeys passed with focused Escape, close, backdrop, focus-return and navigation assertions. No new browser matrix.
  • Focused owned-browser inspection verified portal placement, inherited typography, desktop/narrow light/dark layouts, focus trapping, missing-opener fallback and background scroll lock; no browser errors.
  • Woodpecker YAML image declaration matches the private registry and pinned Playwright version. Changeset recognized; no version bump run.
  • Optional runed Kit 2 peer metadata remains unsuppressed. The unused runed/kit entry is not used; the actual dialog path passed Kit 3.1.1/Svelte 5.57.3 type/build/browser checks.
  • Unchanged backend/deployment gates were not rerun. Docker engine, private-image pulling and hosted Woodpecker were not exercised locally.

Operator configuration, journals and personal tooling remained unchanged.

## Goal Architecture-alignment PR 8 of 9: replace duplicated Cash/Investment dialog mechanics with one small Bits UI shell, following the approved reference patterns. Includes the requested Woodpecker image correction in the same commit and Changeset. ## Changes - Pin Bits UI 2.18.1, matching When and Directory. - Share portal, overlay, positioning, close control, focus trapping, scroll lock and return-focus behavior through `DetailDialog.svelte`. Styled DOM stays owned through child snippets. - Preserve stable accessible labels, Escape/close-button dismissal and non-dismissive backdrop clicks. Return focus to a connected enabled opener, otherwise main content. - Keep financial markup, native values and payload-bound selection in each register. Navigation/replacement data invalidates selection; register buttons remain disabled before hydration and normal report tables remain readable without JavaScript. - No unrelated Bits controls, generic dialog framework, transitions or forced SSR portal content. - Change Woodpecker E2E to **`git.eleith.com/eleith.private/playwright:1.61.1-node26`**. Docker/GitHub image choices are unchanged. ## Validation - Code and readability reviews clear on tree `6922cc54a5d2aebeba595f985ae455908dec87be`. - Web typecheck, lint, targeted register financial-rendering tests and web build passed. - Both existing register browser journeys passed with focused Escape, close, backdrop, focus-return and navigation assertions. No new browser matrix. - Focused owned-browser inspection verified portal placement, inherited typography, desktop/narrow light/dark layouts, focus trapping, missing-opener fallback and background scroll lock; no browser errors. - Woodpecker YAML image declaration matches the private registry and pinned Playwright version. Changeset recognized; no version bump run. - Optional `runed` Kit 2 peer metadata remains unsuppressed. The unused `runed/kit` entry is not used; the actual dialog path passed Kit 3.1.1/Svelte 5.57.3 type/build/browser checks. - Unchanged backend/deployment gates were not rerun. Docker engine, private-image pulling and hosted Woodpecker were not exercised locally. Operator configuration, journals and personal tooling remained unchanged.
eleith-gitea-agent Bot added 1 commit 2026-11-04 15:16:32 +00:00
refactor(web): share Bits UI dialogs and fix Woodpecker E2E image
ci/woodpecker/pr/config Pipeline was successful
ci/woodpecker/pr/hledger Pipeline was successful
ci/woodpecker/pr/jobs Pipeline was successful
ci/woodpecker/pr/snapshots Pipeline was successful
ci/woodpecker/pr/web Pipeline was successful
ci/woodpecker/pr/worker Pipeline was successful
ci/woodpecker/push/config Pipeline was successful
ci/woodpecker/push/hledger Pipeline was successful
ci/woodpecker/push/jobs Pipeline was successful
ci/woodpecker/push/snapshots Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
ci/woodpecker/push/worker Pipeline was successful
fd460bdc89
eleith merged commit fd460bdc89 into main 2026-11-04 15:23:14 +00:00
eleith deleted branch refactor/bits-dialogs 2026-11-04 15:23:14 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: eleith/hledger-web-reports#36