Feat v0.5.2 chat surface #32

Merged
xcaliber merged 5 commits from feat/v0.5.2-chat-surface into main 2026-03-30 15:25:33 +00:00

5 Commits

Author SHA1 Message Date
b4b47aecfb Update changelog and roadmap for v0.5.2 polish fixes
All checks were successful
CI/CD / detect-changes (pull_request) Successful in 3s
CI/CD / test-frontend (pull_request) Successful in 5s
CI/CD / test-go-pg (pull_request) Successful in 2m41s
CI/CD / test-sqlite (pull_request) Successful in 2m42s
CI/CD / build-and-deploy (pull_request) Successful in 1m13s
Add dark mode theming, dialog dropdown clipping, and user menu scale
fix entries to changelog. Add extreme UI scale polish to backlog.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 15:17:47 +00:00
aae1f6ecf2 Fix user menu clipping at scaled UI (110%+)
Menu primitive uses position:fixed inside a CSS-transformed container
(#surfaceInner scale). getBoundingClientRect() returns scaled coords
but fixed positioning uses the transform container's coordinate space.

Divide anchor rect and viewport dimensions by sw.shell.getScale() to
convert to the correct coordinate space. Menu now positions and clamps
correctly at any UI scale setting.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 15:11:53 +00:00
6e68c41d5a Fix Add Participant dialog dropdown clipping
Broaden the dialog overflow:visible override to target any
sw-dialog containing a sw-user-picker, not just .chat-new.
Fixes the Add Participant modal clipping search results.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 15:01:52 +00:00
6a04facc50 Fix chat surface dark mode theming and dialog dropdown overflow
Replace non-existent CSS variable names (--text-primary, --text-muted,
--bg-active, --primary) with actual theme tokens from variables.css
(--text, --text-2, --text-3, --accent, --accent-dim, --input-bg,
--bg-raised, --bg-surface). Fixes invisible text and wrong backgrounds
in dark mode.

Allow UserPicker dropdown to overflow dialog body via :has() selector
override on sw-dialog__body overflow.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 14:56:34 +00:00
a0cd724d35 Feat v0.5.2 chat surface
Chat surface package (packages/chat/) with conversation list, message
thread, compose bar, participant sidebar, create conversation dialog,
typing indicators, read receipts, message editing, and message deletion.
Built on chat-core library with realtime event subscriptions.

Fix stale token login deadlock: REST client auth endpoints excluded
from 401 retry loop, 8s defensive boot timeout on auth.boot().

Fix bundled package permissions: auto-grant with NULL granted_by and
set status active on install.

Switch docker-compose to named volume for remote Docker host compat.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 14:48:18 +00:00