Feat v0.6.14 visual polish (#49)
All checks were successful
All checks were successful
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com> Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
This commit was merged in pull request #49.
This commit is contained in:
@@ -83,18 +83,27 @@ login. All kernel CSS and 12 in-tree packages migrated to spacing tokens.
|
||||
`EXTENSION-CSS.md` updated with spacing table and breakpoint guide.
|
||||
Font-size scale deferred to v0.6.14. See CHANGELOG.md.
|
||||
|
||||
### v0.6.14 — Visual Polish
|
||||
### v0.6.14 — Visual Polish ✅
|
||||
|
||||
Systematic cleanup of stale values and rendering artifacts.
|
||||
Shipped. Stale fallback colors purged (~65 instances), fonts self-hosted
|
||||
(DM Sans + JetBrains Mono woff2), border-radius standardized to three tokens
|
||||
(`--radius-sm`, `--radius`, `--radius-lg`). Also fixed v0.6.13 spacing
|
||||
regressions (half-step tokens), theme settings default, surface overflow,
|
||||
and user menu zoom drift. See CHANGELOG.md.
|
||||
|
||||
### v0.6.15 — User Display Audit
|
||||
|
||||
Every place a user identity appears in the UI must show a human-readable
|
||||
name, never a UUID. Fallback chain: `display_name → username → "Unknown"`.
|
||||
|
||||
| Step | Description |
|
||||
|------|-------------|
|
||||
| Purge stale fallback colors | Remove all `var(--foo, #hexvalue)` fallbacks that reference old gold theme colors (`#b38a4e` and variants). If a CSS variable is undefined at this point, that's a bug — don't mask it with a wrong fallback. |
|
||||
| Self-host fonts | Bundle DM Sans and JetBrains Mono woff2 files in `src/fonts/`. Replace Google Fonts `@import` with local `@font-face` declarations. Zero external font dependencies. |
|
||||
| Light theme audit | Walk every surface in light mode. Fix any remaining hardcoded dark-mode colors, contrast issues, or invisible borders. Document any surface-specific light-mode overrides. |
|
||||
| Consistent border-radius | Surfaces currently mix `6px`, `8px`, `10px`, `var(--radius)`, `var(--radius-lg)`. Audit and reduce to 3 values: `--radius-sm: 4px`, `--radius: 8px`, `--radius-lg: 12px`. |
|
||||
| Participant display-name resolution | `chat-core` participants endpoint resolves `display_name` from the users table at query time instead of relying on a creation-time snapshot. If the stored `display_name` is empty, look up `users.display_name` or `users.username` by `participant_id`. |
|
||||
| Audit all user-facing identity surfaces | Walk every surface that shows user identity: chat participant list, chat message sender names, chat typing indicators, workflow assignees, team member lists, admin user list, notification actor names. Ensure the fallback chain is `display_name → username → "Unknown"` everywhere. |
|
||||
| SDK user-resolve utility | Add `sw.users.resolve(id)` or similar to the SDK — returns `{id, username, display_name, avatar}` with local caching. Surfaces use this instead of ad-hoc lookups. |
|
||||
| Stale snapshot cleanup | Remove or deprecate the static `display_name` column in the participants table. All display names come from the users table via the resolve utility. |
|
||||
|
||||
### v0.6.15 — Usability Survey Gate
|
||||
### v0.6.16 — Usability Survey Gate
|
||||
|
||||
Make the UI machine-auditable so Claude Code can run an automated survey.
|
||||
|
||||
@@ -105,7 +114,7 @@ Make the UI machine-auditable so Claude Code can run an automated survey.
|
||||
| Component coverage matrix | Markdown table: each kernel primitive (button, input, dropdown, dialog, toast, menu, tabs, avatar, spinner, tooltip, drawer, banner) × each surface that uses it. Identifies surfaces still using deprecated old-style components. |
|
||||
| Touch target audit | Script that finds all `<button>`, `[role=button]`, clickable elements across templates and JS, checks for `min-width/min-height ≥ 44px` on mobile breakpoint. |
|
||||
| Claude Code survey prompt | `docs/USABILITY-SURVEY.md` — structured prompt template that Claude Code can execute against the codebase. Sections: viewport correctness, banner integration, responsive behavior, styling consistency, accessibility basics (contrast, touch targets, focus indicators), component uniformity. Each section has pass/fail criteria and file paths to inspect. |
|
||||
| Survey dry-run | Run the survey. Fix anything it catches. Tag `v0.6.15` only after clean survey. |
|
||||
| Survey dry-run | Run the survey. Fix anything it catches. Tag `v0.6.16` only after clean survey. |
|
||||
|
||||
---
|
||||
|
||||
@@ -122,9 +131,11 @@ v0.6.12 Extension CSS Isolation ✅ SHIPPED
|
||||
↓
|
||||
v0.6.13 Responsive & Spacing ✅ SHIPPED
|
||||
↓
|
||||
v0.6.14 Visual Polish ← Final visual pass after structure is locked
|
||||
v0.6.14 Visual Polish ✅ SHIPPED
|
||||
↓
|
||||
v0.6.15 Usability Survey Gate ← Machine-audit the finished product
|
||||
v0.6.15 User Display Audit ← No UUIDs in the UI, ever
|
||||
↓
|
||||
v0.6.16 Usability Survey Gate ← Machine-audit the finished product
|
||||
```
|
||||
|
||||
Each version is independently shippable and testable. No version depends on
|
||||
|
||||
Reference in New Issue
Block a user