Skip to content

fix(chat): debug toggle to bottom-left + missing sidebar launcher#308

Merged
blove merged 3 commits into
mainfrom
claude/chat-debug-bottom-left
May 14, 2026
Merged

fix(chat): debug toggle to bottom-left + missing sidebar launcher#308
blove merged 3 commits into
mainfrom
claude/chat-debug-bottom-left

Conversation

@blove
Copy link
Copy Markdown
Contributor

@blove blove commented May 14, 2026

Summary

Two UI bugs surfaced by browser smoke against the freshly-deployed `demo.cacheplane.ai`:

  1. Popup launcher occluded by debug toggle. Both rendered at `position: fixed; bottom: 20px; right: 20px`. Debug had `z-index: 990` and rendered later in the DOM, so clicks at that corner hit debug, never the popup launcher.
  2. Sidebar launcher missing entirely. `chat-popup` renders `` at line 62; `chat-sidebar` omitted this completely — no import, no template entry. The empty-state copy on `/sidebar` promised a button that wasn't in the DOM.

Fix

  • `chat-debug`: `.launcher` rule's `right: 20px` → `left: 20px`. Frees up the canonical bottom-right slot for user-facing chat launchers.
  • `chat-sidebar`: import `ChatLauncherButtonComponent`, register in `imports[]`, render `<chat-launcher-button (click)="toggle()" />` adjacent to the sliding panel. Mirrors the popup pattern exactly.

Spec & Plan

  • `docs/superpowers/specs/2026-05-13-chat-debug-launcher-left-design.md`
  • `docs/superpowers/plans/2026-05-13-chat-debug-launcher-left.md`

Test plan

  • Existing chat suite passes (704/704)
  • Production build of `examples-chat-angular` succeeds
  • After merge, browser smoke against `demo.cacheplane.ai`:
    • `/embed` — debug pill at bottom-left; no overlap; chat works
    • `/popup` — bottom-right launcher visible + clickable → popup window opens
    • `/sidebar` — bottom-right launcher visible + clickable → sidebar slides in
    • Debug panel dock controls (right/left/bottom) all still work

🤖 Generated with Claude Code

blove and others added 3 commits May 13, 2026 17:43
…ncher

Two bugs found via browser smoke against demo.cacheplane.ai:
- popup launcher occluded by debug toggle at same bottom-right position
- chat-sidebar composition is missing the launcher button entirely

Fix: move debug pill to bottom-left, add launcher to chat-sidebar.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two UI bugs found via browser smoke against the freshly-deployed
demo.cacheplane.ai:

1. **Popup launcher occluded by debug toggle.** Both rendered at
   position: fixed; bottom: 20px; right: 20px. Debug has z-index 990
   and renders later in the DOM, so clicks at that corner hit debug,
   not the chat launcher. Verified via elementsFromPoint:
   [<button aria-label='Open chat debug'>, ..., <button class='chat-launcher-button'>].

2. **Sidebar launcher missing entirely.** chat-popup.component.ts:62
   renders <chat-launcher-button (click)='toggle()' />; chat-sidebar
   omitted this completely — no import, no template entry. Users
   hitting /sidebar mode saw an empty page with copy promising
   'click the launcher button (right edge)' but no button in the DOM.

Fix:
- chat-debug: .launcher rule's `right: 20px` → `left: 20px`. Frees up
  the canonical bottom-right slot for user-facing chat launchers.
- chat-sidebar: import ChatLauncherButtonComponent, register in
  imports[], render <chat-launcher-button (click)='toggle()' />
  adjacent to the sliding panel. Mirrors the popup pattern exactly.

No new unit test — integration-style tests for these compositions
need a fully-faked Agent (the inner <chat> projection needs the
full surface). Manual browser smoke covers the click paths.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 14, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cacheplane Ready Ready Preview, Comment May 14, 2026 1:28am

Request Review

@blove blove merged commit 41f64a5 into main May 14, 2026
14 checks passed
blove added a commit that referenced this pull request May 14, 2026
…er (#310)

The previous fix (#308) added <chat-launcher-button> to the
chat-sidebar template, but the launcher itself has no inherent
fixed positioning (it's a 56×56 div with `display: inline-block`).
chat-popup positions its launcher via :host { position: fixed }, but
chat-sidebar's :host is `display: block` to allow the
content-pushes-on-open behavior. So the newly-added launcher in
chat-sidebar flowed into the document at the natural position of
the component — which for the demo shell ends up at (280, 1972),
well off-screen.

Wrap the launcher in a .chat-sidebar__launcher div with
  position: fixed; bottom: 1rem; right: 1rem; z-index: 30;
matching chat-popup's launcher coordinates exactly.

Also hide the launcher when the sidebar is open (the panel covers
it and the panel has its own close button).

Verified via demo.cacheplane.ai browser smoke after the previous fix.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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