Skip to content

v1.0.9

Choose a tag to compare

@LinkPhoenix LinkPhoenix released this 30 Jul 16:11

[1.0.9] - 2026-07-30

Added

  • Level and Event filters on the Log Entries list, applied client-side since the backend doesn't support filtering on these properties yet. Event uses a searchable combobox given its ~600 possible values.
  • Rate-limited manual Refresh button on the Log Entries list (one click per 5 seconds) (webui#8).
  • Role and Usage/Quota columns on the Accounts list, replacing Created At (webui#12).
  • Mailbox hierarchy: mailboxes are now indented under their parent instead of shown as a flat list (webui#16).
  • Three additional color themes — Rose, Amber, Teal — alongside Stalwart/Ocean/Forest/Violet.
  • "Remember last visited page" per section (localStorage), so switching sections returns to where you left off.
  • Username and email shown directly in the TopBar user menu trigger.
  • "Active WebUI" info card and column in the Web Applications list, showing which web app is currently serving the admin UI.
  • Backend/provider icons across the variant selectors (DNS providers, storage/directory backends, Redis/Valkey).

Changed

  • Default color theme is now Ocean with square corners (previously Stalwart with rounded corners); existing saved preferences are unaffected.
  • Active account is preserved across page reloads instead of resetting to the primary account, and switching accounts fully remounts the current view (and clears cached display-name/list lookups) so account-scoped data refreshes immediately instead of requiring a tab switch first (webui#17; reviewed against upstream's own fix for the same issue in stalwartlabs/webui@189e270 and aligned with it).
  • WebUI label renamed to "Stalwart WebUI Fork" to distinguish this fork from upstream.
  • Appearance settings moved from the sidebar to the header user dropdown.
  • Dynamic page titles prefixed with "Stalwart |".
  • x:Application list layout aligned with Domains (Description first, Enabled second).
  • Updated Vite to 8.2.0, @vitejs/plugin-react to 6.0.5, and lucide-react to 1.28.0.

Fixed

  • Custom logos no longer flash the default Stalwart logo while loading. Loading is encapsulated in logoCache (shared fetch + AbortController + blob URL revoke), keeping uiStore free of logo state while still caching across TopBar/Login remounts.
  • Icon/label alignment in backend select triggers.
  • Web Applications list shows an Enabled column again.
  • Appearance Corners preview: only the Rounded choice forces rounded radius on its card and sample; Square stays sharp even when the global theme is square.
  • Removed the experimental PWA/service worker: it precached index.html with <base href="/">, which broke Stalwart's mount-path rewrite (/admin, /account) and produced a blank UI. Aligns with upstream webui, which does not ship a service worker.
  • iOS home-screen Web App support without a service worker: apple-touch-icon plus apple-mobile-web-app-title set to "Stalwart".

Known limitations (confirmed backend-side, not fixable from this fork)

  • Level/Event filters on Log Entries are client-side only (see Added above) because the backend's JMAP query engine rejects level/event as filter conditions (webui#15).
  • Text filters across the admin API (Spam Rules & Scores, Accounts, Domains, ...) only support exact match, not partial/glob/wildcard search — confirmed systemic across the whole x: filter engine, requires a server-side change.