Commit Graph
2407 Commits
Author SHA1 Message Date
Linus Rath 5fc87eafbd Merge branch 'feat/do-menu-audit' into feat/do-menu-fixes
# Conflicts:
#	components/email/email-context-menu.tsx
#	components/mail/mail-app.tsx
2026-11-04 06:19:07 +01:00
Linus Rath f7c6f6b7b1 Merge branch 'feat/do-menu-overflow' into feat/do-menu-fixes 2026-11-04 06:12:13 +01:00
Linus Rath daf67152eb Merge branch 'feat/do-menu-winctl' into feat/do-menu-fixes 2026-11-04 06:12:10 +01:00
Linus Rath 6efa589448 Merge branch 'feat/do-menu-pos' into feat/do-menu-fixes 2026-11-04 06:12:08 +01:00
Linus Rath 53eb91ab0e fix: keep the message details panel readable in a narrow reader, with addresses, dates and sign-in results that fit 2026-11-04 05:58:47 +01:00
Linus Rath 4508eddccb fix: keep a tall menu under its button and scroll it, instead of covering the button 2026-11-04 05:35:57 +01:00
Linus Rath e74d2aaa72 fix: keep the app's own buttons out from under the window's controls and move a pane's close away from the window's 2026-11-04 05:27:57 +01:00
Linus Rath 4d404929e2 fix: show the message's own folders in Move to, in mail-client order, with recents and a filter
The Move lists (message menu, reader Move button and its phone panel,
selection toolbar, Move dialog) now share one model in lib/move-menu.ts.
In the desktop app the native copy of the menu lost the shared accounts'
headers and every folder's nesting, so Inbox, Sent, Spam and Trash
showed once per account with nothing to tell them apart.

- Only the message's own account at the top; other accounts a move can
  reach are submenus under their names.
- System folders first (Inbox, Sent, Archive, Spam, Trash), then the
  user's folders by name; subfolders nest, as submenus natively.
- The open folder shows greyed instead of missing.
- A Recent group, a filter field on long lists, and "Choose folder…"
  for the dialog, which has the filter too.

Tests changed: the open folder is now shown disabled rather than left
out, the own account of a shared-mailbox message is a submenu, and the
selection toolbar's filter field has its own label.
2026-11-04 05:20:14 +01:00
Linus Rath 551b5ce4fa fix: name the account sign out leaves in the command palette, add star, hide dead key hints 2026-11-04 05:09:09 +01:00
Linus Rath 3fa82849a8 fix: open menus next to what opened them and show their keys apart from the label 2026-11-04 05:00:02 +01:00
Linus Rath c49c68ffbd Merge branch 'feat/desktop-offline' into feat/do-proxy-fixes 2026-11-04 04:12:23 +01:00
Linus Rath 8cd9d72558 Merge branch 'feat/desktop-offline' into feat/do-proxy-fixes 2026-11-04 03:55:52 +01:00
Linus Rath bce0c0b744 Merge branch 'feat/desktop-offline' into feat/do-keystore-fixes 2026-11-04 03:52:09 +01:00
Linus Rath 7443654459 Merge branch 'feat/do-package-fixes' into feat/desktop-offline 2026-11-04 03:43:04 +01:00
Linus Rath 92e6ee1bfa Merge branch 'feat/do-trust-fixes' into feat/desktop-offline 2026-11-04 03:43:04 +01:00
Linus Rath be8aba2ae7 Merge remote-tracking branch 'origin/main' into feat/desktop-offline
# Conflicts:
#	stores/auth-store.ts
2026-11-04 03:42:18 +01:00
Linus Rath d3308e7729 Merge branch 'feat/desktop-offline' into feat/do-keystore-fixes
# Conflicts:
#	lib/desktop/__tests__/policy-schema.test.ts
2026-11-04 03:31:22 +01:00
Linus Rath 2f846bb2da fix: list the browser sign-in budget as shared server state 2026-11-04 03:30:48 +01:00
Linus Rath 9b61b79d5c fix: sign only CMS signed attributes through api.keystore, and ask a user about a managed plugin's keystore
The shell now takes a message's signed attributes where it took a digest,
so a page can't get a login or TLS digest signed. A quiet option lets a
plugin answer from what's allowed, for anything the user didn't ask for.

An admin's install no longer covers the certificates on someone's own
computer: a managed plugin gets `keystore` when that person says yes, also
when an update adds it, and it's forgotten once everyone has signed out.

Changed test assertions: the fixture plugin needs a grant now, as managed
alone is no longer enough, and the bridge gets an options argument.
2026-11-04 03:23:45 +01:00
Linus Rath b1f26a93bf feat: let an organisation turn the system certificate store off by policy 2026-11-04 03:23:44 +01:00
Linus Rath 484ce34f5d Merge branch 'feat/do-browser-signin' into feat/desktop-offline 2026-11-04 03:19:32 +01:00
Linus Rath cb9a5ac810 Merge branch 'feat/do-edit-attachments' into feat/desktop-offline 2026-11-04 03:16:35 +01:00
Linus Rath 466fa7f974 fix: keep the desktop app's session secret and admin password out of its server's environment 2026-11-04 03:15:42 +01:00
Linus Rath a9e33ec2d6 fix: stop a page wiping another account's plugin secrets by naming it in the desktop app
A wipe by name took any username and server with no session behind it. It
now needs a sealed cookie the account got while it was signed in, since a
dropped account has no session cookie left. The old wipe test asserted that
a name alone was enough, which is the behaviour being removed.
2026-11-04 03:15:35 +01:00
Linus Rath 149d08d87b test: load the preview route once before its cases, so a slow import can't spill into them 2026-11-04 03:13:59 +01:00
Linus Rath f39cff2377 fix: call no relay from the worker in no-third-party mode, and handle several accounts in one push side by side 2026-11-04 03:13:59 +01:00
Linus Rath d8e2a4f42c fix: keep a waiting re-sync from undoing what another tab turned off, and note the relay on refresh 2026-11-04 03:13:59 +01:00
Linus Rath 9432345440 fix: keep a nothing-new notification from closing or replacing a real one 2026-11-04 03:13:59 +01:00
Linus Rath 8cb218ce3c fix: apply email notifications off and do not disturb per login, not to every login's mail 2026-11-04 03:13:59 +01:00
Linus Rath 248f9c261b fix: take down push for logins with no connection when signing out of everything 2026-11-04 03:13:59 +01:00
Linus Rath 9bc31b54ab fix: keep notifications generic after the browser closed when the organisation has idle limits 2026-11-04 03:13:59 +01:00
Linus Rath 6dbda4424e fix: stop a stuck push setup from holding up every tab and login 2026-11-04 03:13:58 +01:00
Linus Rath bc8653de8b fix: only replace a browser subscription on the relay's own answer, and move the other logins along 2026-11-04 03:13:58 +01:00
Linus Rath 226b9383ce fix: show a generic notification instead of guessing which login a push is for 2026-11-04 03:13:58 +01:00
Linus Rath f0617a61b1 fix: only treat a server subscription as this browser's when its device id matches 2026-11-04 03:13:58 +01:00
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