M6 hosted mailboxes (off by default); dark message mode; fixes
Hosted mailboxes (SPEC App. D), behind HOSTED_MAILBOXES (off: unchanged):
- Stalwart mail server, provisioned by `python -m app.hosted.provision`;
directory read from a Postgres view, app passwords only for mail apps
- native account per user, the worker signs in as master for the user
- raw messages of hosted mailboxes only cached, fetched back on demand
- migrations 0025 (accounts.kind, directory view), 0026 (IMAP ids bigint)
Mail:
- dark message mode switch in the reading pane (Thunderbird's algorithm)
- moves and folder creation quote the folder name ("Deleted Items"):
swipe-to-delete / Trash no longer bounce back
- thread unread counters: lock before recount, sorted lock order,
UIDVALIDITY re-import recounts, nightly repair_threads
- sidebar accounts sorted alphabetically, more space above headings
Settings: Security headings renamed; antispam accounts are explicit
(none ticked = none filtered), input widths, Activity hidden.
Plugin bundles served with Cache-Control: no-cache.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+13
-1
@@ -391,7 +391,14 @@ export const en = {
|
||||
"appPasswords.title": "App passwords",
|
||||
"appPasswords.help":
|
||||
"Calendar and contacts apps — your phone's, Thunderbird, macOS — sign in to Ultimo with an app password, never your account password. Give each app its own, so you can revoke one without affecting the others.",
|
||||
"appPasswords.connectTitle": "Calendars and contacts in other apps",
|
||||
"appPasswords.helpMail":
|
||||
"Mail apps — Thunderbird, your phone's Mail app, Outlook — and calendar and contacts apps sign in to Ultimo with an app password. Your account password never works in them. Give each app its own, so you can revoke one without affecting the others.",
|
||||
"appPasswords.mailTitle": "External mail clients configuration:",
|
||||
"appPasswords.mailIncoming": "Incoming (IMAP)",
|
||||
"appPasswords.mailOutgoing": "Outgoing (SMTP)",
|
||||
"appPasswords.mailPorts": "{host}, port {port}, SSL/TLS",
|
||||
"appPasswords.mailPortsAlt": "or port {port}, STARTTLS",
|
||||
"appPasswords.connectTitle": "External Calendars and Contacts apps configuration:",
|
||||
"appPasswords.connectServer": "Server",
|
||||
"appPasswords.connectUser": "User name",
|
||||
"appPasswords.connectPassword": "Password",
|
||||
@@ -566,6 +573,11 @@ export const en = {
|
||||
"settings.serverSettingsHint": "Enter your mailbox password to apply server or password changes.",
|
||||
"settings.signature": "Signature",
|
||||
"settings.configureAccount": "Configure account",
|
||||
"settings.yourMailbox": "Your mailbox",
|
||||
"mail.darkMessages": "Dark message mode",
|
||||
"mail.darkMessagesOn": "Dark message mode is on: messages are shown on a dark page. Click to show them as sent.",
|
||||
"mail.darkMessagesOff": "Dark message mode is off: messages are shown as sent. Click to show them on a dark page.",
|
||||
"settings.yourMailboxHint": "Your Ultimo address. It stays as long as your account does.",
|
||||
"settings.editSignature": "Edit signature",
|
||||
"settings.theme": "Theme",
|
||||
"theme.light": "Light",
|
||||
|
||||
Reference in New Issue
Block a user