HOTFIX over v44.66.
v44.66 bricked the desktop ("useTheme must be used within a ThemeProvider" → blank screen): the Phase-292 AnnouncementHost mounts at the desktop root OUTSIDE the app's ThemeProvider, so its useTheme() call threw and the root ErrorBoundary swallowed the whole app.
Fix:
- AnnouncementHost reads the theme safely (context if present, else the body theme class) — never throws.
- The host is wrapped in its own ErrorBoundary (fallback=null) so an announcement render error can never take down the desktop again.
Includes everything from v44.66 (Phase 292 + 293 announcement system, createAnnouncement-500 fix). Gates: ui build 0 · vitest 11/11.
Full Changelog: v44.65...v44.67