Linus Rath
f441f3e6d1
fix: show calendar, subscription and account addresses in settings left to right in arabic
2026-10-28 12:58:10 +01:00
Linus Rath
b957bbcd8a
fix: fit settings > calendar to touch screens and hide import and subscribe in the demo
2026-10-28 12:56:51 +01:00
Linus Rath
5be162d604
fix: name the calendar, contacts and files settings pages apart from the apps in the command palette
2026-10-28 12:54:34 +01:00
Linus Rath
0eb68f1743
Merge branch 'ux/settings-admin2'
2026-10-28 11:06:39 +01:00
Linus Rath
9bb94ebf62
fix: offer "go to <page>" for every settings page in the command palette, found by the settings search words
2026-10-28 10:51:01 +01:00
Linus Rath
5abc4a5334
fix: make the tag and address book row buttons and New tag full-size buttons with a touch hit area, and name each tag button after its tag
2026-10-28 10:44:18 +01:00
Linus Rath
8b2b77c349
fix: put the calendar row actions behind a ⋮ menu on the phone so names and the default badge fit, and make the row icons full-size named buttons
2026-10-28 10:41:08 +01:00
Linus Rath
feac899133
fix: say "new calendar", "new app password", "new API key", "add public key", "sub-addressing" and "back to mail" in settings and the admin
2026-10-28 10:33:03 +01:00
Linus Rath
161c9d1de3
fix: ask "delete address book?" with a question mark, like the other delete prompts
2026-10-28 10:23:16 +01:00
Linus Rath
9c2952c437
fix: take the tour to the screen of each step on a phone and count only the steps it shows
2026-10-28 10:19:13 +01:00
Linus Rath
afd5d8263c
fix: delete a contact category the same way in Settings and Contacts, with the same Undo toast
2026-10-28 06:16:10 +01:00
Linus Rath
d61511bdc1
Merge branch 'main' into ux/settings-admin
...
# Conflicts:
# components/settings/address-book-management-settings.tsx
2026-10-28 06:02:59 +01:00
Linus Rath
f5f536f7c9
fix: one kind of button in the Files selection bar, a closable details panel on tablets, and a share dialog that takes the focus
2026-10-28 05:29:23 +01:00
Linus Rath
50620c2bdc
fix: use sentence case and one verb per action in Settings: New for creating, Save for saving
2026-10-28 05:18:32 +01:00
Linus Rath
4b243dbdbe
Merge branch 'main' into ux/contacts-files
...
# Conflicts:
# components/contacts/contact-list.tsx
2026-10-28 05:01:48 +01:00
Linus Rath
7cb7aaff52
fix: give settings switches, jump chips, selects and search results a 44px touch target on the phone
2026-10-28 04:58:07 +01:00
Linus Rath
6dbaa0fd30
Merge branch 'main' into ux/settings-admin
2026-10-28 04:50:27 +01:00
Linus Rath
d0134c3f46
fix: name every icon button and switch in Settings for what it does
2026-10-28 04:50:27 +01:00
Linus Rath
ab3addefc3
fix: show the focus ring on the About card in the settings sidebar and name it by what it shows
2026-10-28 04:42:36 +01:00
Linus Rath
b45c914cf2
fix: give each settings page an h1 with its name on the desktop
2026-10-28 04:40:48 +01:00
Linus Rath
867ee3e828
fix: drop the Learn more button next to sub-addressing that opened the identity manager
2026-10-28 04:37:55 +01:00
Linus Rath
c833e24471
fix: cancel editing a tag with Escape
2026-10-28 04:35:41 +01:00
Linus Rath
b54d57065c
fix: name the settings jump chips after their section without gluing on the Advanced badge
2026-10-28 04:33:42 +01:00
Linus Rath
3e1024957f
fix: let every settings search result land on its row, match every word of a query, and turn on Advanced only for advanced rows
2026-10-28 04:31:53 +01:00
Linus Rath
286c1bd7c9
fix: show the tag, calendar and address book row actions on touch screens and on keyboard focus
2026-10-28 04:13:01 +01:00
Linus Rath
c6f902dc32
feat: delete address books and contact categories from Settings
2026-10-28 04:11:23 +01:00
Linus Rath
f4cade224c
fix: ask in the app's own dialogs instead of browser confirm boxes in the admin panel
2026-10-28 03:54:36 +01:00
Linus Rath
c87baa8408
feat: sync the Files settings with the other settings, with export, reset and a one-time move from this device
2026-10-28 03:51:27 +01:00
Linus Rath
714d2b84da
fix: confirm resetting settings in a dialog and report backup results in toasts instead of alerts
2026-10-28 03:44:47 +01:00
Linus Rath
b30c2764f0
fix: confirm deleting folders, calendars, credentials and other things that can't come back in one dialog
2026-10-28 03:41:53 +01:00
Linus Rath
d70bf4ae74
fix: delete tags and filter rules at once with an Undo toast
2026-10-28 03:32:48 +01:00
Linus Rath
02ce389140
fix: make rename, new folder, address book and import dialogs close on Escape, keep focus and select the name
2026-10-28 03:20:09 +01:00
Linus Rath
9d3ae2203f
fix: ask before the identity, filter rule and Sieve editors drop unsaved changes, and dim the whole window behind them
2026-10-28 03:18:52 +01:00
Linus Rath
5dded2243a
fix: save out of office changes as you make them, with date errors shown under the fields
2026-10-28 03:09:29 +01:00
Linus Rath
ae412e0cda
feat: show notifications, the command palette and the account avatar in every app's phone header
2026-10-28 03:05:41 +01:00
Linus Rath
0f1d226d4c
fix: show folder names in the phone folder settings and move the row actions into a menu
2026-10-28 02:43:29 +01:00
Linus Rath
dc0fe7d980
fix: open the settings page a link names on the phone instead of the settings list
2026-10-28 02:33:09 +01:00
Linus Rath
6e97ca574d
fix: make switches that are off visible against the page
2026-10-28 01:50:56 +01:00
Linus Rath
c355b0d552
feat: add a setting to turn off the placeholder warning
2026-10-27 22:32:38 +01:00
Linus Rath
8940f45baa
fix: apply a custom calendar color picked in the system color dialog #1366
2026-10-26 20:01:09 +01:00
Linus Rath
4bfaf8abce
Merge pull request #1363 from lucamzanon/feat/account-archive-restore-prompt
2026-10-26 19:26:13 +01:00
Linus Rath
e99cce05fe
Merge pull request #1370 from maxhaomh/feat/disable-quick-reply
2026-10-26 19:24:49 +01:00
Max Hao
7216089629
feat: add quick reply feature with toggle in settings and tests
2026-10-26 11:40:47 -04:00
Linus Rath
7da326b86e
fix: keep the server's path in the fallback CalDAV address
2026-10-26 15:15:58 +01:00
lucamzanon
2f8c6e13bf
feat: offer to restore the saved account list on a new device
...
Part 3 of 3 of the account archive (#1198 ). Signing in on a browser that
knows no other account, with a list saved for that account, opens a dialog
asking for the backup password and restores the list as Settings does.
Not now hides the offer for that account in this browser; the restore
stays in Settings.
2026-10-26 12:23:18 +01:00
Linus Rath
cf2c27157d
Merge branch 'main' into feat/stalwart-1.0
...
# Conflicts:
# components/contacts/contacts-app.tsx
# components/email/__tests__/composer-discard.test.tsx
# components/email/calendar-invitation-banner.tsx
# components/email/email-composer.tsx
# components/mail/mail-app.tsx
# components/pro/pro-compose-tab-body.tsx
# components/pro/pro-email-tab-body.tsx
# components/ui/__tests__/avatar.test.tsx
# components/ui/avatar.tsx
# hooks/use-mailbox-drop.ts
# lib/__tests__/calendar-alerts.test.ts
# lib/__tests__/jmap-calendar-tasks.test.ts
# lib/__tests__/jmap-send-threading.test.ts
# lib/demo/demo-client.ts
# lib/demo/fixtures/calendars.ts
# lib/jmap/client-interface.ts
# lib/jmap/client.ts
# lib/web-push.ts
# stores/__tests__/contact-store.test.ts
# stores/__tests__/email-store-thread-key.test.ts
# stores/calendar-store.ts
# stores/contact-store.ts
# stores/email-store.ts
2026-10-26 10:14:12 +01:00
Linus Rath
f7a4087c91
feat: split the Mountain View inbox into Unread and Everything else, as Gmail's unread first
2026-10-25 13:13:46 +01:00
Linus Rath
cb663d2222
fix: keep settings switches full width next to long labels
2026-10-25 12:49:55 +01:00
ghozty and Claude Opus 5.5
30f51e5ca4
feat: name the app with the configured APP_NAME in user-facing strings
...
Some user-facing strings still said "Bulwark" on a deployment with its own
APP_NAME: Settings > General > Default apps (protocol handlers), the "Open
Bulwark" notification, the rate-limit banner and toast, the plugin connect
dialog, one plugin permission text and the connector page.
These strings now take an {appName} placeholder, filled by productName():
the configured APP_NAME, or "Bulwark" when it is unset or the default
"Webmail" (the same rule as the TOTP issuer and the About card, #1160 ).
A stock install reads as before.
The settings search (the settings page and api.app.searchSettings) indexes
these texts with the name filled in, so "bulwark" or the configured name
finds Default apps and no result carries the raw placeholder.
Locales: the 13 keys in every locale that has "Bulwark" in them. Languages
that inflect the name (cs, et, hu, ko, ro, sk, tr) use a neutral form such
as "{appName} uygulamasında" instead of a declined "Bulwark'ta"; a native
check of those is welcome.
Not changed on purpose: the mobile app, push relay, Lite, demo and admin
texts, which speak about Bulwark itself.
Closes #1314
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-22 04:14:54 +03:00
Linus Rath
fdf448d0b7
fix: give the calendar, contacts, files and settings sidebar headers the mail header's height
2026-10-19 20:59:44 +02:00