This release tightens the product experience users feel in the guidance loop: chat recovers more cleanly, artifacts finish before they are shown, mobile controls are easier to use, and the app can tell you when a newer frontend is ready.
Shipped commits
- fix(lifejet): recover production chat model - Restores the production model path so guidance can answer instead of stalling on model configuration drift.
- fix(lifejet): enforce chat artifact completion - Requires high-signal guidance artifacts to complete before the chat turn is treated as done.
- fix(lifejet): complete high-signal chat artifacts - Finishes reframe and experiment artifacts for the most important guidance turns.
- fix(lifejet): stream completed chat artifacts - Streams completed artifacts back into the conversation so users see the useful output without a refresh.
- fix(chat): stabilize tool card rendering - Keeps reframe, experiment, and check-in cards from flickering or remounting while chat state updates.
- fix(chat): avoid hydration drift in conversation greetings - Prevents time-based greetings and timestamps from causing hydration mismatch errors.
- fix(app-shell): paint sidebar pages with app background - Makes the signed-in app canvas use the warm tan product background instead of inheriting the rose body glow.
- feat(lifejet): expose frontend version metadata - Adds a production version endpoint so the running frontend can know which deployment it is on.
- feat(lifejet): show frontend update toast - Prompts signed-in users when a newer frontend is available, reducing stale-session confusion after deploys.
- fix(lifejet): force version refetch on focus - Checks for a newer frontend again when the user returns to the tab.
- fix(lifejet): fetch version metadata on mount - Starts the version check as soon as the app shell loads.
- fix(lifejet): keep onboarding and account deletion unblocked - Repairs edge cases that could block onboarding completion or account deletion cleanup.
- fix(lifejet): add Sentry observability and repair production errors - Adds production error visibility and fixes the LifeJet errors found during the production repair pass.
- refactor(lifejet): simplify layouts and polish mobile - Simplifies the signed-in and marketing layouts while tightening mobile spacing and structure.
- chore(lifejet): update Library imagery to match journey style - Refreshes Library imagery so the resource surfaces feel closer to the current LifeJet journey visuals.
- fix(marketing): repair mobile marketing layout - Cleans up the mobile public-site layout after the homepage redesign.
- fix(lifejet): honor reduced-motion across authenticated app - Extends reduced-motion handling across the signed-in product.
- fix(lifejet): raise muted micro-label contrast to WCAG AA - Improves readability for small labels on authenticated surfaces.
- fix(chat): stack Guidance thread-list header on mobile - Makes the Guidance thread list header fit smaller screens more naturally.
- fix(uploads): wrap prompt-card actions so primary button is not clipped - Keeps upload prompt actions usable on narrow screens.
- fix(chat): clear the iOS home indicator on bottom action bars - Adds safer bottom spacing for chat and voice controls on iOS.
- fix(chat): enlarge mic-toggle and attachment-remove hit areas - Makes voice and attachment controls easier to tap.
- fix(lifejet): name and size the header-layout mobile nav trigger - Improves mobile navigation affordance and accessibility.
- fix(lifejet): align Library section padding to mobile standard - Brings Library spacing in line with the rest of the signed-in app.
- fix(lifejet): use svh for the pattern-map graph height - Makes the Pattern Map fit mobile browser chrome more reliably.
Why it matters
The guidance loop should feel calm even when the system is doing complicated work behind the scenes. This release closes several production reliability gaps, makes chat artifacts feel finished instead of partial, and smooths the mobile surfaces people use when they are checking in from real life.