-
released this
2026-04-28 09:13:40 -04:00 | 303 commits to main since this releaseDay after the journal/Scribe rebrand, the design system shipped end-to-end and several adjacent issues surfaced during verification got resolved.
Headline
- Design system applied across the whole app — dusty violet
#5B4A8Aaccent replaces indigo; warm parchment light mode (#F5F1E8page,#FBF8F0cards) replaces white-and-cool-blue; Obsidian/Iron/Pewter dark mode replaces cool grey; Inter loaded for body, JetBrains Mono for code, Fraunces still for headings ≥18px. The Hybrid accent rule is enforced — Save buttons are Moss green, Cancel is Bronze, Delete is Oxblood with a Trash icon, brand-moment CTAs (chat send, journal send, "Open Workspace") keep the dusty-violet gradient. - 60 hand-inlined SVGs replaced with Lucide across 15 files. Every chrome icon is now 16 or 24px. Emoji-as-icons (
✕,✓,🎤,📎,↻,↑,×,☀/☾) swept. - Journal config returned to Settings inside the Profile tab. Locations (home/work geocode), temperature unit, prep schedule (auto-generate toggle, prep time, day rollover hour) — the data the deleted Briefing tab used to set is editable again.
- Weather + events fixes —
/api/journal/weathernow serves cached weather regardless of age (matches the prep's behavior) and auto-refreshes stale rows in the background. Events window widened from "now → +14 days" to "today 00:00 → +14 days" so events earlier today still surface in the right rail. - Long-form reading line-height (1.7) on
.prose— Note viewer, Task viewer, chat assistant bubbles, journal prep all read like considered prose instead of UI snippets. - Italic stripped from chrome — 42 declarations across 24 files. Italic now means "emphasis" only; markdown content emphasis (
<em>/<i>) is preserved via browser default.
Fixes
- ProjectView Tasks tab counter no longer shows
NaNwhen a status bucket is empty (services/projects.pyinitialisestask_countswith all three lifecycle keys at 0) - TaskEditor preview body no longer overflows on top of the WorkLog section (preview pane + work log no longer flex-shrink in the column)
- Calendar Month/Year title renders Inter, not Fraunces (FullCalendar uses an
<h2>element which got caught by the global Fraunces rule) - Header status dots brightened so "Ready" reads as a vital green (
#4ade80), not muted Moss - KnowledgeView filter labels and NoteEditor entity-field labels enlarged to readable size
Migrations
None required. Settings already had
journal_configfrom the prior release; today's changes only add UI for fields that already existed.Documentation
docs/design-system.mdupdated with the per-PR ship table and explicit "Out of scope — deferred indefinitely" subsectiondocs/architecture.md,docs/features.md,docs/api-reference.mdcleared of stale briefing references; current state describes the journal system
Deploy notes
- Pull the new image; no manual migration step
- After deploy, configure Settings → Profile → Locations to populate the journal's right-rail weather (the auto-refresh kicks in on the next page load once locations are set)
What's deferred
Downloads
- Design system applied across the whole app — dusty violet