Linus Rath
2fe1b01d4d
feat: add configurable logo to login page with light/dark mode support
...
- Display Bulwark logo on the login page, with theme-aware switching
between light and dark variants based on the resolved theme
- Add LOGIN_LOGO_LIGHT_URL and LOGIN_LOGO_DARK_URL env variables to
allow custom logo overrides (defaults to bundled Bulwark branding)
- Expose logo config through /api/config endpoint and useConfig hook
- Add logo URL prompts to the setup.sh installer branding step
- Rename branding assets to use underscores instead of spaces
2026-03-13 19:45:09 +01:00
Linus Rath
b090bf6d52
feat: add support for OAuth-only login mode and update configuration handling
2026-03-12 22:05:29 +01:00
Linus Rath
2249741c61
feat: add login page customization options and corresponding translations
2026-03-12 02:31:56 +01:00
Linus Rath
ab72fc06ff
feat: add Stalwart account security management
...
- Add Stalwart API client library (lib/stalwart/client.ts)
- Add server-side proxy routes for auth, crypto, password, principal, probe
- Add account security Zustand store with full state management
- Add Security settings tab with password change, display name, TOTP 2FA,
app passwords, and encryption-at-rest controls
- Add stalwartFeaturesEnabled config flag (opt-out via STALWART_FEATURES=false)
- Add i18n translations for all 8 locales (en, de, es, fr, it, ja, nl, pt)
- Add tests for Stalwart client (24 tests) and security store (29 tests)
2026-03-12 02:20:56 +01:00
Linus Rath
a8a1ad1d54
feat: implement settings synchronization with server, including encryption and API endpoints
2026-03-11 16:22:47 +01:00
Linus Rath
d09022378b
feat: add devMode configuration to runtime settings and update LoginPage for theme management
2026-03-11 16:01:31 +01:00
Matthieu MALVACHE and Matthieu MALVACHE
1b0e3e41c6
feat: add "Remember me" session persistence and simplify 2FA UX
2026-02-26 00:47:53 +01:00
Matthieu MALVACHE and Matthieu MALVACHE
ec06b0c494
feat: add OAuth2/OIDC with PKCE for SSO login
...
Add opt-in SSO authentication alongside Basic Auth. OAuth endpoints are
auto-discovered via .well-known, with support for external IdPs
(Keycloak, Authentik) via configurable OAUTH_ISSUER_URL. Sessions
persist through httpOnly refresh token cookies with automatic renewal.
2026-02-25 23:41:37 +01:00
Matthieu MALVACHE and Matthieu MALVACHE
fb414bf2c9
feat: add contacts phase 2, advanced search, vacation responder, Docker & TOTP 2FA
...
- Contact groups/lists, vCard import/export (RFC 6350), bulk operations
- Advanced search with JMAP filter panel, search chips, cross-mailbox queries
- Vacation responder with JMAP VacationResponse, settings tab, sidebar indicator
- TOTP two-factor authentication support
- Docker multi-stage build with standalone output and docker-compose
- CSP Report-Only headers and security headers via proxy middleware
- Virtual scrolling for large email lists
- Structured server-side logger (text/JSON, configurable level)
- 450+ tests (contacts, vCard, threads, headers, identity, components)
- Playwright E2E framework setup
- Updated README and ROADMAP with all new features
2026-02-16 18:51:30 +01:00
Matthieu MALVACHE and Matthieu MALVACHE
58cfe09dc6
feat: Add runtime config, trusted senders, JMAP identities, and UI improvements
...
- Runtime environment variables for Docker-friendly configuration
- Trusted senders list for automatic image loading
- JMAP identities for proper sender address
- Improved email composer readability
- Horizontal scroll for wide HTML emails
2026-01-08 02:08:18 +01:00