Linus Rath
724c45d6e3
feat: add short explanations for technical terms that work with keyboard, touch and screen readers
2026-10-29 18:07:46 +01:00
Linus Rath
4e2affe406
fix: name the remaining search boxes, filter fields and settings inputs that only had a placeholder
2026-10-29 18:03:00 +01:00
Linus Rath
ef13556a01
fix: give every contact form field a label screen readers read out
2026-10-29 18:02:59 +01:00
Linus Rath
4af4404962
feat: undo the last mail actions with Ctrl+Z or z, newest first
2026-10-29 17:53:46 +01:00
Linus Rath
be5e2dbc53
feat: hold toasts while focused and jump to the newest with Alt+Shift+N
2026-10-29 17:53:45 +01:00
Linus Rath
e2fc2c750a
feat: read toasts out to screen readers, errors assertively
2026-10-29 17:53:44 +01:00
Linus Rath
36d13b76bd
feat: add app-wide live regions for screen reader announcements
2026-10-29 17:53:44 +01:00
Linus Rath
f23784a488
feat: open submenus, previews and the rail peek only on click when hover opening is off
2026-10-29 17:53:37 +01:00
Linus Rath
14519269cf
feat: reorder tags, filter rules, apps, accounts and Pro tabs without dragging
2026-10-29 17:53:37 +01:00
Linus Rath
39eb38a0fa
fix: give the mail, calendar, contacts, files and settings headers one search field and one button style
2026-10-28 22:16:48 +01:00
Linus Rath
d9afc9b643
fix: open the reader's more menu in place instead of sliding in from the right
2026-10-28 21:04:30 +01:00
Linus Rath
96797597c5
Merge branch 'main' into feat/org-features
2026-10-28 15:14:34 +01:00
Linus Rath
addf330bd0
fix: keep toasts out of the way of an open menu on phones and hold their countdown until it closes
2026-10-28 12:49:09 +01:00
Linus Rath
8566cf2b29
Merge branch 'ux/calendar3'
2026-10-28 11:06:37 +01:00
Linus Rath
2f790a2d75
fix: keep toasts above the Save and Cancel buttons of the contact and group forms
2026-10-28 10:43:55 +01:00
Linus Rath
89200e44af
fix: hide key hints in menus on touch screens
2026-10-28 09:49:38 +01:00
Linus Rath
3a888e11cc
fix: open the import calendar dialog with the focus on the drop zone so Tab stays inside it
2026-10-28 09:46:41 +01:00
Linus Rath
f60ddf3f95
fix: give a message the same actions in its row menu, the reader's ⋮ and the phone panel, Print, View source, Export and Pin included, and one menu look for Mail's ⋮, Move, Tag and composer menus
2026-10-28 07:42:24 +01:00
Linus Rath
e2908676ec
fix: give menu rows, the phone More panel's close and the subject star a 44px touch target
2026-10-28 07:00:24 +01:00
Linus Rath
43dd87b301
Merge branch 'main' into ux/mail
2026-10-28 05:16:28 +01:00
Linus Rath
5104a1d376
fix: insert and remove links in the app's own dialog instead of a browser prompt
2026-10-28 04:48:11 +01:00
Linus Rath
1a747ac9dd
feat: limit the page's CSP to the configured hosts with no third-party traffic #903
2026-10-28 04:30:41 +01:00
Linus Rath
d78f245b40
fix: make the shell's small buttons easy to tap on phones: notifications, account menu, welcome tips, tour, toasts and the search clear button
2026-10-28 04:19:21 +01:00
Linus Rath
86ff6f5bb2
fix: keep the welcome tips when Escape is pressed elsewhere in the app
2026-10-28 03:22:05 +01:00
Linus Rath
553f1e9149
feat: add a switch that stops all third-party traffic #903
2026-10-28 02:19:06 +01:00
Linus Rath
b08bb61a96
fix: open the keyboard shortcuts at the top instead of scrolled down to the tour link
2026-10-28 02:05:50 +01:00
Linus Rath
41ffc8af29
fix: keep a dialog's title in view while its content scrolls
2026-10-28 02:04:35 +01:00
Linus Rath
b1678edbf5
feat: add a shared empty state and loading spinner
2026-10-28 01:49:11 +01:00
Linus Rath
03304a3cdc
fix: show toasts above the phone's bottom bars, newest at the bottom, and let a swipe dismiss them
2026-10-28 01:48:36 +01:00
Linus Rath
635ee883b2
fix: make menus work from the keyboard and keep tapped submenus open
2026-10-28 01:42:06 +01:00
Linus Rath
838577876e
feat: add one dialog shell and build the confirm and name prompts on it
2026-10-28 01:17:46 +01:00
Linus Rath
c0fa11e5ec
feat: add an icon button that always has an accessible name
2026-10-28 01:11:21 +01:00
Linus Rath
f8b061f07c
feat: add dense button sizes and a 44px touch hit area to every button
2026-10-28 01:10:58 +01:00
Phumiphat Kanjanachotipong
f6325e741d
feat(i18n): Add Enterprise Thai (th) localization catalog & integration
2026-10-27 07:36:03 +00: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
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
782d4f8bf5
perf: stop loading the app's stores in every plugin frame
2026-10-25 02:09:37 +02:00
Linus Rath
eb100c6aac
fix: draw the Estonian flag without a shared clip path id
2026-10-18 14:39:59 +02:00
Linus Rath
1ff7db0827
Merge pull request #1254 from raudraido/feat/add-estonian-locale
...
feat: add Estonian (et) locale
2026-10-18 14:34:37 +02:00
Linus Rath
89001ededa
fix: open the reader's Move, Tag and Rules flyouts on the side with room #1261
2026-10-18 13:46:48 +02:00
Linus Rath
b611d9c028
feat: refresh sender icons that changed on the sender's website #960
2026-10-17 19:18:18 +02:00
raudraido and Claude Sonnet 5.5
ae7f794d2f
feat: add Estonian (et) locale
...
Complete Estonian translation (every key in en), wired into the locale list, the message loaders, the language switcher (with an Estonian flag drawn in the Twemoji style, since Twemoji's set is not used for it) and the locale-count test.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-16 18:19:29 +03:00
Linus Rath
41a0716c50
Merge branch 'main' into feat/stalwart-1.0
2026-10-16 01:41:48 +02:00
Linus Rath
937025be8d
fix: keep context menus inside the window when a plugin frame in them grows after opening
2026-10-14 09:25:26 +02:00
Linus Rath
cc9553590c
Merge branch 'hooks/mailui' into feat/plugin-system-audit
2026-10-14 04:00:45 +02:00
Linus Rath
89452871fb
feat: tell plugins when an event reminder fires and when it is dismissed
2026-10-14 03:40:19 +02:00
Linus Rath
69dbc1b661
feat: tell plugins when a message body is on screen or a conversation unfolds, and let them rewrite links
2026-10-14 03:39:13 +02:00
Linus Rath
c633185cda
Merge branch 'main' into feat/stalwart-1.0
...
# Conflicts:
# CONTRIBUTING.md
# LICENSE
# README.md
# app/api/calendar-agenda/route.ts
# app/api/wopi/files/[fileId]/contents/route.ts
# app/api/wopi/launch/route.ts
# components/calendar/calendar-app.tsx
# components/calendar/calendar-day-view.tsx
# components/calendar/calendar-month-view.tsx
# components/calendar/calendar-week-view.tsx
# components/calendar/event-modal.tsx
# components/contacts/contact-detail.tsx
# components/email/email-composer.tsx
# components/email/email-list.tsx
# components/files/file-browser.tsx
# components/files/files-app.tsx
# components/files/folder-tree-sidebar.tsx
# components/filters/filter-rule-modal.tsx
# components/mail/mail-app.tsx
# hooks/use-mailbox-drop.ts
# integration/run-tests.sh
# lib/__tests__/calendar-agenda-route.test.ts
# lib/__tests__/jmap-draft-lifecycle.test.ts
# lib/__tests__/web-push.test.ts
# lib/account-state-manager.ts
# lib/jmap/client-interface.ts
# lib/jmap/client.ts
# lib/jmap/types.ts
# lib/message-list-order.ts
# lib/sieve/generator.ts
# lib/sieve/parser.ts
# lib/telemetry/payload.ts
# lib/thread-utils.ts
# lib/unified-mailbox.ts
# lib/web-push.ts
# lib/wopi/token.ts
# locales/ar/common.json
# locales/ca/common.json
# locales/cs/common.json
# locales/da/common.json
# locales/de/common.json
# locales/en/common.json
# locales/es/common.json
# locales/fa/common.json
# locales/fr/common.json
# locales/he/common.json
# locales/hu/common.json
# locales/it/common.json
# locales/ja/common.json
# locales/ko/common.json
# locales/lv/common.json
# locales/mn/common.json
# locales/nb/common.json
# locales/nl/common.json
# locales/pl/common.json
# locales/pt/common.json
# locales/ro/common.json
# locales/ru/common.json
# locales/sk/common.json
# locales/tr/common.json
# locales/uk/common.json
# locales/zh-TW/common.json
# locales/zh/common.json
# scripts/lite/lib.mjs
# stores/__tests__/calendar-store-synthetic-ids.test.ts
# stores/__tests__/email-store-shared-folder-keywords.test.ts
# stores/__tests__/email-store-unified-actions.test.ts
# stores/__tests__/file-store.test.ts
# stores/email-store.ts
# stores/file-store.ts
# stores/message-list-tabs-store.ts
2026-10-12 08:35:08 +02:00
Linus Rath
4b282e7064
fix: give touch tips in the welcome banner on a phone
2026-10-11 20:09:31 +02:00
Linus Rath
935a410c8f
fix: explain failed sends in plain words and keep toasts off the Send button
2026-10-11 19:54:02 +02:00