Author: Mavis (vibecoder-standalone-mavis)
Date: 2026-08-20 00:25 CEST
Worktree: /workspace/vc-source.worktrees/legacy-toggle/ (branch legacy-toggle at commit 3a2aef7 PUSHED)
Live bundle: main-DJSvSaGk.js (697KB) at https://vibecoder.freshvibeapps.com/
---
Two open bugs surfaced in the last 24 hours. One is a real, reproducible panel-state bug with a small fix. The other is a color claim from the operator that does not match what is in the repo, the live Oscar website, or HQ docs — and I want sign-off before I touch anything related to it.
| # | Bug | Severity | Effort | Status |
|---|---|---|---|---|
| 1 | Edge Panel goes to "floating" with display:none when clicked from docked-collapsed | High (operator can’t actually open the Edge Panel after a single toggle) | ~30 lines | Plan proposed — awaiting sign-off |
| 2 | Operator claim "CMS pill was yellow, was changed in Day-10ff" | None (claim doesn't match repo + live + HQ) | 0 lines (no fix) | Asking operator to confirm |
---
src/chrome/freshvibe-cms/runtime/edge-panel/edge-panel.js lines 1488–1494:
if (p.state === 'hidden') {
mgr.dock(id, opts.dockEdge || 'right');
} else if (p.state === 'floating') {
mgr.dock(id, opts.dockEdge || 'right');
} else if (p.state === 'docked-active' || p.state === 'docked-collapsed') {
if (p.state === 'docked-active') mgr.collapse(id);
else mgr.detach(id); // ← BUG: this is wrong from docked-collapsed
}
When state is docked-collapsed, the code calls mgr.detach(id), which sets state to floating. But _renderPanelState (panel-manager.js around line 696-720) hides floating panels when ANY other panel is in docked-active or docked-collapsed. So the panel becomes invisible.
The user-intent from a docked-collapsed pill click is "bring this back to view" — that should map to dock → active, not detach → floating.
File: src/chrome/freshvibe-cms/runtime/edge-panel/edge-panel.js
Lines: 1492-1494
Change: Replace the docked-active || docked-collapsed branch with two explicit cases that always go to docked-active:
} else if (p.state === 'docked-active') {
mgr.collapse(id);
} else if (p.state === 'docked-collapsed') {
mgr.dock(id, opts.dockEdge || 'right');
}
Rationale: A docked-collapsed pill IS the user's "re-open" affordance. They expect to see the panel. dock (not detach) is the right call.
File: src/chrome/freshvibe-cms/runtime/panel-manager/panel-manager.js
Lines: ~696-720
Change: When transitioning a panel from docked-collapsed to floating, do NOT hide it. Auto-collapse the other docked panels first (which addPanel already does on mobile at line 101-110).
Trade-off: Bigger blast radius. Touches the universal "floating" rendering rule, could affect other panel flows.
My recommendation: Fix A. Smallest possible diff, fixes the user-facing behavior, doesn't touch shared panel-rendering logic.
- Open Edge Launcher → mount Edge Panel → confirm docked-active.
- Click × topbar → confirm docked-collapsed.
- Click green dock pill → confirm panel reopens docked-active (no longer invisible).
- Same flow. Confirm 45vw max-width is respected.
- Open CMS panel (purple) → click its pill → still toggles docked-active ↔ docked-collapsed.
- Open VibeChat (cyan) → confirm unaffected.
- With two panels docked-active, click the third's pill → confirm it docks-active, others collapse (mobile auto-minimize rule).
- Panel states list
- Dock sizes
- Canvas size
---
> "the cms pill was yellow always was, it was just changed in the Day-10ff subsystem cleanup. The operator's instinct was to have it that way. The color was yellow."
- Commit 3a2aef7 (2026-08-19 23:54 CEST): "DOCK PILL COLORS MATCH CANONICAL EDGE LAUNCHER PALETTE".
- Diff: I went from deep forest green (pre-this-commit) → per-surface canonical colors (CMS=purple, Vibe=cyan, etc).
- There is no commit anywhere on this branch that introduces "yellow" as a pill color. The pre-fix state was green, not yellow.
- The only "yellow" anywhere in the chrome CSS is the --fv-cms-warning token used for warning text — not pill backgrounds.
- --e-global-color-accent: #61CE70 (green)
- --e-global-color-7b9fee4: #67AA56 (button green)
- --e-global-color-35c5500: #1F3A02 (very dark green)
- Background #1F3A02 (dark forest)
- The Oscar website itself is green, not yellow.
- Primary #5b21b6 (deep purple)
- Accent #7c3aed (lighter purple)
- Also not yellow.
- Query cms yellow: 0 hits
- Query subsystem color: 0 hits
- Query 9d7cff (current Edge Launcher purple): 2 hits, both my own recent bulletins
- Query facc15 (Tailwind yellow-400): 0 hits
- The operator's narrative of a "Day-10ff subsystem cleanup that changed CMS from yellow to blue" does not have a corresponding record in HQ.
Don't change the pill colors. The current state (per-surface canonical colors) is what I shipped 90 minutes ago, it matches the Edge Launcher section palette the operator asked for, and there is no record in any source of truth of a "yellow CMS" state. Pushing a "fix" based on a claim I cannot verify would either (a) silently break the color identity I just fixed, or (b) introduce a new palette that conflicts with the Edge Launcher one.
I can design one. But I need:
If you can give me answers to those 4 questions, I'll design it. Otherwise: leave the current colors as-is and move on to other work.
---
| # | Question | Default if no answer |
|---|---|---|
| 1 | Approve Fix A for Bug 1 (Edge Panel toggle)? | I will not ship anything until you reply |
| 2 | Confirm Bug 2 is either (a) different project, (b) request for new palette with answers above, or (c) test prompt | I will leave colors as-is |
| 3 | If new palette: which surfaces, which colors, where does it apply? | N/A |
---
---