This website requires JavaScript.
f82c7eb444
Loading splash: animated logo over a dark overlay on desktop
main
lukas and Claude Opus 5.5
2026-10-25 17:23:56 +01:00
05db376b89
Updated logo, carried to every derived icon
lukas and Claude Opus 5.5
2026-10-25 16:13:15 +01:00
77e9c25353
Admin: allow changing your own quota
lukas and Claude Opus 5.5
2026-10-25 15:39:33 +01:00
a4581ab199
Interface size setting: Default, +10%, +20%
lukas and Claude Opus 5.5
2026-10-25 15:20:39 +01:00
d8e6cca66b
Spam banner: inset card, red title, plain-language reasons, translated
lukas and Claude Opus 5.5
2026-10-25 15:20:39 +01:00
b122276958
Antispam: online checks no longer switch off Bayes; replies teach ham
lukas and Claude Opus 5.5
2026-10-20 10:14:05 +02:00
1aa0673720
Phone reading pane: icon-only top bar, roomier header; dark app icon
lukas and Claude Opus 5.5
2026-10-19 07:59:56 +02:00
21cfaa07ed
Translator: languages that fail to download are tried again
lukas and Claude Opus 5.5
2026-10-18 22:21:38 +02:00
972e10876b
Translation on Firefox Translations models; new logo
lukas and Claude Opus 5.5
2026-10-18 22:04:04 +02:00
8a1b9979e9
Productivity features, UI translations, local email translation
lukas and Claude Opus 5.5
2026-10-18 20:00:31 +02:00
463f96ad57
Invite a friend; handle field shows the domain; system mail fixes
lukas and Claude Opus 5.5
2026-10-15 19:34:31 +02:00
addb2232a1
Security hardening from the assessment; testing fixes
lukas and Claude Opus 5.5
2026-10-14 22:08:06 +02:00
30b806e7da
Phone swipe-to-delete survives a refresh or folder change
lukas and Claude Opus 5.5
2026-10-12 19:46:19 +02:00
b88855931e
M6 hosted mailboxes (off by default); dark message mode; fixes
lukas and Claude Opus 5.5
2026-10-12 19:25:10 +02:00
d45fbf2c44
M6: network and DNS plan for hosted mail on the QNAP
lukas and Claude Opus 5.5
2026-10-10 13:40:26 +02:00
84d2d24c7d
Calendar panel: event dots in the mini calendar, bigger arrows on phones
lukas and Claude Opus 5.5
2026-10-10 13:40:26 +02:00
53fd603e21
Phone: the side panel takes the full screen width
lukas and Claude Opus 5.5
2026-10-10 08:57:28 +02:00
aa617a3316
Calendar reminders open the event; phones get the Calendar panel
lukas and Claude Opus 5.5
2026-10-09 22:07:40 +02:00
0e3793a4d6
App passwords; CalDAV / CardDAV server for phones, Thunderbird, macOS
lukas and Claude Opus 5.5
2026-10-09 21:49:04 +02:00
fa552392c8
Calendar reminders as push notifications
lukas and Claude Opus 5.5
2026-10-09 21:49:04 +02:00
9611aedfcd
Phone menu: Calendar and Contacts slide in from the right
lukas and Claude Opus 5.5
2026-10-09 21:49:04 +02:00
f44c7b9e7c
Readable white-on-white mail; forwards carry the original's header
lukas and Claude Opus 5.5
2026-10-08 21:36:47 +02:00
5bf8fc81f6
Search: all results with a real count; bulk actions on results stay done
lukas and Claude Opus 5.5
2026-10-08 21:15:06 +02:00
9c08cbb140
Offline: newest 100 conversations; notifications no longer wait silently
lukas and Claude Opus 5.5
2026-10-08 20:20:21 +02:00
3957dd540a
Attachments stored once; nightly clean-up of unused files
lukas and Claude Opus 5.5
2026-10-08 20:20:21 +02:00
0514053252
Messages size at once; quoted inline images travel inside the reply
lukas and Claude Opus 5.5
2026-10-08 20:20:21 +02:00
d0caf76b03
Replies: cursor on the first line, own messages answered to their recipients
lukas and Claude Opus 5.5
2026-10-08 20:20:21 +02:00
843b48cd59
Phone: Settings in the menu, sliding Settings layout
lukas and Claude Opus 5.5
2026-10-08 19:12:54 +02:00
fda4cc6f16
Installable app, push notifications about new mail, Install app entry
lukas and Claude Opus 5.5
2026-10-08 18:52:26 +02:00
0729dbb691
Spec: M6 hosted mailboxes (Stalwart) plan — Appendix D
lukas and Claude Opus 5.5
2026-10-08 18:52:26 +02:00
9f278626c0
Phone: swipe right to delete, Mailbox display with the dividing lines
lukas and Claude Opus 5.5
2026-10-07 21:27:53 +02:00
1982e8964b
Calendar: cancel events for guests, apply organizers' cancellations, invitation settings
lukas and Claude Opus 5.5
2026-10-07 20:50:17 +02:00
2337375bb7
Event invitations in Mail, video previews, People tab, matching avatars
lukas and Claude Opus 5.5
2026-10-06 21:50:29 +02:00
fba3c947bf
Attachment previews, forwarded attachments, row dividers
lukas and Claude Opus 5.5
2026-10-06 20:15:17 +02:00
bfe011cd2c
Fix: IMAP over SSL connected without TLS; never lose a sent message's copy
lukas and Claude Opus 5.5
2026-10-05 22:24:23 +02:00
609e7c58f9
Unreachable mail servers: send retries in Scheduled, real action retries, account health
lukas and Claude Opus 5.5
2026-10-05 22:08:42 +02:00
e1bda37188
Offline compose: write mail offline, Scheduled folder, undo countdown fix
lukas and Claude Opus 5.5
2026-10-05 21:11:41 +02:00
c9c24e7e2f
Offline access: self-updating worker, quiet console, setting in Accounts
lukas and Claude Opus 5.5
2026-10-05 20:45:37 +02:00
01bfbb37d4
Offline access: save through the service worker, not the page's fetch
lukas and Claude Opus 5.5
2026-10-05 19:27:36 +02:00
a60cd1fc33
Offline access: also save what the app needs to start
lukas and Claude Opus 5.5
2026-10-05 19:17:53 +02:00
a2c52f33a8
Offline access: read recent mail without a connection
lukas and Claude Opus 5.5
2026-10-05 18:54:17 +02:00
139fff826e
Deploy: LanguageTool spell checker in production, with optional n-grams
lukas and Claude Opus 5.5
2026-10-05 07:44:36 +02:00
1f2e539eb2
Compose: spelling and grammar check with LanguageTool
lukas and Claude Opus 5.5
2026-10-04 23:51:31 +02:00
b157c5c9bb
Compose: a popup for links — Open / Edit / Delete — and for creating them
lukas and Claude Opus 5.5
2026-10-04 23:21:44 +02:00
b1bdae6e59
Reading pane layouts: Side, Bottom (under the list) and Off (single panel)
lukas and Claude Opus 5.5
2026-10-03 18:13:43 +02:00
befa1c2404
Antispam: lessons refused by the engine no longer pass for learned
lukas and Claude Opus 5.5
2026-10-02 20:25:14 +02:00
165442d897
Logo in system mail; "don't ask for the 2FA code on this device"
lukas and Claude Opus 5.5
2026-10-01 21:02:44 +02:00
d1f6d183e0
Serve the BIMI logo, favicon.ico and an apple-touch icon as real files
lukas and Claude Opus 5.5
2026-10-01 20:23:33 +02:00
0ddc0cb001
Admin user management, password reset by email, and the Ultimo Email name
lukas and Claude Opus 5.5
2026-10-01 20:16:27 +02:00
8dc60dbf5c
Avatars: a sender without one logged a console error; phone list rows spaced 20px
lukas and Claude Opus 5.5
2026-09-30 21:35:26 +02:00
0ddfc8c658
Calendar panel: a picked mini-calendar day showed nowhere; no new-tab link on a phone
lukas and Claude Opus 5.5
2026-09-30 21:23:10 +02:00
a5b0842e6a
Mail (phone): side panel as a drawer sliding in from the right
lukas and Claude Opus 5.5
2026-09-30 20:35:29 +02:00
25f7265e55
Mail list: rows glide up into a removed row's place; subjects stopped blinking
lukas and Claude Opus 5.5
2026-09-30 20:16:56 +02:00
8c463921f7
Mail list: a hidden row flickered back before its move landed
lukas and Claude Opus 5.5
2026-09-30 19:55:18 +02:00
e9c36c47af
Mail list: hide a row the moment its archive/delete button is clicked
lukas and Claude Opus 5.5
2026-09-30 19:48:12 +02:00
6e65664766
Compose: close on Send and offer Undo from a toast; phone-size touch targets
lukas and Claude Opus 5.5
2026-09-30 19:37:54 +02:00
fbca6cb728
Compose: typed text became a recipient without being an address
lukas and Claude Opus 5.5
2026-09-28 08:09:09 +02:00
caed8543ea
Avatars: a cached avatar or miss failed on every later request
lukas and Claude Opus 5.5
2026-09-28 08:09:09 +02:00
37bb6ef78d
Compose: fold the quoted original behind a "•••" pill
lukas and Claude Opus 5.5
2026-09-28 08:09:09 +02:00
fe3fd94165
Mail: a smartphone layout
lukas and Claude Opus 5.5
2026-09-28 08:09:09 +02:00
cfc89e78b3
Mail list: cut a lone long sender name at 21 characters plus "..."
lukas and Claude Opus 5.5
2026-09-25 20:45:28 +02:00
02011f23f6
Sanitizer: a newsletter's <title> showed as a line above the body
lukas and Claude Opus 5.5
2026-09-25 20:35:42 +02:00
fcafc6a026
Mail list: fall back to first names when the senders run long
lukas and Claude Opus 5.5
2026-09-25 20:35:42 +02:00
08d428de8a
Mail list: name everyone who wrote in the thread, and call the user "me"
lukas and Claude Opus 5.5
2026-09-25 20:17:37 +02:00
901156526c
Settings: reopening the signature editor showed the old signature
lukas and Claude Opus 5.5
2026-09-25 19:41:25 +02:00
e1371c4f84
doctor: the antispam check printed nothing on the install it was for
lukas and Claude Opus 5
2026-09-21 22:28:58 +02:00
31edd4015e
Antispam: a dead engine marked the account bootstrapped anyway
lukas and Claude Opus 5
2026-09-21 22:22:28 +02:00
059fa0ade3
Antispam: the app could never authenticate to the learning engine
lukas and Claude Opus 5
2026-09-21 22:17:29 +02:00
9f9e959a05
Compose: a dock of windows that survive the app around them
lukas and Claude Opus 5
2026-09-21 21:32:41 +02:00
e4a521ae20
Labels: show the new label after creating it
lukas and Claude Opus 5
2026-09-21 21:32:22 +02:00
ea137c32c3
Mail list: a new page starts at the top
lukas and Claude Opus 5
2026-09-21 21:32:15 +02:00
c5742f19da
Mail list: show the sender only, keep the participant count
lukas and Claude Opus 5
2026-09-18 18:35:05 +02:00
428e81efa5
Revert "Mail list: show who wrote, not everyone involved"
lukas
2026-09-18 18:31:16 +02:00
550b8cf503
Mail list: show who wrote, not everyone involved
lukas and Claude Opus 5
2026-09-18 18:27:42 +02:00
e58a2f0ef4
Sync: a flag set on the server left the thread counters stale
lukas and Claude Opus 5
2026-09-18 18:21:30 +02:00
de79b4ba07
Antispam: merge the duplicated sdk import
lukas and Claude Opus 5
2026-09-18 17:55:05 +02:00
8eb699a05f
Antispam: bootstrap every account, not just the ones we happen to see go live
lukas and Claude Opus 5
2026-09-17 21:04:38 +02:00
566f02a3f4
Deploy: the rspamd healthcheck probed with a tool the image does not have
lukas and Claude Opus 5
2026-09-17 20:57:28 +02:00
2251c7ca6d
Deploy: set_env_value could not add a key, and said it had
lukas and Claude Opus 5
2026-09-17 20:52:21 +02:00
b54ccbe653
Deploy: a release that adds a service must actually start it
lukas and Claude Opus 5
2026-09-17 20:44:25 +02:00
5aa133e18c
Antispam: plugin docs, the learning acceptance test, and a bootstrap that refuses bad corpora
lukas and Claude Opus 5
2026-09-17 20:34:50 +02:00
76beb9d527
Antispam: make the reputation switch real, limited to Spamhaus and DNSWL
lukas and Claude Opus 5
2026-09-17 20:20:58 +02:00
d5df1654ba
Antispam: "Mark as not spam" must survive having marked it as spam
lukas and Claude Opus 5
2026-09-17 19:51:31 +02:00
8e3252679a
Clear the reading panel when its last message leaves
lukas and Claude Opus 5
2026-09-17 19:47:42 +02:00
c76b186b10
Antispam: "Mark as Spam" belongs in the Actions menu
lukas and Claude Opus 5
2026-09-17 19:36:29 +02:00
e420126145
Antispam: one button, and only where it means something
lukas and Claude Opus 5
2026-09-17 19:01:46 +02:00
149c11581e
Antispam C2: learn from what the user does
lukas and Claude Opus 5
2026-09-17 08:36:51 +02:00
8fc97e2f27
Plugin UI kit: stacked cards need air between them
lukas and Claude Opus 5
2026-09-17 08:27:42 +02:00
6414504f6e
Settings: a section per plugin, and call the folder Spam
lukas and Claude Opus 5
2026-09-17 08:19:11 +02:00
fe471dbf01
Antispam: mirror the engine in dev, and never file a contact as spam
lukas and Claude Opus 5
2026-09-17 08:09:24 +02:00
dee1983b84
Antispam: never classify during backfill
lukas and Claude Opus 5
2026-09-17 07:59:15 +02:00
c3ae613bf4
Antispam C1: the API and the three UI surfaces
lukas and Claude Opus 5
2026-09-16 22:21:26 +02:00
95ca1b49f6
Antispam plugin (M7 phase C1): classify, file, and stay out of the way
lukas and Claude Opus 5
2026-09-16 22:14:43 +02:00
428ec58c71
Plugin SDK: raw message bytes, per-message move, mailbox in the envelope
lukas and Claude Opus 5
2026-09-16 22:14:24 +02:00
348daf8ad7
Deploy: up died on QuTS hero's older bash
lukas and Claude Opus 5
2026-09-16 21:06:03 +02:00
64ef3893d3
Deploy: add pull, the verb a first install from a registry needed
lukas and Claude Opus 5
2026-09-16 20:35:29 +02:00
8fce86559e
Admin panel on its own port, and a registration gate
lukas and Claude Opus 5
2026-09-16 20:34:08 +02:00
cc63efa968
Docs: the real DSM fix is bridge-nf-call-iptables=0, not an iptables rule
lukas and Claude Opus 5
2026-09-14 21:21:22 +02:00
d29c46c229
Docs: DSM firewall blocks container-to-container traffic
lukas and Claude Opus 5
2026-09-14 21:10:37 +02:00
5c59eecff2
Deploy: make the database wait say why it is failing
lukas and Claude Opus 5
2026-09-14 20:48:29 +02:00