Commit Graph
4873 Commits
Author SHA1 Message Date
Linus Rath 6ffa0a3715 fix: show the real sender and subject for a push after the browser was closed 2026-11-04 03:13:57 +01:00
Linus Rath 5c62c57657 fix: replace a browser subscription the push service gave up on 2026-11-04 03:13:57 +01:00
Linus Rath a6ef818149 fix: end a login's push registration when it signs out, is removed or wiped 2026-11-04 03:13:57 +01:00
Linus Rath 8b4fb72357 fix: say in plain words why push could not be turned on or off 2026-11-04 03:13:57 +01:00
Linus Rath d520af51b2 fix: restore push when the browser replaces its subscription with no tab open 2026-11-04 03:13:56 +01:00
Linus Rath 8a69c35206 fix: open a notification in the app window, not a pop-out or a frame 2026-11-04 03:13:56 +01:00
Linus Rath 33249ca57a fix: show a notification even if building it fails 2026-11-04 03:13:56 +01:00
Linus Rath 2c462c304e fix: show the right preview when an account id is in more than one login 2026-11-04 03:13:56 +01:00
Linus Rath fc6a209727 fix: keep push notifications off screen with email notifications off or do not disturb on 2026-11-04 03:13:56 +01:00
Linus Rath 7fb0242a7b fix: open the new message from its notification however much older mail is unread 2026-11-04 03:13:56 +01:00
Linus Rath 376465ed80 fix: notify for every account a state-change push names 2026-11-04 03:13:56 +01:00
Linus Rath 6ca6448b5e fix: remove the record from the old relay when push moves to another one 2026-11-04 03:13:56 +01:00
Linus Rath 2551823006 fix: let tabs take turns setting up push so two can't race into two subscriptions 2026-11-04 03:13:55 +01:00
Linus Rath 4586f16c2e fix: remove the unverified subscription when push verification fails, and poll through a network blip 2026-11-04 03:13:55 +01:00
Linus Rath 3a805d1631 fix: restart push verification when the mail server skipped it after a quick off and on 2026-11-04 03:13:55 +01:00
Linus Rath b0a36b7d1a Merge commit '7f3d9c507' into feat/desktop-offline 2026-11-04 03:09:44 +01:00
Linus Rath c4f30f7128 Merge remote-tracking branch 'origin/main' into feat/desktop-offline 2026-11-04 03:09:43 +01:00
Linus Rath 81d6948240 Merge branch 'main' of https://github.com/bulwarkmail/webmail 2026-11-04 03:08:16 +01:00
Linus Rath 7f3d9c5073 fix: let npm run build pass its guard, with the build run in CI 2026-11-04 02:45:46 +01:00
Linus Rath dc8482ace0 Merge branch 'feat/do-quick-compose' into feat/desktop-offline 2026-11-04 02:06:51 +01:00
Linus Rath f570277a61 chore: merge the desktop offline branch into quick compose 2026-11-04 01:45:09 +01:00
Linus Rath 724aed257f Merge branch 'feat/do-sso-certs' into feat/desktop-offline 2026-11-04 01:34:33 +01:00
Linus Rath 71aaadef50 fix: run plugins' compose check in quick compose, keep a composer with one owner, and bring it back after a crash
The first version of quick compose skipped `onBeforeCompose`, a composer
moved back could end up open in both windows, a reply moved back under
Pro flagged the selected message, and a crashed pop-out came back blank.

- A new message in a pop-out runs `onBeforeCompose` with the same result
  as the main window: a plugin that stops it closes the window.
- The way back has two steps, so a pop-out that gave up can't leave a
  second owner. A handoff behind a plugin's gate makes it say busy.
- A Pro tab made from a composer moved back answers its own message.
- Each save writes `draft`, `account` and `owner` into the pop-out's
  address, which a reload after a crash starts from. What was typed since
  the last save, up to the 2 s autosave delay, is still lost.
- The recorder refuses keys that type a character on this keyboard, and
  what the shell refuses from a page, and says why.
