feat: page padding, hiding, a Components section and a bookmarks list #7
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/components-padding"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The page's layout and its settings, reworked so every part can be placed, hidden and found again:
CtPartEditor, so no component implements it; a component that exports neitherwidgetnortabis a building block and gets none. Hiding the toolbar warns that Ctrl+, still opens Settings.bookmarks.ts).78b0038).Design and plan:
docs/superpowers/specs/2026-09-30-components-padding-design.md,docs/superpowers/plans/2026-09-30-components-padding.md. The IDEAS.md entry notes the plugin system and an in-browser editor, left for later.Testing
node --test tests/*.test.mjs: 6/6, including the bookmarks migration and the Tree Style Tab defaults.npm run --prefix extension test): 44/44, with tests for each interaction above; the one that flaked under load now passes 40 runs in a row.cargo fmt --check,cargo clippy, svelte-check, the build,web-ext lintand the book build pass in the pre-commit and pre-push hooks, andtests/e2e-firefox.mjsin pre-push.Checklist
cargo fmt --checkandcargo clippy --all-targets -- -D warningspassweb-ext lint --source-dir extension --self-hostedhas no errorsdocs/src/), README and CHANGELOG match the changetype(scope): ...)The pen's outline used a positive outline-offset, so it sat outside the part: the menu's panel clipped it and a bookmark on the window's edge cut it off. Flip it inward (-outline-offset-2, marked with .ct-edit) so every part keeps all four sides. The menu had no pen box of its own; only its tabs and the toolbar did. It now exports a WidgetInfo ("Menu", no fields, since there's nothing to edit beyond opening it) and gets a box on the button while closed, and on the whole panel while open (outside the tabs' clipping div, whose overflow-hidden is now conditional on being open, since there's nothing to clip while closed). Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>Settings: one `{#key focus}` now wraps the whole main-tabs/screen swap, so opening a screen from Components (not just screen-to-screen) plays its slide up, and back plays its slide down; the tabs' own sideways key is freshly mounted on every such return, so the `noFly` latch it used to need (and which stuck after the first back, killing every later tab switch) is gone. Bookmarks list: rows are now keyed by the bookmark's id instead of its array position, so Alt+arrow and drag track the item, not the slot; Firefox blurs a keyed-each row it physically reorders, so the row refocuses itself once the reorder's reached the DOM. The drag handle drops its false button semantics (Enter/Space did nothing) for tabindex="-1", and a row now opens its bookmark from anywhere but the handle and the switch, not only its name button. Docs: plugins.md gets edit()'s `back` parameter and the `switch` field type, both already shipped but undocumented. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>Ships the maintainer's own new-tab settings as the extension's defaults, verbatim, in place of the placeholder ones: font Rubik, padding, the Tiles-preset bookmarks grid down to its ten tiles and their colours and glyphs (typos in a name and a custom site's URL kept as they were), the menu opening on Media, GitHub's Private activity off, the two custom site overrides (Forgejo, Navidrome), and Tree Style Tab tinted from the wallpaper. Two exceptions: menu.tabs.CtMedia.player keeps the tab's own default ("") rather than a session-specific MPRIS instance id, and clock's legacy timeSize/dateSize (superseded by pt sizes) are dropped. Most of the Playwright suite was written against the old defaults (four shown bookmarks, the menu closed) as a convenient fixture for testing unrelated behaviour; it now seeds that shape itself before each test's first load, and a new test asserts the real defaults on an untouched page. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.