Dot Palette

repo: ~/Projects/dot-palette · 3 commits · 0 in last 24h, 0 in last 7d ·

Search the build

3 commits indexed

  1. 9fc1f03 2026-09-17 dot-palette: guard IPC calls so the palette degrades gracefully without the preload bridge (TK-11877)
  2. bc3244f 2026-09-17 dot-palette: side-effect-free test seam + selftest + safe-by-default screenrecord (TK-11877)
  3. 2629bec 2026-09-16 dot-palette: always-on-top click palette to set the current iTerm2 tab's status dot

Authors

Agents used

  • none detected

Skills used

  • /claude2
  • /code2
  • /quit1
  • /run1

Creative ideas + design notes

Commits with substantial prose (≥120 chars) — the rationale behind each move.

9fc1f03 · 2026-09-17 · dot-palette: guard IPC calls so the palette degrades gracefully without the preload bridge (TK-11877)
Empirically seeded by cycle-1 screenrecord: opening index.html in a plain browser
(no Electron preload) threw uncaught 'Cannot read properties of undefined (reading
move/quit)' on grip-drag + close. window.palette?.move?.() / ?.quit?.() no-op when
the bridge is absent; identical in Electron where preload defines window.palette.
Isolated screenrecord re-test: 10 error-bearing records -> 0 (5 passes clean).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017wvstRQCpemptApArrjQRg
bc3244f · 2026-09-17 · dot-palette: side-effect-free test seam + selftest + safe-by-default screenrecord (TK-11877)
Hardening pass (Cody FIX-FIRST gated). server.js gains 4 test seams
(DOTPALETTE_ENGINE/_BIN/_TTY_OVERRIDE/_PORT_FILE) each with a || fallback, so
the full HTTP->engine path can be exercised on an ephemeral port with a mock
engine + fake tty, never touching a real iTerm2 tab or the live :9791 palette.

Production isolation is CODE-enforced, not assumed: start.command unsets the
seams and electron-main.js strips them from the spawned server.js env, so a
stray seam in the shell can never leak in to mock the engine or mis-target a tty.

selftest.js: 7/7 incl 2 NEGATIVE cases (reddens on injected engine failure +
unresolvable tty) per CLAUDE.md TK-11431 amд3. screenrecord/run.js: was hitting
the LIVE palette (repainting the focused tab, 5x); now boots its own isolated
instance by default, live only on explicit --live.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017wvstRQCpemptApArrjQRg

File tree

9 files tracked. Click any to browse the source at HEAD.

Other build journals

← Domain Sniper  ·  all 4 projects  ·  Draft Viewer →

Export

commits.csv · feed.atom · project.json · commits.json

rendered in 1ms