Linus Rath
08f25506d4
Merge branch 'feat/org-teaminbox' into feat/org-features
2026-10-28 08:26:48 +01:00
Linus Rath
23f67a5e72
fix: keep plugin chips named by their filter, draw the team icons at once and pass attributes to icons still loading
2026-10-28 08:16:52 +01:00
Linus Rath
9304557819
fix: look up another signed-in account for the external mail checks only when an admin turned them on
2026-10-28 08:07:55 +01:00
Linus Rath
a69d7eee33
feat: let plugins work with team mailboxes: list filters, row badge icons, account info and message conditions
...
What the team inbox plugin needs, kept general for other plugins:
- `api.ui.setListFilters`: keyword filters drawn as chips in the list
header of the folders they apply to (by account kind and folder
role). A chip the user turns on is ANDed into the folder's query and
comes off with one click; a keyword change a filter tests loads the
list again (ui:message-list).
- Actions get `accounts`, `hasKeyword` and `notKeyword`, so a button
shows only on messages of group accounts, or of a keyword state; the
click of message-row-actions and reader-actions carries the message's
`accountId`.
- `api.email.updateKeywords`: several keywords in one change, through
the list for a listed message (email:write).
- `api.user.getSelf`, `getMailAccounts` and `findPeople`: the user's own
account id (Stalwart's principal id), which accounts are group
accounts, and people from the directory (account:read).
- `api.accountData`: a plugin's own entry in a mail account's shared
Inbox metadata on Stalwart 1.0 (email:read / email:write).
- Row badges take an `icon`.
2026-10-28 06:39:57 +01:00
Linus Rath
795faceee7
Merge branch 'feat/org-thirdparty' into feat/org-features
2026-10-28 05:51:22 +01:00
Linus Rath
00ea203f4f
refactor: describe the sending identity and account once for every send check
2026-10-28 05:50:17 +01:00
Linus Rath
687cd89346
Merge branch 'feat/org-external' into feat/org-features
...
# Conflicts:
# lib/outgoing/quick-reply.ts
# lib/outgoing/send-pipeline.ts
2026-10-28 05:46:11 +01:00
Linus Rath
b0eb9fcfe1
fix: say the organisation blocks remote content instead of offering to load it with no third-party traffic #903
2026-10-28 05:38:39 +01:00
Linus Rath
9f230ca8fc
fix: keep a quick reply as a draft when an automatic sign-out comes while the external recipient question is open
2026-10-28 05:23:25 +01:00
Linus Rath
823da8c810
Merge branch 'feat/org-features' into feat/org-external
...
# Conflicts:
# components/email/email-viewer.tsx
# components/mail/mail-app.tsx
2026-10-28 05:19:21 +01:00
Linus Rath
1202a13720
fix: judge external mail by the message's own account and the sending account in several-account setups
2026-10-28 05:11:24 +01:00
Linus Rath
60167f752f
fix: label mail as External when any sender is outside or has no domain, and show the domain on a tap
2026-10-28 05:09:35 +01:00
Linus Rath
836dcba66e
fix: don't count senders whose images the user allowed as contacts for the external recipient confirm
2026-10-28 05:09:03 +01:00
Linus Rath
2ace501871
Merge branch 'feat/org-features' into feat/org-signatures
2026-10-28 04:51:22 +01:00
Linus Rath
d128503db5
fix: use the organisation policy of the account a message is sent from
2026-10-28 04:32:39 +01:00
Linus Rath
b756111097
fix: add the disclaimer below plugin footers and before a plugin signs or encrypts the message
2026-10-28 04:25:25 +01:00
Linus Rath
7bbfe61783
fix: keep keys pressed in the external recipient confirm away from the mail shortcuts
2026-10-28 04:18:11 +01:00
Linus Rath
490818adee
fix: keep signature plugins from changing a locked organisation signature
2026-10-28 04:18:01 +01:00
Linus Rath
73c12d03eb
fix: ask about every external recipient but the identity's own Bcc, trust only the identity's From, and queue a second question
2026-10-28 04:15:12 +01:00
Linus Rath
da5d7baf51
fix: swap the signature in an open composer when the organisation policy or the user's details change
2026-10-28 04:12:15 +01:00
Linus Rath
ecbbe137c4
fix: wait for sends and keep quick replies as drafts before an automatic sign-out
2026-10-28 04:06:05 +01:00
Linus Rath
b945a789f9
fix: match internationalised domains in either form and name the domains an admin typed wrong
2026-10-28 04:05:46 +01:00
Linus Rath
3fbd5a7818
fix: check the signature and disclaimer in each part on its own so neither goes out twice
2026-10-28 04:00:25 +01:00
Linus Rath
65e83e4b0d
fix: show the session warning above every overlay and count the server's sign-in time
2026-10-28 03:53:56 +01:00
Linus Rath
f9a04126d4
fix: keep a quick reply's text when the user goes back instead of sending
2026-10-28 03:47:40 +01:00
Linus Rath
0154e24ffc
feat: add an admin disclaimer to every sent message
2026-10-28 03:17:03 +01:00
Linus Rath
65e3d0d2d4
feat: let admins set an organisation signature with user details per domain or group #908
...
Admins write an HTML and a plain-text signature with placeholders on
Organisation > Signatures, per scope. Users fill in the details it asks
for once, under Settings > Account. Without a lock it is the default for
addresses without a signature of their own; locked or hidden, it
replaces every signature.
- `lib/org-signature.ts` fills the templates: values escaped, lines whose
placeholders are all empty dropped
- the composer applies it right before the plugin signature, so new mail,
replies, forwards, re-opened drafts, plain text and identity swaps all
take it the way they take an identity signature; quick reply too
- a send finaliser puts a locked signature back once when it was deleted
- the identity editor shows the filled-in signature read-only with "Set
by your organisation" when locked, and no editor when hidden
- `signatureDetails` is a synced setting
2026-10-28 02:23:55 +01:00
Linus Rath
2855ca0010
feat: confirm before sending to recipients outside the organisation
2026-10-28 01:59:13 +01:00
Linus Rath
79c697a935
feat: let an automatic sign-out save open and minimised drafts first
2026-10-28 01:55:15 +01:00
Linus Rath
b504e39b63
feat: label mail from outside the organisation
2026-10-28 01:53:39 +01:00
Linus Rath
42f52ab066
refactor: send composer and quick reply mail through one send path
2026-10-28 01:08:56 +01:00
Linus Rath
7025548ba1
fix: drop the composer footer labels when the composer itself is narrow #1375
2026-10-27 23:27:51 +01:00
Linus Rath
87817f545f
fix: stop flagging invitations from users on your own domains as unverified #1374
2026-10-27 23:26:14 +01:00
Linus Rath
ec295ad59f
Merge pull request #1384 from VasilisNtovolos/fix/bulk-delete-partial-results
...
fix: reconcile confirmed permanent bulk deletions
2026-10-27 23:14:11 +01:00
Linus Rath
be5fc12622
feat: let each translation list its own placeholder fill-in words
2026-10-27 23:03:41 +01:00
Linus Rath
011ff0e93a
feat: warn before sending a message with unfilled placeholders
2026-10-27 22:30:33 +01:00
VasilisNtovolos
ac99c68ef3
fix: reconcile confirmed permanent bulk deletions
2026-10-27 14:51:38 +02:00
Linus Rath
9de2efb722
fix: open a shared or group account's message from its link instead of the own message with the same id #1351
2026-10-26 20:01:11 +01:00
Linus Rath
2f8b4863ff
Merge pull request #1338 from HOLOEYE-JZ/feat/plugin-search-results
2026-10-26 19:32:56 +01:00
Linus Rath
edba184bc0
fix: keep an Outlook-style reply from loading the quoted message's remote images
2026-10-26 19:30:18 +01:00
Linus Rath
12ee24a81a
Merge pull request #1355 from maxhaomh/fix/outlook-quote-lines
2026-10-26 19:28:56 +01:00
Linus Rath
e99cce05fe
Merge pull request #1370 from maxhaomh/feat/disable-quick-reply
2026-10-26 19:24:49 +01:00
Linus Rath
7677b87c5e
Merge pull request #1373 from motofix/fix/1371-download-name-slash
2026-10-26 19:23:56 +01:00
Julien Béti
460343d86d
fix: show inline images whose part name is a path #1371
2026-10-26 18:34:57 +01:00
Max Hao
7216089629
feat: add quick reply feature with toggle in settings and tests
2026-10-26 11:40:47 -04:00
Linus Rath
ceaa9cea39
fix: highlight only the open message in lists that mix accounts, not another account's message with the same id
2026-10-26 16:11:52 +01:00
Linus Rath
0b917d6262
fix: mark the replied, forwarded or receipted message as answered in its own account, not another account's message with the same id
2026-10-26 16:11:52 +01:00
Linus Rath
f0392a6705
fix: check a meeting reply's sender against the attendee who answers, not the organizer
2026-10-26 15:15:58 +01:00
Linus Rath
8c9cf8e63e
test: check draft account and threading headers in createDraft's options after the merge
2026-10-26 12:26:57 +01:00
Linus Rath
b038c82dcc
fix: only offer to apply a counter proposal sent by one of the meeting's participants
2026-10-26 12:25:31 +01:00