2026-11-04 01:31:43 +01:00
Linus Rath 889f6ffbd1 fix: fail requests under way when the desktop app closes its connections, and forget client certificates per account 2026-11-04 00:56:09 +01:00
Linus Rath d0a636416d docs: say where quick compose opens its window in the pop-out notes 2026-11-03 23:35:23 +01:00
Linus Rath 3da18cc2c0 feat: set the quick compose keys in the desktop settings and move a composer back into the main window 2026-11-03 23:25:10 +01:00
Linus Rath 8549e3c4c6 feat: translate the desktop app's client certificate picker and forget chosen certificates at sign-out and account switch 2026-11-03 23:21:56 +01:00
Linus Rath 514a9ba1d9 fix: keep the quote when typing in a reply as its inline images load 2026-11-03 22:08:18 +01:00
Linus Rath 7040a6a049 fix: reply and forward from the account holding the message in Pro tabs #1511 2026-11-03 22:06:21 +01:00
Linus Rath 54bda3ef3d Merge branch 'feat/do-packaging' into feat/desktop-offline
# Conflicts:
#	components/desktop/desktop-host.tsx
#	lib/desktop/languages.ts
2026-11-03 22:02:10 +01:00
Linus Rath 43ba229c7d Merge branch 'feat/do-perf-guard-2' into feat/desktop-offline 2026-11-03 21:50:37 +01:00
Linus Rath 2b4a1171ab fix: show the spelling and unsent-mail labels in the desktop app instead of their raw keys 2026-11-03 21:50:09 +01:00
Linus Rath b8cb12174c fix: bring office editing back after sign-in when the first status check was refused #1518 2026-11-03 21:45:13 +01:00
Linus Rath 7509bd9f53 Merge branch 'main' into feat/desktop-offline 2026-11-03 21:37:32 +01:00
Linus Rath d651ae857c Merge remote-tracking branch 'origin/main' into feat/do-perf-guard 2026-11-03 21:34:59 +01:00
Linus Rath 717747b577 test: restore the session cookies in the forgotten PIN offline case, as Chromium's emulated outage lets a keepalive delete through 2026-11-03 21:33:52 +01:00
Linus Rath a89cae5f28 fix: show the page skeleton from the first frame again, with or without an app lock 2026-11-03 21:33:51 +01:00
Linus Rath fafdb0cdc0 fix: stop every search re-rendering the mail list when nothing is ticked 2026-11-03 21:06:48 +01:00
Linus Rath b4bcce2b01 Merge branch 'main' into feat/desktop-offline 2026-11-03 19:53:36 +01:00
Linus Rath 423fe28b0b Merge branch 'main' into feat/do-ci-fix 2026-11-03 19:50:46 +01:00
Linus Rath 776328b58d chore: keep the vendored SQLite build out of lint 2026-11-03 19:49:57 +01:00
Linus Rath 7bd9768e4c test: mock the desktop commands in the launch handler test, which would load every store 2026-11-03 19:49:57 +01:00
Linus Rath 1efe9bc8b4 test: tell reminders of two accounts apart by uid, since one meeting in both rings once 2026-11-03 19:49:57 +01:00
Linus Rath d890addbf4 test: register devices a second apart in the cap test, since rows of one millisecond have no oldest 2026-11-03 19:49:56 +01:00
Linus Rath 4015bbad76 test: expect the hidden settings row without a plugin, since the desktop app shows it for the window controls 2026-11-03 19:49:56 +01:00
Linus Rath ac2f7cba2b test: allow keystore as the one bare plugin permission, since it has no actions and the S/MIME manifest uses the name 2026-11-03 19:49:56 +01:00
Linus Rath fe3c213cb9 test: spell out the device policy defaults, since the offline caps are numbers where 0 means no cap 2026-11-03 19:49:55 +01:00
Linus Rath 5467f5db93 fix: let the Lite host scan know the desktop app's dictionary host 2026-11-03 19:49:55 +01:00
Linus Rath 984e6fa8d9 fix: label device and pop-out requests in metrics and error reports 2026-11-03 19:49:55 +01:00
Linus Rath 3f59af9c31 fix: delete offline mail right away when the local store doesn't answer 2026-11-03 19:49:55 +01:00