Unread filters, safer file access, profile cards, and dependable model fallback
Filter channels by unread state, grant miniapps owner-bound file access, open profile cards from chat, and keep the managed fallback model intact.
The channel header now has a global unread filter, replacing the old activity mode. Archived direct messages stay hidden, room membership projections recover more reliably, and direct-message names come from the current projection instead of raw account IDs.
Composer and transcript
Press Enter to save an edited message. Sent attachments clear from the composer, image previews stay inside their bounds, the muted microphone icon turns red, and an empty channel no longer shows a useless scroll-to-bottom control. Specialist avatars resolve bundled display icons, and live delegation status includes an activity snapshot.
Miniapps and permissions
Miniapps can request owner-bound file handles and invoke context actions using durable artifact references. Routing authority survives specialist recovery, project and room scope keys stay isolated, and voice sessions continue recovering until their seat expires.
The desktop can recover a failed renderer, while local development gains fenced host commands, an optional read-only process view, and a run-scoped agent connection for diagnostics. Build and release work also cuts repeated compilation and startup overhead.
Hover a message author to open their profile card without leaving the transcript. Stacked message rows now use balanced padding, and leaving a project channel runs once instead of issuing duplicate membership changes.
Voice input releases the microphone as soon as recording stops. Mobile specialist proxy authentication is restored, and local development clears stale miniapp API overrides before launch.
Miniapps now have an owner-bound user file service for reading and writing files without turning a local path into ambient authority.
Model catalog synchronization preserves the managed fallback model instead of dropping it during refresh. The QA bootstrap order is also deterministic, removing a class of startup races in development and verification runs.