Commit Graph
86 Commits
Author SHA1 Message Date
Linus Rath e3fc67e771 feat: step to the previous or next file in the files preview 2026-10-31 05:24:31 +01:00
Linus Rath 90e4e230af feat: show the booking, parcel and order cards above the message body 2026-10-31 05:03:28 +01:00
Linus Rath f643df8164 Merge branch 'cu-reader' into catch-up-2026-11
# Conflicts:
#	docs/native-sync-2026-11.md
#	docs/parity/11-webmail-1.19.md
#	locales/rn/en.json
#	src/stores/settings-store.ts
2026-10-31 05:02:08 +01:00
Linus Rath 30e0631582 Merge branch 'cu-cards' into catch-up-2026-11 2026-10-31 04:57:58 +01:00
Linus Rath d9a759b78e Merge branch 'cu-calendar' into catch-up-2026-11 2026-10-31 04:55:30 +01:00
Linus Rath 982a30effc feat: show booking cards for Apple Wallet passes attached to verified mail 2026-10-31 04:53:55 +01:00
Linus Rath fac54b415f fix: show the via badge only when the identity's name adds something to the sender 2026-10-31 04:51:26 +01:00
Linus Rath 2055df8c21 feat: add, update and remove bookings from mail in the calendar 2026-10-31 04:49:41 +01:00
Linus Rath 4470a4ba82 fix: drop the paperclip from messages with only inline images and keep list rows from growing when chips arrive 2026-10-31 04:45:01 +01:00
Linus Rath 219aef046a fix: drop a leading style sheet and padding from message previews (bulwarkmail/webmail#1136) 2026-10-31 04:42:37 +01:00
Linus Rath cd677e7787 feat: show a card with times and tracking above booking, shipping and order mail 2026-10-31 04:40:16 +01:00
Linus Rath 4849cf233e feat: show typed, coloured file icons on the reader's attachment chips 2026-10-31 04:11:17 +01:00
Linus Rath a43b55ec25 fix: say that a send failed because the device is offline and the message is still there 2026-10-31 03:52:14 +01:00
Linus Rath 7dc457780d feat: read mail as plain text when plain text only is on, or per message from the menu 2026-10-31 03:48:14 +01:00
Linus Rath a19afe9b48 feat: offer to remove a cancelled meeting from the calendar in the cancellation mail (bulwarkmail/webmail#1425) 2026-10-31 03:44:02 +01:00
Linus Rath 0b0fc021fb fix: show a warning shield instead of the sender photo when the sender check fails (bulwarkmail/webmail#1439) 2026-10-31 03:37:46 +01:00
Linus Rath db8eb731f1 fix: run the placeholder, attachment and confirm checks before a quick reply goes out 2026-10-31 03:33:16 +01:00
Linus Rath 595df26e40 Merge branch 'fx/compose2' into feat/stalwart-1.0 2026-10-29 05:03:02 +01:00
Linus Rath ddec876e36 Merge branch 'fx/read2' into feat/stalwart-1.0 2026-10-29 04:44:36 +01:00
Linus Rath 893f40a21d fix: send group mail through the group's identity on Send now and quick reply 2026-10-29 04:40:19 +01:00
Linus Rath 918571c3c6 fix: send a mailto unsubscribe from the own account and only to one decoded address 2026-10-29 04:36:56 +01:00
Linus Rath 79ee9c34ca Merge branch 'fx/compose' into feat/stalwart-1.0 2026-10-29 04:20:07 +01:00
Linus Rath 91175a3382 Merge branch 'fx/cal' into feat/stalwart-1.0 2026-10-29 04:16:46 +01:00
Linus Rath 8e07b7d891 feat: attach files from Files and save attachments to Files 2026-10-29 03:51:33 +01:00
Linus Rath b7b9c7e076 feat: show the shared tags of group mailboxes, read from their metadata on Stalwart 1.0 2026-10-29 03:43:27 +01:00
Linus Rath 0fb7c8cd09 fix: show an invitation's time in the user's time zone, with its name 2026-10-29 03:26:00 +01:00
Linus Rath 7a95d43f1a fix: trust an invitation only on checks aligned with its sender and stop flagging colleagues' invitations 2026-10-29 03:22:46 +01:00
Linus Rath b1550f143b feat: offer the code of sign-in and verification mails for copying in the list and the reader 2026-10-29 03:15:09 +01:00
Linus Rath cc21317b5a feat: warn about unverified senders in the reader and stop offering Always trust for them 2026-10-29 03:09:04 +01:00
Linus Rath 3eac700aa2 fix: keep the draft and say so when the server does not confirm a send 2026-10-29 03:04:14 +01:00
Linus Rath 942f45179c fix: send a mailto unsubscribe to one address only and show what it sends 2026-10-29 03:02:33 +01:00
Linus Rath 4e57b19112 fix: keep attachments, sends and reply flags of an open draft out of a login switched to meanwhile 2026-10-29 02:59:42 +01:00
Linus Rath e81f00714c fix: undo and send now of a delayed send only reach the login it was sent from 2026-10-29 02:56:19 +01:00
Linus Rath f1db6b488a Merge branch 'main' into feat/stalwart-1.0 2026-10-29 01:30:03 +01:00
Linus Rath f5f3637d01 fix: keep full-screen modal headers below the status bar on iPhones with a notch 2026-10-22 22:04:28 +02:00
Linus Rath 2b486cb1ef fix: show tags with no local definition in the message header, as the list does #79 2026-10-19 13:02:29 +02:00
Linus Rath 323797b4ee fix: release a PDF that finishes opening after its preview was closed 2026-10-16 19:42:04 +02:00
Linus Rath d22fb8d5d0 feat: open the files inside ZIP archives and attached messages 2026-10-16 19:39:57 +02:00
Linus Rath e5492b89c8 feat: show PDFs in the app on Android 2026-10-16 19:23:17 +02:00
Linus Rath 95580b84ea feat: play video and audio, and show SVG, HTML and Markdown files in the preview 2026-10-16 19:11:24 +02:00
Linus Rath 7c534301ee refactor: open files from mail, the list, Files and compose through one preview 2026-10-16 18:48:26 +02:00
Linus Rath b048eaca03 fix: tint unread mail and draw the mail search, subject, quick reply and thread buttons like the webmail 2026-10-15 15:04:00 +02:00
Linus Rath 75299244cf refactor: draw the webmail's Tabler icons instead of Lucide 2026-10-15 14:13:02 +02:00
Linus Rath 776447dd41 fix: give sheet close buttons, chips and small text buttons a full-size touch target 2026-10-15 04:05:40 +02:00
Linus Rath c8434b0610 fix: make small buttons easier to hit 2026-10-15 03:30:00 +02:00
Linus Rath 2470e99dc8 feat: fit the files grid to the width and preview files beside the list on tablets 2026-10-15 02:07:49 +02:00
Linus Rath f4ff07da7a feat: centre sheets and float toasts bottom right on tablets 2026-10-15 02:06:19 +02:00
Linus Rath bfa02f1177 feat: let the app rotate and work in landscape
The app was locked to portrait in app.config.js and the hand-kept
AndroidManifest.xml. Android 16 ignores that lock on screens 600 dp and
wider, so tablets and foldables rotated into layouts that were never
tested. This removes the lock in both places, keeps React state across
rotation and split-screen resizes (`smallestScreenSize` joins
`configChanges`), and fixes what broke in landscape:

- the thread pager sizes its pages from its own width and snaps back to
  the open message after a rotation instead of showing half a neighbour
- compose and the thread view share one keyboard tracker; a rotation
  with the keyboard open closes it, since Android sends no new keyboard
  frame and the old portrait one blanked the whole landscape composer
- in a short window with the keyboard up the composer hides the format
  bar and tightens its header so a few lines of text stay visible
- inputs with suggestions or context around them opt out of Android's
  full-screen landscape keyboard
- month views fit whole rows to the real height, keep the month across a
  remount, and the month dropdown re-measures and caps its height
- the week grid's header follows the remounted list after a rotation
- the event sheet's actions stay on screen in landscape
- every RN Modal allows all orientations, or iOS forces portrait
2026-10-15 01:45:23 +02:00
arnauda-gh 5237d9004d fix(viewer): adapt screen and auto-scroll quick reply box when keyboard appears 2026-10-09 15:00:51 +02:00
Linus Rath 7b18063630 fix: stop a start-up crash, and stale views after sign-out or a new server
- The app crashed on every cold start whose cached folders held a
  shared or group folder, which on Stalwart 1.0 every group member has:
  the sidebar works out the accounts to span while it renders, before
  the session is up, and the JMAP client's account id throws until one
  is. The client now also names its account without throwing, for code
  that runs while rendering; the mail list's account helpers (the
  sidebar's accounts, a row's account, the viewer's pages) use it, and
  a read receipt sent by itself waits for the session. API calls still
  throw without a session.
- Signing out of the last account left the app on an empty mail view
  ("No mailboxes found") with nothing to retry: the account list was
  read before the account was removed, so the app switched to the
  account it had just signed out of, which did nothing. It is read
  again now, and the sign-in screen shows. A failed switch to the next
  account no longer puts the signed-out one back: when its server does
  not answer, that account shows offline, as on a cold start, and one
  whose sign-in is refused is skipped.
- After signing in with the same address on another server (another
  port) or on a server reinstalled at the address (0.16 to 1.0), Files
  kept showing the old server's drive without asking the new one, and
  actions on its rows would have used the old server's ids. The local
  account id leaves the port out and stays the same there, so the
  drive now also starts over when the server behind the session
  changes, and is read again with every new session. The account id
  itself is unchanged: it keys the stored credentials and every
  per-account cache, and changing it would sign such accounts out and
  orphan their data.
2026-09-26 01:44:47 +02:00