Commit Graph
3193 Commits
Author SHA1 Message Date
Linus Rath 8d8bc26602 test: check that the team inbox names are kept in the team Inbox on Stalwart v1.0.0 2026-10-28 07:19:08 +01:00
Linus Rath 5efcca2315 test: cover the team inbox plugin's assignment, filters and phone menu against the test servers 2026-10-28 07:16:53 +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 daa1cccdb2 docs: add the no third-party traffic switch to the changelog #903 2026-10-28 05:53:25 +01:00
Linus Rath 795faceee7 Merge branch 'feat/org-thirdparty' into feat/org-features 2026-10-28 05:51:22 +01:00
Linus Rath 9a99fa617e docs: add external mail warnings to the changelog 2026-10-28 05:50:36 +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 b680a676c0 test: check that remote pictures say the organisation blocks them with no third-party traffic #903 2026-10-28 05:42:43 +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 9e809a31db Merge branch 'feat/org-features' into feat/org-thirdparty 2026-10-28 05:27:58 +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 36ec531fb8 fix: account for the pdf.js namespaces in the Lite bundle host scan #903 2026-10-28 05:22:37 +01:00
Linus Rath 6c3ec30a7e docs: add organisation signatures and disclaimers to the changelog 2026-10-28 05:20:29 +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 c31cb76a47 test: check that a running Gravatar plugin reaches nothing with no third-party traffic #903 2026-10-28 05:19:08 +01:00
Linus Rath 2a90437fbc test: give the domain list test time under load 2026-10-28 05:15:40 +01:00
Linus Rath 3be3ad5ddf test: cover quick reply Back, the domain on a tap and the plugin hand-over per switch against the test servers 2026-10-28 05:14:00 +01:00
Linus Rath 9dab8955dd feat: confirm before inviting people outside the organisation to a meeting 2026-10-28 05:12:24 +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 c51245081a test: sign quick replies addressed through the envelope and keep the disclaimer out of sign-out drafts 2026-10-28 04:57:09 +01:00
Linus Rath 2ace501871 Merge branch 'feat/org-features' into feat/org-signatures 2026-10-28 04:51:22 +01:00
Linus Rath 7fefb35f25 test: send organisation signatures and disclaimers whose HTML and text versions differ 2026-10-28 04:43:54 +01:00
Linus Rath 89f0cd7e92 fix: say that {company} takes the branding of the web address Bulwark is opened on 2026-10-28 04:37:24 +01:00
Linus Rath daae45e379 fix: ask for the details every sending address needs and preview the signature that is sent 2026-10-28 04:35:26 +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 4bb596a9a0 test: cover the plugin API's own no-third-party locks #903 2026-10-28 04:30:43 +01:00
Linus Rath 1e6c3864ce ci: scan the Lite bundle for outside hosts after build:lite #903 2026-10-28 04:30:42 +01:00
Linus Rath 010e9fb6d9 feat: fence a Lite build made with no third-party traffic to its own hosts #903 2026-10-28 04:30:42 +01:00
Linus Rath 1a747ac9dd feat: limit the page's CSP to the configured hosts with no third-party traffic #903 2026-10-28 04:30:41 +01:00
Linus Rath 381494fe34 fix: move push registrations to the organisation's relay when the relay changes #903 2026-10-28 04:30:33 +01:00
Linus Rath 0b3d74aa0b fix: resume the version check when third-party traffic is allowed again #903 2026-10-28 04:30:32 +01:00
Linus Rath a9c89ae7a2 fix: fail closed while the third-party switch is unknown or set as a string #903 2026-10-28 04:30:32 +01:00
Linus Rath 031d94635c refactor: keep the outgoing host descriptions out of the browser bundle and scan every URL form #903 2026-10-28 04:30:23 +01:00
Linus Rath f07a993c6d docs: add session limits to the changelog 2026-10-28 04:28:59 +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 97d415a3ab Merge branch 'feat/org-sessions' into feat/org-features 2026-10-28 04:25:22 +01:00
Linus Rath 629e96b6bd fix: stop counting focus in the office editor or a plugin frame as activity 2026-10-28 04:18:24 +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 1f1319d46e fix: hand the retired plugin's parts over one switch at a time and tell plugins about each switch 2026-10-28 03:54:47 +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 893ecb5b16 fix: drop empty signature lines inside span and font wrappers and keep logos on them 2026-10-28 03:48:28 +01:00