Skip to content

Releases: LinkPhoenix/stalwart-webui-fork

v1.1.0

Choose a tag to compare

@LinkPhoenix LinkPhoenix released this 30 Jul 18:15

[1.1.0] - 2026-07-30

Fixed

  • Mobile admin shell and lists: wide tables no longer expand/clip the page. The shared ScrollArea constrains content width, tables scroll horizontally inside their card, and list Create / pagination actions stay visible in the mobile viewport.
  • Form and detail layouts wrap more cleanly on narrow screens (action bars, label/value rows).
  • Date/time picker in dark mode: replaced the native time input (invisible clock icon + always-light popup) with themed hour/minute selects and a visible Clock icon; set color-scheme on light/dark themes so remaining native date controls follow the UI.
  • Empty date/time fields open prefilled with the current date and time so the calendar and hour/minute selects start on a useful default.

Changed

  • Negative account disk-usage values (stale Stalwart quota counters) are shown in red with an info tooltip that explains how to recalculate usage via Tasks (Perform account maintenance operations → Recalculate storage quota usage, or store-wide Reset all user quotas).

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.

v1.0.8

Choose a tag to compare

@LinkPhoenix LinkPhoenix released this 30 Jul 10:01

[1.0.8] - 2026-07-29

Added

  • Appearance settings page (linked at the bottom of the sidebar) with light/dark mode, four selectable color themes (Stalwart, Ocean, Forest, Violet) and a rounded/square corners option that applies globally across all themes.
  • Light/dark toggle on the login pages.
  • Dynamic document titles per page, mirroring the sidebar navigation labels.
  • Square corners toggle for a border-radius-free interface.
  • Full-width sidebar hover with a separated footer in square mode.

Changed

  • The light/dark toggle is a single-click button again, in the top bar and on the login pages.
  • The logout menu item is marked as destructive.
  • Updated react-router-dom to 7.18.2 and migrated the date picker to @daypicker/react 10 (the new react-day-picker package name).

Fixed

  • Section URLs without a view (e.g. /admin) redirect to the first accessible page instead of the "Select a view" empty state.

Removed

  • The Web Applications list no longer shows a "Version" column or an "Update" button, because Stalwart does not expose the installed version of each web application and /latest/ GitHub URLs hide it.

v1.0.7

Choose a tag to compare

@LinkPhoenix LinkPhoenix released this 29 Jul 06:13

[1.0.7] - 2026-07-29

Added

  • Ctrl+K / Cmd+K command palette to search pages, form sections and fields across the admin panel, with an ESC hint badge instead of the close cross.
  • WebUI version and update action with a confirmation modal in the Web Applications list.
  • Calendar date picker with time input replacing native datetime inputs in all schema-driven forms.
  • Shared styled ScrollArea used app-wide, including the sidebar and the command palette.
  • Development proxy forwarding API and JMAP requests to a local Stalwart server.

Changed

  • Renamed the package to stalwart-webui-fork to identify the community fork.
  • Sidebar behaves as an animated accordion: expanding a section collapses the others at the same level, with a softer hover.
  • Main content is horizontally centered.
  • Form fields now use a background color distinct from card surfaces.
  • Feature pages and the admin shell are code-split with React.lazy to reduce the initial bundle size.
  • Switches show green when enabled and red when disabled.

Fixed

  • Table header background is clipped inside the rounded border, removing the square corner visible behind the radius.
  • Sidebar section stays synced with the URL on programmatic navigation and full page loads.