Commit Graph
1184 Commits
Author SHA1 Message Date
Linus Rath 46a1adbb2d fix: start at the top of the body when tabbing into a new message 2026-10-11 20:26:43 +02:00
Linus Rath e3f0f6cb38 fix: fold the formatting toolbar away on a phone behind a Formatting button 2026-10-11 20:21:47 +02:00
Linus Rath f025b2101d fix: name the composer close and conversation back buttons for screen readers 2026-10-11 20:18:19 +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 434ab6251e fix: show one Edit button on a draft 2026-10-11 20:07:46 +02:00
Linus Rath f8157a92f4 fix: hide the via badge when it repeats the sender name 2026-10-11 20:07:05 +02:00
Linus Rath 54b74363e7 feat: offer one-click times in the Schedule send dialog 2026-10-11 20:03:42 +02:00
Linus Rath 46e4f8385c fix: mark quotes and list items in the plain-text part of sent mail 2026-10-11 20:00:47 +02:00
Linus Rath e9a37e14bd fix: close an autosaved draft without asking about unsaved changes 2026-10-11 19:57:10 +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
Linus Rath 2ae8c89990 fix: show the scheduled time rounded to the minute and with its date 2026-10-11 19:50:40 +02:00
Linus Rath 8e074503a3 fix: ask about a missing subject only once per message 2026-10-11 19:48:26 +02:00
Linus Rath eadcc2b481 fix: put the caret in the body when a reply opens 2026-10-11 19:46:36 +02:00
Linus Rath 39d299b720 fix: title the composer Reply, Reply All or Forward instead of New Message 2026-10-11 19:43:20 +02:00
Linus Rath 7aa35ca5b9 Merge branch 'main' of https://github.com/bulwarkmail/webmail 2026-10-11 19:42:32 +02:00
Linus Rath a4cc91c4fb fix: show one signature separator and keep its trailing space 2026-10-11 19:41:48 +02:00
Linus Rath 22ffc36ca9 feat: let plugins run a message-list search with a JMAP filter #1024 2026-10-11 19:39:58 +02:00
Linus Rath b361387cd9 fix: make Discard delete the draft, also one reopened from Scheduled 2026-10-11 19:21:52 +02:00
Linus Rath 67c5191b2c Merge branch 'main' of https://github.com/bulwarkmail/webmail 2026-10-11 19:18:57 +02:00
Linus Rath ef710c7b92 test: drop unused imports from the new composer tests 2026-10-11 19:18:19 +02:00
Linus Rath 31057af93d fix: stop the Continue draft banner from flashing after a send 2026-10-11 19:16:54 +02:00
Linus Rath e7237e1d05 feat: run saved rules on a folder from its context menu #1166 2026-10-11 19:16:51 +02:00
Linus Rath a5c60ef597 fix: hide Undo send when the delay is over and say when an undo fails 2026-10-11 19:13:10 +02:00
Linus Rath 1614cab78b fix: return to the message list after sending a new message on a phone 2026-10-11 19:04:02 +02:00
Linus Rath 7c21b0d0f9 Merge branch 'main' of https://github.com/bulwarkmail/webmail 2026-10-11 18:59:34 +02:00
Linus Rath 32f74e2083 fix: keep the quoted message when tabbing into a reply or forward 2026-10-11 18:58:55 +02:00
Linus Rath 9dc0f9c892 fix: label the composer toolbar buttons and group send options in a menu 2026-10-11 18:58:26 +02:00
Linus Rath 3efa370e42 fix: split typed addresses on commas and stop sends to invalid addresses 2026-10-11 18:55:46 +02:00
Linus Rath ab97ed2441 fix: add the highlighted suggestion on Enter instead of the typed text 2026-10-11 18:53:15 +02:00
Linus Rath fcc6c15227 fix: close the recipient suggestions once the typed address is added 2026-10-11 18:49:03 +02:00
Linus Rath 7401ea6658 fix: recolour mails for dark mode instead of inverting them
Dark mode used to invert the whole message body with a CSS filter and
re-invert images and coloured cells. Brand colours came out shifted
(red turned pink), white cells set through bgcolor stayed white, and
the result changed after loading remote content because the blocker
strips the background attributes the selectors relied on.

The rendered body is now read back through computed styles and its
colours are rewritten in place: light backgrounds are darkened in their
own hue, vivid and dark fills stay as sent, text and borders only change
when they lack contrast, and anything painted on a background image is
left alone. Transparent dark images get their original light background
behind them when their pixels show they would vanish. The thread
conversation view uses the same pass.

