**Author**: Mavis (vibecoder-standalone-mavis)
**Date**: 2026-08-20 01:25 CEST
**Live bundle**: `main-BT35Xr1H.js` (703.33kB)
**Screenshot reference**: `/workspace/bugs-overview.png` (desktop, dev mode ON)
This is the **complete bug inventory** derived from:
Bugs are grouped by **severity** and tagged with **status** (open / partial / live / not-applicable).
---
| # | Bug | Severity | Status | Where |
|---|---|---|---|---|
| A1 | No topbar at y=0 — the chrome (Origin switcher, Edge button) is missing | **High** | OPEN | All chrome |
| A2 | App browser bar (dark `Origin | APPS: oscar-cms4-…`) is at y=70, overlapping the hero | **High** | OPEN | `mountAppBrowser()` in host-boot.js |
| A3 | `{ }` dev button removed (per operator "get rid of toggle too") but no replacement topbar | **High** | OPEN | `mountLegacyToggle()` deleted in 834bb14 |
| A4 | Pro pill (purple star ★) at top:80px overlaps the app browser bar | Medium | OPEN | `mountProPill()` in host-boot.js |
| A5 | Edge launcher vertical pill (16x111 green) hard to read on right edge | Low | ACCEPTABLE | `mountEdgePill()` |
| A6 | VibeChat dock pill at bottom-left (78x44 cyan) and floating VibeChat circle (56x56 green) overlap each other and the dev button | Medium | OPEN | `mountVibeChatPill()` |
**Root cause for A1-A3**: `mountAppBrowser()` was hard-coded to `top: 70px` "below the legacy toggle (16px + 36px height + gap)". When `mountLegacyToggle()` was deleted in commit 834bb14, the app browser anchor was never updated. Need to either (a) move app browser to y=0 as the de-facto topbar, or (b) build a real topbar container.
**My recommendation**: **(a)** — make the app browser the topbar. Move it to y=0, make it the topbar shell. Add the `{ }` toggle + Edge button + Pro pill INSIDE the app browser. This becomes the new topbar.
---
| # | Bug | Severity | Status | Where |
|---|---|---|---|---|
| B1 | Purple Pro star (★) at top:80px, right:20px — overlaps the app browser | Medium | OPEN (A1 fix supersedes) | `mountProPill()` |
| B2 | Floating VibeChat circle (56x56 green) at bottom:20px, right:20px — overlaps the dock pill | Medium | OPEN | `mountVibeChatPill()` |
| B3 | VibeChat dock pill (78x44 cyan) at bottom-left — only the icon shows, the label is cut off | Low | PARTIAL | PM2 dock pill |
| B4 | `{ }` dev button (32x32 floating) at bottom-right — easy to miss, no affordance | Medium | OPEN | `cms-panel.js mountCmsPanel()` |
| B5 | Edge pill (16x111 vertical green) — looks like a scrollbar, not a button | Low | ACCEPTABLE | `mountEdgePill()` |
| B6 | Pills collide at the bottom-right (VibeChat + dev button) | Medium | OPEN | Tied to B2+B4 |
**My recommendation**: move all pills into the new topbar (A1 fix). When the topbar exists, the pills are topbar buttons, not floating circles.
---
| # | Bug | Severity | Status | Where | Notes |
|---|---|---|---|---|---|
| C1 | **Bug 15**: Chat copy icon — `navigator.clipboard.writeText` not in `vibechat-panel.js` | Medium | OPEN | `src/host/vibechat-panel.js` | `grep -c clipboard` = 0 |
| C2 | **Bug 9**: Side-edge resize (1-axis) — has 8 hits but need to confirm the 4 edge handles are actually wired | Medium | PARTIAL | `panel-manager.js` | Source has 4 corners + 8 edge mentions, needs runtime test |
| C3 | **Bug 14**: Maximise hide other panels (solo mode) — has 3 hits but no `onMaximize` handler | High | PARTIAL | `panel-manager.js` | The collapse loop is not wired to the maximize button |
| C4 | **Bug 12**: Maximised panel hides dock bar — CSS rule present, needs Playwright audit | Low | NEEDS-VERIFY | `panel-manager.css` | body:has(...) rule exists |
| C5 | **Bug 13**: Maximised panel fits below topbar — CSS rule present, needs Playwright audit | Low | NEEDS-VERIFY | `panel-manager.css` | top: var(--fv-os-topbar-h) rule exists |
| C6 | **Bug 24**: PRO button completely removed — `fv-pill-pro` and `pro-mode` references still in `host-boot.js` | Low | OPEN | `host-boot.js` | Dead code |
| C7 | **Bug 25**: SVG icons everywhere — no emoji found in edge-panel.js or host-boot.js | Low | LIVE | All chrome | Verified |
| C8 | **Bug 26** (NEW): Edge Panel toggle from docked-collapsed → floating-but-hidden | Medium | SHIPPED in bd57ee0 | `edge-panel.js:1492-1494` | Already fixed |
---
| # | Bug | Severity | Status | Where |
|---|---|---|---|---|
| D1 | **Theme picker back button doesn't work** (operator: "back button does not work so I am stuck in here") | **High** | SHIPPED in bdf3538 | `theme-picker/theme-picker.js` | Already fixed as standalone PM2 panel |
---
| # | Bug | Severity | Status | Endpoint |
|---|---|---|---|---|
| E1 | App Builder needs `POST /api/agent/apps/build` | Low | OPEN | 404 today |
| E2 | App Deploy needs `POST /api/agent/apps/deploy` | Low | OPEN | 404 today |
| E3 | App Preview needs `GET /api/agent/apps/:id` | Low | OPEN | 404 today |
| E4 | App Settings needs `GET /api/agent/apps/settings` | Low | OPEN | 404 today |
| E5 | VSIL Inspector needs `GET /api/agent/vsil/scene` | Low | OPEN | 404 today |
| E6 | VSIL Preview needs `GET /api/agent/vsil/scene/:id` | Low | OPEN | 404 today |
| E7 | VSIL Tools needs `GET /api/agent/vsil/tools` | Low | OPEN | 404 today |
| E8 | VSIL Scene Ops needs `POST /api/agent/vsil/scene` | Low | OPEN | 404 today |
| E9 | Origins list needs `GET /api/agent/origins` | Low | OPEN | 404 today |
| E10 | Preview modes needs `GET /api/agent/preview-modes` | Low | OPEN | 404 today |
**E1-E10 status**: each Edge tile for these 10 actions shows a clear toast with the missing endpoint. FES work is a separate plan.
---
| # | Question | Severity | Status |
|---|---|---|---|
| F1 | "Panels open on their own not inside it" — should the Edge Launcher be a multi-tab container? | Low | DEFERRED (per plan a728 — container redesign is a separate plan) |
---
**Priority 1 — Group A (topbar / header)**: ship the topbar fix
1. Move `mountAppBrowser()` from y=70 to y=0 (becomes the topbar)
2. Add `{ }` dev button + Pro pill + Edge button INSIDE the app browser
3. Remove the floating pills (B2, B4) since they're now in the topbar
4. Keep VibeChat dock pill (B3) — it's the standard PM2 affordance
**Priority 2 — Group C (8 prior bugs)**: ship all 4 still-open ones
1. **C1 (Bug 15)**: Add `navigator.clipboard.writeText` copy button to VibeChat message bubble
2. **C3 (Bug 14)**: Wire maximise-hide-others solo mode in panel-manager.js
3. **C6 (Bug 24)**: Remove `fv-pill-pro` dead code (or refactor it to be the topbar star)
4. **C4 + C5 (Bugs 12 + 13)**: Playwright audit only (no source change needed)
**Priority 3 — Group B (pill layout)**: handled by Priority 1
**Deferred**:
**Total estimated effort**: 1 commit, 1 deploy, ~120 lines changed across 3 files