Skip to content

feat(enhancements): ended Forge sandboxes read as grey Terminated - #6

Merged
ijdoc merged 5 commits into
mainfrom
feat/5-sandbox-status
Oct 7, 2026
Merged

ijdoc merged 5 commits into
mainfrom
feat/5-sandbox-status

Conversation

@ijdoc

@ijdoc ijdoc commented Oct 7, 2026

Copy link
Copy Markdown
Owner

Overview

The first real enhancement: in the Forge sandboxes list, an ended sandbox's green Completed pill becomes a neutral grey Terminated, so an ended sandbox no longer reads as running. Rationale and the natural-exit caveat are in #5.

Changes

  • enhancements/forge-sandbox-status.js — relabel + CSS reusing the pill's own --tag-* variables with Forge's neutral values (with fallbacks); checkmark replaced by a neutral ring. Targets data- attributes only.
  • createRelabel now rewrites the element's own text nodes in place instead of replacing its children — icons survive, and so do nodes a framework-rendered page holds references to.
  • Hand-written synthetic fixture of the status cells; the fixture guard now accepts zero-padded placeholder UUIDs with a two-digit counter (CONTRIBUTING.md updated).
  • Version 1.2.0.

Testing

  • npm run lint, npm test — 43 tests, including exact restore, idempotence, and other statuses left alone
  • Selectors checked locally against a real saved copy of the page (kept in the gitignored test/fixtures/private/, not committed): both Completed pills relabelled, icons kept, exact restore
  • On the live page: switch on, flip as shipped / proposed, badge shows only while proposed

Related Issues

Closes #5

🤖 Generated with Claude Code

ijdoc and others added 5 commits October 7, 2026 10:09
Replacing an element's children dropped its icon and swapped out nodes
a framework-rendered page keeps references to. Rewrite the element's
own text nodes in place instead, and skip elements whose text is nested
deeper.

Refs #5

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Relabels the status pill from Completed to Terminated and greys it with
Forge's own neutral pill variables, replacing the checkmark with a
neutral ring. Targets data- attributes only; Forge's classes are hashed.
Tested against a hand-written synthetic fixture; numbered zero UUIDs are
now accepted as placeholders.

Refs #5

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…entre the badge

Forge raises its pill colour rules' specificity by repeating the class,
so the plain override never won and the pill stayed green. The colour
overrides are now !important (they exist only while the enhancement is
on). The checkmark becomes a grey ring with a diagonal bar, drawn as a
mask at the original icon's size. The Enhanced badge moves to the top
centre.

Refs #5

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A ring with a horizontal dash (as on the European no-entry sign) reads
as ended rather than as an error, which the diagonal bar suggested.

Refs #5

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ijdoc
ijdoc merged commit 29f7b69 into main Oct 7, 2026
1 check passed
@ijdoc
ijdoc deleted the feat/5-sandbox-status branch October 7, 2026 14:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Forge: ended sandboxes read as grey Terminated, not green Completed

1 participant