Skip to content

fix(assistant): make history actions visibly interactive - #287

Merged
chaxus merged 4 commits into
mainfrom
codex/history-action-affordances
Oct 20, 2026
Merged

chaxus merged 4 commits into
mainfrom
codex/history-action-affordances

Conversation

@chaxus

@chaxus chaxus commented Oct 19, 2026 •

Copy link
Copy Markdown
Member

History & data commands looked like plain text until hover. They now have visible secondary button surfaces, a separate destructive group, and a visually distinct explicit-deletion confirmation.

Merge Verdict

[APPROVE]

Independent review approved the final follow-up after an outline-delete contrast finding was fixed. The change is limited to history-control grouping and appearance, with rendered regressions for the winning cascade and native interaction paths.

Summary

  • Add visible resting borders and token-based hover, pressed, focus and disabled states to history commands.
  • Separate destructive actions; preserve danger outlines on hover and use an accessible solid fill for explicit confirmation.
  • Cover themes, narrow layouts, keyboard activation/cancellation, actual export download and touch targets with real editor tests.

Risk Analysis

Risk Level Mitigation
Later CSS rules overriding command states Low Scoped state ownership and computed-style regressions in all three browser engines
Group wrappers breaking disabled or focus behavior Low Existing descendant queries retained; pending-deletion unit assertions and real history/workspace browser coverage

Design Decisions

  • Follow ran DESIGN/INTERACTION at 66a00775 using existing foundation/application tokens and the installed ranui builder.
  • Keep native buttons and existing confirmation, persistence, accessible names and focus-return ownership. The wrappers only group related commands.
  • Preserve multiple commits as requested: implementation, regression tests, verification documentation and the review-driven contrast fix.

Code Concerns

No unresolved findings in the scoped code review. Pre-PR review reproduced light-theme outline-delete hover/pressed contrast below AA; the fix now independently measures 5.04:1 / 5.43:1 in light and 5.62:1 / 5.29:1 in dark for both deletion controls.

Verification

  • Full local unit suite: 252 files / 6799 tests passed. The suite printed two non-fatal PromiseRejectionHandledWarning messages.
  • Initial local verification: 17 distinct browser cases passed without retries: 11 Chromium history/workspace cases plus six WebKit/Firefox history-action cases. The three Chromium history-action cases were also rechecked after refining the cross-browser keyboard assertions.
  • Actual rendering covers English/Portuguese, 1280/360/320px, both themes, AA text contrast, resting/hover/pressed/disabled/focus states, Enter/Escape, JSON download, focus restoration and 44px coarse-pointer targets.
  • RED/GREEN evidence: resting border width was zero; a neutral hover selector also overrode the danger border before its specificity was corrected.
  • Lint/TypeScript, production Vite builds, formatting, 1511 immutable evaluation artifacts and diff checks passed. Fresh post-review verification passed 32 focused unit tests, all 3 Chromium history-action cases without retries, and changed-file formatting.
  • Credential, clean-worktree and current-main preflight checks passed. The helper's single-commit requirement is intentionally overridden by the explicit request to preserve multiple commits.

Final-head remote acceptance

All workflows below passed on 12002592d95423f288cf2aa7ebf0c9e62ee7049b; all four commits are pushed.

Workflow Verified result
Main CI Success, 252 unit files / 6799 tests; coverage 87.79% statements / 83.94% branches / 88.77% functions / 90.25% lines, all thresholds met. Default preview 346, Docker 350, Pages 346 and timing budgets 2 passed, with zero flaky/retry cases
Real deployed-preview smoke Success, 41 passed without retries. Exact final-head deployment gate passed at the preview; independent HTTP verification confirmed its identity and Cache-Control: no-store
Complete nightly browsers/budgets Success, all six ordinary shards, both serial jobs and aggregate passed: 664 passed / 3 flaky (configured first retry passed) / 61 skipped. The three added cases passed once per engine (six executions total) without retries; serial 2 passes per engine, UI crawl 3 passed, throttled-network budget 1 passed
Semantic PR validation Success; the check triggered by the final PR-body update is verified before handoff

All eight distinct browser reports were uploaded. The weekly external-document corpus was explicitly excluded from this focused UI/browser validation. No main/preview/nightly job or workflow was rerun on this head, and no timeout, worker, retry, skip or assertion policy was relaxed.

Existing retry observations

These workflow results are not zero-retry nightly results. Three unchanged tests passed their configured first retry; their original observations are retained in the linked nightly logs and artifacts:

  • WebKit agent-composer-ux.spec.ts:153: historical reading position changed after editing the next draft (scrollTop 1293 instead of 0).
  • Firefox agent-sources-artifacts.spec.ts:136: the reference-preview summary detached during a click after search, exhausting the existing test timeout.
  • Firefox save-to-file.spec.ts:289: initial text insertion was not observed within the existing five-second assertion, before the held-conversion fault was installed.

No added history-action regression required a retry.

Conclusion basis: verified through the commands and rendered interactions above, plus caller/selector tracing. Main CI, real deployed-preview smoke and the complete nightly browser/budget workflow passed on the pushed head; remaining pre-existing nightly flakiness is disclosed above, and the unrelated weekly corpus matrix is outside this UI change.

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying document with  Cloudflare Pages  Cloudflare Pages

Latest commit: 1200259
Status: ✅  Deploy successful!
Preview URL: https://c79a4c46.document-7hm.pages.dev
Branch Preview URL: https://codex-history-action-afforda.document-7hm.pages.dev

View logs

@chaxus
chaxus merged commit 6525b80 into main Oct 20, 2026
32 checks passed
@chaxus
chaxus deleted the codex/history-action-affordances branch October 20, 2026 00:58
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.

1 participant