Linus Rath
910c503f4a
fix: render right-to-left mail right-to-left
...
The HTML and plain-text body documents had no direction, so an Arabic
or Hebrew message was laid out left-to-right: left-aligned, with its
sentence-final punctuation on the wrong side. Port the webmail's
`dir="auto"` on the body of both documents so the first strong
character picks the direction. An email that declares its own `dir`
on its `<html>` or `<body>` tag keeps it; the parser merges those
attributes into ours only while ours has none.
The shrink-to-fit reporter widens its wrapper to the content's natural
width and scales it from the top left. In a right-to-left body that
over-wide block overflowed to the left instead, so a 600px newsletter
scaled into the space left of the screen. A negative right margin now
keeps the widened wrapper flush left in either direction, so the
existing origin, pan clamp and pinch anchoring still hold.
2026-09-24 18:50:55 +02:00
..
2026-09-24 18:50:55 +02:00
2026-08-29 17:39:43 +02:00
2026-08-29 18:39:45 +02:00
2026-08-29 18:38:53 +02:00
2026-04-26 04:57:10 +02:00
2026-08-29 17:57:54 +02:00
2026-08-29 18:41:06 +02:00
2026-08-29 18:53:58 +02:00
2026-08-29 18:05:56 +02:00
2026-08-29 17:57:54 +02:00
2026-08-29 18:49:08 +02:00
2026-08-29 18:22:00 +02:00
2026-08-29 18:35:46 +02:00
2026-08-29 18:41:06 +02:00
2026-08-29 17:52:26 +02:00
2026-08-29 17:45:43 +02:00
2026-08-29 17:52:26 +02:00
2026-08-29 18:35:46 +02:00
2026-08-29 17:59:44 +02:00
2026-08-29 18:04:21 +02:00
2026-08-29 18:03:24 +02:00
2026-08-29 18:12:15 +02:00
2026-08-29 17:50:44 +02:00
2026-08-29 18:47:12 +02:00
2026-08-29 18:04:21 +02:00
2026-08-29 18:22:14 +02:00
2026-05-30 15:33:41 +02:00
2026-08-29 18:23:08 +02:00
feat: drafts with autosave and a save/discard close guard, Bcc, signatures, templates, sub-addressing, From override, read receipts, upload progress, inline-image hydration and an undo-send snackbar in the composer ( #188 , #849 , #848 , #540 , #570 , #684 , #163 )
2026-08-29 18:28:38 +02:00
2026-08-29 18:15:22 +02:00
2026-08-29 18:38:53 +02:00
2026-08-29 18:38:53 +02:00
2026-08-29 18:38:53 +02:00
2026-09-24 18:50:55 +02:00
2026-08-29 17:49:23 +02:00
2026-05-30 15:33:41 +02:00
2026-08-29 17:59:44 +02:00
2026-08-29 18:38:53 +02:00
2026-08-29 18:20:01 +02:00
2026-05-05 22:06:07 +02:00
2026-08-29 18:39:45 +02:00
2026-09-24 18:44:28 +02:00
2026-08-29 18:28:43 +02:00
2026-08-29 18:10:25 +02:00
2026-08-29 18:22:14 +02:00
2026-08-29 18:39:45 +02:00
2026-09-24 18:43:43 +02:00
2026-09-24 18:36:15 +02:00
2026-08-29 18:22:14 +02:00
2026-08-29 17:42:32 +02:00
2026-09-24 18:40:43 +02:00
2026-09-24 18:40:43 +02:00
2026-08-29 18:47:12 +02:00
2026-08-29 18:03:23 +02:00
2026-08-01 13:29:15 +02:00
2026-08-29 18:11:13 +02:00
2026-09-24 18:17:43 +02:00
2026-08-29 18:15:22 +02:00
2026-08-29 18:12:15 +02:00
2026-08-29 17:42:31 +02:00
2026-08-29 18:12:15 +02:00
2026-06-12 17:15:50 +02:00
2026-08-29 17:42:22 +02:00
2026-08-29 17:45:43 +02:00
2026-08-29 18:12:15 +02:00
2026-08-29 17:49:23 +02:00
2026-08-29 17:49:23 +02:00
2026-04-26 04:12:08 +02:00
2026-09-24 18:40:43 +02:00
2026-05-05 22:06:07 +02:00
2026-09-24 18:43:43 +02:00
2026-08-29 22:41:09 +02:00
2026-08-29 18:12:15 +02:00
2026-08-29 18:38:53 +02:00
2026-08-29 18:03:24 +02:00
2026-08-29 18:12:15 +02:00
2026-08-29 17:49:23 +02:00
2026-08-29 18:12:15 +02:00
2026-08-29 18:22:14 +02:00
2026-08-29 18:38:53 +02:00
2026-08-29 18:05:16 +02:00
2026-08-29 18:03:23 +02:00
2026-09-24 18:17:43 +02:00
2026-08-29 18:15:22 +02:00
2026-09-24 18:41:23 +02:00
2026-04-27 13:30:45 +02:00
2026-08-29 17:42:31 +02:00
2026-08-29 17:48:18 +02:00
2026-08-29 17:37:44 +02:00
2026-04-26 04:50:03 +02:00