Also fixed along the way:
- blocking remote content dropped every leading `<style>` block, so
  mails lost their CSS until images were loaded
- a mail's `prefers-color-scheme` rules followed the OS instead of the
  app theme
2026-10-11 18:43:04 +02:00
Linus Rath d98f0684d9 test: click the My files breadcrumb in the file picker test 2026-10-11 18:12:14 +02:00
Linus Rath 89d8bcc453 fix: hide the paperclip in the list when a message only has inline images 2026-10-11 17:57:04 +02:00
Linus Rath face095a83 fix: align the contact sidebar header with the toolbar and use app buttons for its actions 2026-10-11 17:53:43 +02:00
Linus Rath 50771cd082 fix: close the composer after a plugin send and keep the draft when it fails #1207 2026-10-11 17:44:26 +02:00
Linus Rath 44bfb7ebfd fix: translate the new Files app strings and label the picker root My files 2026-10-11 17:29:30 +02:00
Linus Rath 5877b31879 fix: hide forward in filter rules when the server allows no redirects #1208 2026-10-11 17:28:20 +02:00
Linus Rath b846c7bf22 fix: make the contact more-actions menu look like the other menus 2026-10-11 17:22:16 +02:00
Linus Rath 6d518f1849 fix(contacts): show placeholders instead of "No contacts yet" while contacts load 2026-10-11 17:20:43 +02:00
Linus Rath b9d4d5ed7f feat: add search and Twemoji flags to the language picker 2026-10-11 17:16:54 +02:00
Linus Rath 93969a1371 fix: show a live sample on every date format and region option 2026-10-11 17:09:55 +02:00
Linus Rath efefbd1358 fix: show the resolved date format on the automatic region option 2026-10-11 17:04:19 +02:00
Linus Rath bf00ea27cf fix(files): show the loading skeleton instead of "No files yet" before the first listing 2026-10-11 17:00:56 +02:00
Linus Rath a4909ae106 fix(files): drop the cursor outline from a file once it is deselected 2026-10-11 16:57:00 +02:00
Linus Rath 958aa500b8 feat(files): add right-click menus to My files, folders, starred and recent in the sidebar 2026-10-11 16:50:08 +02:00
Linus Rath 8f146509ca fix(files): give the image zoom bar the same card and buttons as the rest of the app 2026-10-11 16:44:37 +02:00
Linus Rath dfa68a1d2f fix(files): keep the items a drag selection covers after letting go 2026-10-11 16:42:43 +02:00
Linus Rath e60840c0e6 fix(files): say the upload was canceled instead of counting it as done
Cancelling an upload ended the loop like a normal finish, and the Files
app then reported every picked file as uploaded. Uploads now return how
many files went up and whether they were cancelled, so a cancel shows
"Upload canceled" (with the count of files that made it, if any).

Folder uploads also passed no cancel signal or progress callback to the
blob upload, so Cancel did not stop the file in flight and the progress
line stood still; they now behave like file uploads.
2026-10-11 16:40:32 +02:00
Linus Rath cd5fe770e4 feat: show file uploads as a toast like every other notice
Uploads in Files had their own card with a thick progress bar, larger
corners and a heavier shadow, so they looked unlike the toasts around
them.

Toasts can now show work in progress: the thin line at the bottom fills
with progress instead of counting down, and the toast stays until it is
updated or removed. Uploads use it, with the file and percentage below
the title and Cancel as the toast action.
2026-10-11 16:38:05 +02:00
Linus Rath 87915f8bf1 feat(files): zoom and pan images in the preview, close by clicking beside them
The image viewer only zoomed with its buttons, scaled the image inside
a fixed box so a zoomed image could not be moved, and the area around
the image swallowed clicks, so clicking beside it did nothing.

Both the Files image viewer and the attachment preview now use one
viewer that:

- zooms with the wheel, trackpad or two-finger pinch, centred on the
  pointer, and with a zoom bar at the bottom (-, percentage, +, fit,
  rotate)
- toggles between fit and full size on double-click or double-tap
- pans by dragging, or with the arrow keys, while zoomed
- closes on a click or tap beside the image, but not after a drag
- keeps + / - / 0 / r as shortcuts and Escape to close
2026-10-11 16:32:51 +02:00