Commit Graph
100 Commits
Author SHA1 Message Date
Coffey Labs 1f9c17ad18 Merge pull request #283 from Coffey-Labs/roadmap-smime-reasoning
Say why S/MIME rather than OpenPGP, and why neither is urgent
2026-09-04 13:31:13 -07:00
Coffey Labs eca8468d84 Merge pull request #282 from Coffey-Labs/docs-release-cadence
Say near the top that latest lags main, and by how long
2026-09-04 13:14:27 -07:00
Coffey Labs 53a44d7d18 Merge pull request #281 from Coffey-Labs/docs-contributing-branch-rules
Say in CONTRIBUTING that main is protected, and that strings need nine catalogues
2026-09-04 12:54:59 -07:00
Coffey Labs fcbd8f6449 Merge pull request #280 from Coffey-Labs/claude-md-i18n-gotcha
Write down the plural-key gotcha, and how to tell it happened
2026-09-04 12:31:09 -07:00
Coffey Labs 0c9a15a691 Merge pull request #278 from Coffey-Labs/contacts-bulk-delete
Select contacts, and empty an address book
2026-09-04 12:19:18 -07:00
Coffey Labs f201b09e90 Merge pull request #276 from Coffey-Labs/reply-to-my-own-message
Ask the folder, not just the identity list, whether a message was mine
2026-09-04 08:13:37 -07:00
Coffey Labs 4d23cef511 Merge pull request #274 from Coffey-Labs/ldif-dedupe-on-dn
Match an LDIF re-import on the entry's dn
2026-09-04 07:54:42 -07:00
Coffey Labs 1f8c12e29e Write the S/MIME position down (#273)
It was backlogged in conversation on 2026-08-27 and recorded nowhere in
the repository -- not in ROADMAP, FEATURES, KNOWN-ISSUES, the README or
the docs. That is the state a plan is in just before it is forgotten,
and it is also the state that lets the same probing get done twice.

The entry carries what the earlier work established against a live
0.16.19, including the two findings that contradict the documentation:
encryptionAtRest is a field on x:AccountSettings rather than an object of
its own, and ordinary users can write their own x:PublicKey entries
despite the permissions table listing every sysPublicKey permission as
admin-only. Dated, and marked not re-run since the 0.16.20 upgrade, the
way KNOWN-ISSUES dates its entries.

PR #67 is named as the starting point: a working public-key manager,
closed unmerged, none of which is in the tree today.

The caveat that matters most is last, because it is the one a user
cannot undo: turning encryption-at-rest off does not decrypt what is
already encrypted.
2026-09-03 23:25:44 -07:00
Coffey Labs 17d98748c4 Merge pull request #272 from Coffey-Labs/i18n-missing-plurals
Add seven plural forms no catalogue ever had
2026-09-03 14:47:00 -07:00
Coffey Labs 71827a2d04 Merge pull request #270 from Coffey-Labs/i18n-ukrainian-rule-sentences
Translate the rule sentences into Ukrainian
2026-09-03 14:41:45 -07:00
Coffey Labs 5dd0a56732 Merge pull request #269 from Coffey-Labs/i18n-russian-rule-sentences
Translate the rule sentences into Russian
2026-09-03 14:41:39 -07:00
Coffey Labs b55c8b13bc Merge pull request #268 from Coffey-Labs/i18n-chinese-rule-sentences
Translate the rule sentences into Simplified Chinese
2026-09-03 14:41:35 -07:00
Coffey Labs 0cf9b81444 Merge pull request #267 from Coffey-Labs/i18n-japanese-rule-sentences
Translate the rule sentences into Japanese
2026-09-03 14:41:31 -07:00
Coffey Labs 8386444ac7 Merge pull request #266 from Coffey-Labs/i18n-portuguese-rule-sentences
Translate the rule sentences into Brazilian Portuguese
2026-09-03 14:41:26 -07:00
Coffey Labs e1ae97139c Merge pull request #265 from Coffey-Labs/i18n-dutch-rule-sentences
Translate the rule sentences into Dutch
2026-09-03 14:41:21 -07:00
Coffey Labs 503eaf17ec Merge pull request #264 from Coffey-Labs/i18n-french-rule-sentences
Translate the rule sentences into French
2026-09-03 14:41:16 -07:00
Coffey Labs 1e02d9ebba Merge pull request #263 from Coffey-Labs/i18n-spanish-rule-sentences
Translate the rule sentences into Spanish
2026-09-03 14:41:11 -07:00
Coffey Labs d40dbf04b8 Merge pull request #262 from Coffey-Labs/i18n-german-rule-sentences
Translate the rule sentences into German
2026-09-03 14:41:06 -07:00
Coffey Labs 2a9e18f04c Merge pull request #271 from Coffey-Labs/fix/shortcuts-after-checkbox
Keep shortcuts working after a checkbox is clicked
2026-09-03 14:41:00 -07:00
Coffey Labs 4d89f5e672 Merge pull request #261 from Coffey-Labs/i18n-describe-rules
Build the two rule descriptions as sentences, not fragments
2026-09-03 14:40:55 -07:00
Coffey Labs 22f39a4507 Merge pull request #259 from Coffey-Labs/i18n-third-pass
Third pass: the strings libraries build and views render raw
2026-09-03 14:01:53 -07:00
Coffey Labs bf60fe6157 Merge pull request #258 from Coffey-Labs/i18n-second-pass
Second pass: four dialogs that were never wrapped
2026-09-03 14:01:49 -07:00
Coffey Labs 8d4063e921 Merge pull request #257 from Coffey-Labs/i18n-chinese-catch-up
Catch the Simplified Chinese catalogue up with what shipped after it
2026-09-03 14:01:44 -07:00
Coffey Labs ea6c098057 Merge pull request #256 from Coffey-Labs/i18n-ukrainian-catch-up
Catch the Ukrainian catalogue up with what shipped after it
2026-09-03 14:01:38 -07:00
Coffey Labs f7cbdb2e7a Merge pull request #255 from Coffey-Labs/i18n-russian-catch-up
Catch the Russian catalogue up with what shipped after it
2026-09-03 14:01:33 -07:00
Coffey Labs 379623614a Merge pull request #254 from Coffey-Labs/i18n-japanese-catch-up
Catch the Japanese catalogue up with what shipped after it
2026-09-03 14:01:27 -07:00
Coffey Labs 662385c6da Merge pull request #253 from Coffey-Labs/i18n-portuguese-catch-up
Catch the Brazilian Portuguese catalogue up with what shipped after it
2026-09-03 14:01:21 -07:00
Coffey Labs 0fb4d1e964 Merge pull request #252 from Coffey-Labs/i18n-dutch-catch-up
Catch the Dutch catalogue up with what shipped after it
2026-09-03 14:01:16 -07:00
Coffey Labs 898815eaca Merge pull request #251 from Coffey-Labs/i18n-french-catch-up
Catch the French catalogue up with what shipped after it
2026-09-03 14:01:09 -07:00
Coffey Labs 6ac5ee45dd Merge pull request #250 from Coffey-Labs/i18n-spanish-catch-up
Catch the Spanish catalogue up with what shipped after it
2026-09-03 14:01:04 -07:00
Coffey Labs f500261697 Merge pull request #249 from Coffey-Labs/i18n-german-catch-up
Catch the German catalogue up with what shipped after it
2026-09-03 14:00:59 -07:00
Coffey Labs 7a67a2c1c3 Merge pull request #248 from Coffey-Labs/i18n-render-untranslated-lists
Translate three lists the code was rendering raw
2026-09-03 14:00:54 -07:00
Coffey Labs 3ffee1224f Merge pull request #246 from Coffey-Labs/ci/prune-old-images
Prune old images, and keep every release
2026-09-02 23:50:13 -07:00
Coffey Labs 60a4647a43 Merge pull request #245 from Coffey-Labs/ci/scheduled-releases
Cut a release once a week, and only when there is something in it
2026-09-02 23:45:41 -07:00
Coffey Labs e1c85cf82e Merge pull request #244 from Coffey-Labs/ci/publish-container-image
Publish the image the docs have been telling people to pull
2026-09-02 23:30:07 -07:00
Coffey Labs 93856de143 Merge pull request #243 from Coffey-Labs/fix/login-app-name
Call the instance what it calls itself, on the page that matters most
2026-09-02 15:27:20 -07:00
Coffey Labs 3582ad116e Merge pull request #242 from Coffey-Labs/feat/contacts-update-on-reimport
Update a contact on re-import rather than skipping it
2026-09-02 15:17:27 -07:00
Coffey Labs af0e8b2be2 Merge pull request #241 from Coffey-Labs/feat/domain-server-mapping
Choose the Stalwart by the domain somebody signs in with
2026-09-02 14:33:14 -07:00
Coffey Labs 2a41a31bb9 Merge pull request #240 from Coffey-Labs/fix/upstream-outage-lockout
Do not spend login attempts on an outage nobody caused
2026-09-02 14:14:24 -07:00
Coffey Labs f6f6ce0b5e Merge pull request #237 from Coffey-Labs/feat/headers-show-original
Make "Show original" in the headers dialog the action, not a description
2026-09-02 13:23:01 -07:00
Coffey Labs 45f1309d06 Merge pull request #235 from Coffey-Labs/feat/go-to-folder
Go to a folder by name, with g then o
2026-09-02 13:07:52 -07:00
Coffey Labs a8cf8ce3d7 Merge pull request #234 from Coffey-Labs/feat/ldif-duplicate-report
Say how much an LDIF re-import duplicated, without acting on it
2026-09-02 12:51:10 -07:00
Coffey Labs 0d5975d427 Merge pull request #232 from Coffey-Labs/docs/policy-example
Ship an example settings policy, and name the variables in .env.example
2026-09-02 11:23:15 -07:00
Coffey Labs cff7f6c11b Merge pull request #231 from Coffey-Labs/feat/policy-change-once
Apply installation policy changes once each, per account
2026-09-02 11:03:50 -07:00
Coffey Labs 6821d6a93f Merge pull request #230 from Coffey-Labs/feat/installation-defaults
Let an installation seed and lock user settings
2026-09-02 10:52:58 -07:00
Coffey Labs a01e1874d8 Merge pull request #229 from Coffey-Labs/fix/export-vtimezone
Define the zones an export names, instead of only naming them
2026-09-02 10:29:45 -07:00
Coffey Labs 5f35428ddb Merge pull request #228 from Coffey-Labs/feat/vcard-uid-dedupe
Skip vCards on re-import that the address book already has
2026-09-02 09:36:35 -07:00
Coffey Labs 85289b0c34 Merge pull request #227 from Coffey-Labs/feat/calendar-ics-export
Export a calendar as an iCAL file
2026-09-02 09:24:00 -07:00
Coffey Labs cb69115be1 Merge pull request #226 from Coffey-Labs/feat/contacts-menu-parity
Give the address books the menus the calendars have
2026-09-02 09:08:40 -07:00
Coffey Labs a61fe28523 Merge pull request #225 from Coffey-Labs/feat/skip-duplicate-uids-on-import
Skip events on re-import that the calendar already has
2026-09-02 08:57:36 -07:00
Coffey Labs f1a8f162cf Merge pull request #221 from Coffey-Labs/feat/set-folder-role
Set the Archive role from ihasmail, rather than describing it
2026-09-02 08:41:09 -07:00
Coffey Labs 8e9259638d Merge pull request #220 from Coffey-Labs/fix/archive-role-message
Say the Archive folder needs the role, not the name
2026-09-02 08:10:10 -07:00
Coffey Labs 3f33b61369 Merge pull request #219 from Coffey-Labs/fix/unsaved-dialog-emphasis
Highlight saving, not discarding, on the unsaved-changes guard
2026-09-02 07:50:05 -07:00
Coffey Labs 6e1ac42d5a Merge pull request #218 from Coffey-Labs/fix/contact-import-batching
Set contact cards in batches the server will take
2026-09-02 07:50:00 -07:00
Coffey Labs 6b8ac393c9 Merge pull request #215 from Coffey-Labs/fix/ical-import-batching
Import an iCal file in batches the server will take
2026-09-02 06:43:20 -07:00
Coffey Labs b0edce1d9b Merge pull request #214 from Coffey-Labs/fix/drag-day-across-timezones
Move an event by the days the hand moved it, not to the date dropped on
2026-09-02 01:11:53 -07:00
Coffey Labs 4570df6eab Merge pull request #213 from Coffey-Labs/fix/push-verification-cache-key
Name the push verification entry absolutely, from both sides
2026-09-02 01:11:32 -07:00
Coffey Labs 8962065782 Merge pull request #212 from Coffey-Labs/fix/attach-size-limits
Apply the upload limit only where something is uploaded
2026-09-02 01:11:11 -07:00
Coffey Labs 13a6bcd66b Merge pull request #211 from Coffey-Labs/feat/ical-subscriptions
Subscribe to a calendar published at a URL
2026-09-02 00:54:55 -07:00
Coffey Labs b4ee545856 Merge pull request #210 from Coffey-Labs/feat/drag-reschedule
Drag an event to move it, and its edge to resize it
2026-09-02 00:42:47 -07:00
Coffey Labs 0ac5f78789 Merge pull request #209 from Coffey-Labs/feat/palettes
Six palettes, each with a light half and a dark one
2026-09-02 00:23:34 -07:00
Coffey Labs 72742ef30a Merge pull request #208 from Coffey-Labs/feat/list-sort-order
Let the message list be sorted by something other than the date
2026-09-02 00:18:27 -07:00
Coffey Labs 6c7c6d19b3 Merge pull request #206 from Coffey-Labs/feat/birthday-calendar
Show birthdays from the address book as a calendar
2026-09-01 23:35:46 -07:00
Coffey Labs c5be74fe57 Merge pull request #205 from Coffey-Labs/feat/tnef
Open winmail.dat
2026-09-01 23:35:26 -07:00
Coffey Labs 60d275f38b Merge pull request #204 from Coffey-Labs/feat/nested-labels
Nest labels, and let each one say how prominent it is
2026-09-01 23:35:04 -07:00
Coffey Labs 9cace7c90c Merge pull request #203 from Coffey-Labs/feat/select-all-in-folder
Select a whole folder, not just the rows that are loaded
2026-09-01 23:24:14 -07:00
Coffey Labs d300107be0 Merge pull request #202 from Coffey-Labs/feat/sender-link-warnings
Warn about outside senders, large sends and links that mislead
2026-09-01 22:48:12 -07:00
Coffey Labs 255616341b Merge pull request #201 from Coffey-Labs/feat/base-path
Serve ihasmail from a subpath
2026-09-01 22:47:53 -07:00
Coffey Labs 4c54eb74f9 Merge pull request #200 from Coffey-Labs/feat/privacy-safety-settings
Gather the privacy settings into a section of their own
2026-09-01 22:36:58 -07:00
Coffey Labs ccc9f73a71 Merge pull request #197 from Coffey-Labs/feat/forward-as-eml
Forward a message as an attachment
2026-09-01 22:34:02 -07:00
Coffey Labs 1ea813940b Merge pull request #196 from Coffey-Labs/feat/spam-score-panel
Show what the spam filter said, in the message details
2026-09-01 22:31:07 -07:00
Coffey Labs ec8e2ad2d0 Merge pull request #199 from Coffey-Labs/feat/calendar-swipe
Swipe the calendar sideways to step a day or a month
2026-09-01 22:27:51 -07:00
Coffey Labs 3c3ffbd425 Merge pull request #198 from Coffey-Labs/feat/archive-by-date
Archive into a dated folder
2026-09-01 22:27:32 -07:00
Coffey Labs 132d0b5205 Merge pull request #195 from Coffey-Labs/feat/template-placeholders
Fill placeholders when a template is inserted
2026-09-01 22:27:04 -07:00
Coffey Labs 34578ba426 Merge pull request #194 from Coffey-Labs/feat/files-multiselect
Select more than one file at a time
2026-09-01 21:14:20 -07:00
Coffey Labs b5ca0021ef Merge pull request #193 from Coffey-Labs/feat/edit-text-files
Edit a text file where you are already reading it
2026-09-01 20:54:14 -07:00
Coffey Labs 8d562628ff Merge pull request #192 from Coffey-Labs/feat/markdown-render
Read a Markdown file as the document it is
2026-09-01 20:36:40 -07:00
Coffey Labs c170b8554c Merge pull request #191 from Coffey-Labs/feat/file-preview
Look at a file without downloading it first
2026-09-01 20:21:48 -07:00
Coffey Labs 49f9a06009 Merge pull request #190 from Coffey-Labs/fix/print-single-message
Print the message you asked to print
2026-09-01 19:49:13 -07:00
Coffey Labs a16faa1789 Merge pull request #189 from Coffey-Labs/fix/print-light-and-first-page
Print on white, and start on page one
2026-09-01 19:39:49 -07:00
Coffey Labs 4912ea8ef4 Merge pull request #188 from Coffey-Labs/fix/ctrl-click-selection
Take the message you were reading into the selection
2026-09-01 13:44:27 -07:00
Coffey Labs fa55636fb0 Merge pull request #187 from Coffey-Labs/docs/demo-link
Point at the demo from the top of the README
2026-09-01 13:04:17 -07:00
Coffey Labs bbdceb2697 Merge pull request #185 from Coffey-Labs/docs/scheduling-and-filters
Write down what the last week's features actually do
2026-09-01 11:03:25 -07:00
Coffey Labs 2beedc0f3c Merge pull request #184 from Coffey-Labs/fix/compose-as-new-on-mobile
Put "compose as new" where a thumb can find it
2026-09-01 10:56:32 -07:00
Coffey Labs 0c1820e2bb Merge pull request #183 from Coffey-Labs/feat/scheduling-panel
Schedule against the whole guest list, and say who cannot be read
2026-09-01 10:46:57 -07:00
Coffey Labs fb1ad3c5c8 Merge pull request #182 from Coffey-Labs/feat/availability-labels-multiday
Say what the availability bar is showing, and show all of it
2026-09-01 09:58:25 -07:00
Coffey Labs df9349935d Merge pull request #180 from Coffey-Labs/feat/ldif-import
Import an address book in LDIF
2026-09-01 09:31:18 -07:00
Coffey Labs 5a7acb7306 Merge pull request #179 from Coffey-Labs/feat/compose-as-new
Send a message again as a new one
2026-09-01 09:10:42 -07:00
Coffey Labs 53513e6744 Merge pull request #178 from Coffey-Labs/feat/ical-import
Import an iCal file into a calendar
2026-09-01 08:43:37 -07:00
Coffey Labs 1a29784848 Merge pull request #177 from Coffey-Labs/fix/sieve-unsaved-changes
Ask before the filter editors lose your changes
2026-09-01 08:13:26 -07:00
Coffey Labs b63f53c55b Merge pull request #170 from Coffey-Labs/docs/create-event
Say in the README that a message can become an event
2026-08-31 23:19:30 -07:00
Coffey Labs 2dd0203ae1 Merge pull request #169 from Coffey-Labs/feat/event-guests-from-message
Invite the people the message was already between
2026-08-31 23:09:38 -07:00
Coffey Labs 16308431b8 Merge pull request #168 from Coffey-Labs/feat/create-appointment-from-email
Make an event out of a message
2026-08-31 22:57:04 -07:00
Coffey Labs 3517d48a90 Merge pull request #166 from Coffey-Labs/mobile-drawer-alignment-and-close
Hang every folder off one edge, and give the drawer a way out
2026-08-31 22:10:33 -07:00
Coffey Labs 20929ddc2c Merge pull request #165 from Coffey-Labs/mobile-touch-targets-drilldown
Folders one level at a time on a phone, and targets a thumb can hit
2026-08-31 21:51:15 -07:00
Coffey Labs 100f07b580 Merge pull request #164 from Coffey-Labs/fix-language-count
Ten languages, not nine: correct the count everywhere
2026-08-31 15:38:34 -07:00
Coffey Labs 874887eb36 Merge pull request #163 from Coffey-Labs/docs-i18n-2026-08-31
Document the nine languages, and what Beta means on them
2026-08-31 15:20:07 -07:00
Coffey Labs 2380ed282e Merge pull request #162 from Coffey-Labs/i18n-first-paint-language
Keep a settings change made before the first read, and wait for it
2026-08-31 15:11:45 -07:00
Coffey Labs 67f5a88ff6 Merge pull request #161 from Coffey-Labs/i18n-second-extraction
Second extraction pass: the strings the codemod could not see
2026-08-31 14:46:36 -07:00
Coffey Labs 9b7f66a2c0 Merge pull request #160 from Coffey-Labs/i18n-switch-and-translate-prompt
Stop a language change undoing itself, and stop the translate prompt
2026-08-31 14:43:13 -07:00