Skip to content

feat: Per-Instance Accent Color (Host Color)#435

Merged
sahil-noon merged 6 commits into
mainfrom
260721-1etw-instance-accent-host-color
Jul 22, 2026
Merged

feat: Per-Instance Accent Color (Host Color)#435
sahil-noon merged 6 commits into
mainfrom
260721-1etw-instance-accent-host-color

Conversation

@sahil-noon

Copy link
Copy Markdown
Collaborator

Meta

Change ID Type Confidence Plan Review
1etw feat 4.4/5.0 10/10 tasks, 19/19 acceptance ✓ ✓ 1 cycle
Impact +/− Net
raw +1558 / −41 +1517
true +1124 / −29 +1095
└ impl +799 / −29 +770
└ tests +325 / −0 +325

excludes fab/, docs/ · generated by fab-kit v2.16.5

Pipeline: intake ✓ → apply ✓ → review ✓ → hydrate ✓ → ship → review-pr

Summary

Multiple run-kit instances viewed as installed Chrome PWA windows on one laptop are visually identical — the only differentiator is a title-bar hostname suffix, which is easy to miss and risks acting on the wrong instance. This adds a per-instance accent color ("host color") stored authoritatively on the instance's host (~/.rk/settings.yaml), with a zero-config hash-based fallback and a manual swatch-picker override, so every device viewing that instance sees the same accent.

Changes

  • Settings storage — instance_color in ~/.rk/settings.yaml
  • API — GET/POST /api/settings/instance-color
  • Fallback chain (resolution order on the frontend)
  • Picker — swatch button on the HOST panel header
  • Rendering surfaces (instance accent owns surfaces server colors never touch)
  • PWA titlebar bridge — <meta name="theme-color">
  • Explicitly out of scope (follow-up change)

@sahil-noon
sahil-noon marked this pull request as ready for review July 21, 2026 20:48
sahil87 added 4 commits July 22, 2026 08:24
- CollapsiblePanel gains a titleAction slot (sibling of the toggle button,
  rendered right after the title; trailing header region keeps mouse
  click-to-toggle) and the instance-color picker moves onto it
- picker popover anchors left (button now sits at the sidebar's left edge)
- remove the HOST-header connection dot: the top-bar dot reflects the same
  current-server subscription health, and the "SSE" title predated /ws/state
…fallback

Resolution is now: explicit instance_color -> localStorage echo (paint seed
while the fetch is pending) -> none. A fresh instance renders no accent until
the user picks one; Clear color removes the accent entirely. The hash default
could coincide with a just-cleared pick, making clear look like a no-op.
The flip-above branch positioned by a 190px height estimate, floating the
color-only popover (~100px real height) far above the palette button. Anchor
the flipped popover with CSS bottom instead — exact regardless of height;
the estimate now only picks the branch.
The board-route test still asserted the removed SSE-titled dot; assert its
absence instead, and update the .spec.md companion in the same commit.
@sahil-noon
sahil-noon merged commit 24ed69e into main Jul 22, 2026
6 checks passed
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.

2 participants