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