Commit Graph
4471 Commits
Author SHA1 Message Date
Linus Rath 6f6370c7f6 fix: show the folder name in the Files header on a phone and keep Delete in sight 2026-11-03 05:19:31 +01:00
Linus Rath 5ac2d15afb fix: keep the new event preview in its own week on a full month day 2026-11-03 05:19:30 +01:00
Linus Rath 38b950b240 fix: stop a sliver of next Monday showing at the edge of the week view 2026-11-03 05:19:29 +01:00
Linus Rath 6c8648109f fix: stop cutting the participant count in half on short calendar events 2026-11-03 05:19:28 +01:00
Linus Rath ff7713878b fix: give agenda event titles room on a phone by putting the time on its own line 2026-11-03 05:19:27 +01:00
Linus Rath 5961fe9e90 fix: keep the reading pane readable when a wide list meets a smaller window 2026-11-03 05:19:19 +01:00
Linus Rath 7394006ce1 fix: keep the marketplace search readable when the toolbar runs out of room 2026-11-03 05:16:37 +01:00
Linus Rath a1662dfaf3 fix: keep the login page's theme button clear of the card on small and landscape phones 2026-11-03 05:15:53 +01:00
Linus Rath 5ce2a591ad fix: show dark logos on a dark surface in branding and bring a preview back after a URL that failed 2026-11-03 05:11:29 +01:00
Linus Rath bba5ec9901 fix: show the full name in the search suggestions of a narrow list 2026-11-03 05:10:22 +01:00
Linus Rath 4bda73d9c6 fix: keep Settings on the phone tab bar when plugin pages fill it 2026-11-03 05:09:20 +01:00
Linus Rath 308178beda fix: open each settings page at its top and keep the place in the phone's page list 2026-11-03 05:06:26 +01:00
Linus Rath d9b9c97b58 fix: show marketplace screenshots larger than the thumbnail on phones and whole on short screens 2026-11-03 05:05:41 +01:00
Linus Rath e3bd9aa6c5 fix: keep marketplace dialogs on screen on phones instead of pushed off the edge 2026-11-03 05:05:38 +01:00
Linus Rath d9316101e8 fix: stop a theme card cutting its name next to the default badge 2026-11-03 05:02:43 +01:00
Linus Rath 494f2d5fff fix: stop the filter page footer and rule summaries overflowing on a phone 2026-11-03 05:02:39 +01:00
Linus Rath 158fe588b1 fix: show the label name above its controls on a phone 2026-11-03 05:02:37 +01:00
Linus Rath f5ed731b51 fix: keep settings selects and option buttons inside the page on small phones 2026-11-03 05:02:35 +01:00
Linus Rath 15725561cc fix: move plugin toolbar buttons into the more menu when the reader toolbar is out of room 2026-11-03 05:02:05 +01:00
Linus Rath 0fd77edeca fix: keep the composer's Close, panel button and Send reachable while a plugin panel lies over it 2026-11-03 05:01:08 +01:00
Linus Rath 97e6256c0e fix: show the inbox in the demo when a category tab filters on a header 2026-11-03 04:51:20 +01:00
Linus Rath 03e7cd86f1 fix: print only the open message on Ctrl+P, without plugin panels or the app around it 2026-11-03 03:30:33 +01:00
Linus Rath d82f677b9b fix: stop the admin overview offering an older version as an update 2026-11-03 03:27:33 +01:00
Linus Rath a2adddb4b7 ci: retry a failed source map upload before failing the build 2026-11-03 03:06:13 +01:00
Linus Rath af32c846a2 fix: let plugins read the signature auto-insert toggles they may change 1.20.0 2026-11-03 02:46:51 +01:00
Linus Rath 600bf4fcf3 fix: keep a typed extra label header when the classification page first renders 2026-11-03 02:36:00 +01:00
Linus Rath 34e016f1c0 test: stop the server-state guard counting empty as-const tuples as state 2026-11-03 02:35:42 +01:00
Linus Rath bf19f21eaf test: give the composing settings test the useLocale the proofreading section needs 2026-11-03 02:35:24 +01:00
Linus Rath 5c0ffd7aff fix: let plugins switch the signature auto-insert toggles and refuse the proofreading settings 2026-11-03 02:35:01 +01:00
Linus Rath fcf94908b4 chore: release 1.20.0 2026-11-03 02:10:36 +01:00
Linus Rath 262a2e5999 Merge the AI assistant everywhere (plugin 2.2 host side) 2026-11-03 01:57:36 +01:00
Linus Rath e2bc222f49 fix: load the assistant's calendar and settings calls on first use so plugin views don't load the calendar store 2026-11-03 01:54:32 +01:00
Linus Rath 5b4e740ba3 Merge branch 'main' into feat/assistant-everywhere 2026-11-03 01:50:22 +01:00
Linus Rath ddbff7aeb7 Merge the assistant's Files (package D)
# Conflicts:
#	components/email/__tests__/composer-plugin-edit.test.tsx
#	lib/__tests__/plugin-projection.test.ts
2026-11-03 01:48:30 +01:00
Linus Rath 06764d0e0a test: give the composer plugin tests' settings mock the calendar sync bridge 2026-11-03 01:38:42 +01:00
Linus Rath 553f7ee883 fix: start a plugin's api calls at once again, not a tick later 2026-11-03 01:38:42 +01:00
Linus Rath cad10893e3 test: wait for the send confirmation to take focus before pressing Escape 2026-11-03 01:36:12 +01:00
Linus Rath e9e07ddb64 Merge main into feat/assistant-everywhere 2026-11-03 01:35:57 +01:00
Linus Rath cf512f0a4e fix: check attachments, shared folders and limits in the assistant's Files calls
Fixes from the review of api.files:
- `files.attach` to a new draft runs `onBeforeAttachmentUpload` for each
  file and the server's total size limit before `compose.open`, which
  runs neither; refused files come back in `refused`
- a write is refused when a folder above the target is missing from the
  listing, instead of counting it as not shared
- `onFileMove` reports the item as it was, from where it was, like the
  Files app's own move
- writes are counted against the 20-a-minute limit before the drive is
  listed, so refused writes count and cost no listing
- reads stop the download past 20 MB (`fetchBlobArrayBuffer` with a
  limit) and answer `too_big` when the listed size was wrong
- when the server refuses the new content of a replaced file, the old
  version's copy is taken out of the trash again

The two getText assertions on `fetchBlobArrayBuffer` now expect the
account (undefined for the own drive) and the byte limit, since the
call passes both.
2026-11-03 01:31:05 +01:00
Linus Rath 64aad7943f test: give the composer test's settings mock the calendar sync bridge the calendar store registers 2026-11-03 01:31:05 +01:00
Linus Rath d7cb895ebf Merge branch 'feat/assistant-everywhere' into feat/assistant-d
# Conflicts:
#	lib/__tests__/plugin-permission-coverage.test.ts
2026-11-03 01:19:42 +01:00
Linus Rath 55d9c81210 Merge more actions for the assistant (package C) 2026-11-03 01:13:47 +01:00
Linus Rath 6c3e68ce4e Merge branch 'feat/assistant-everywhere' into feat/assistant-d 2026-11-03 01:01:29 +01:00
Linus Rath 270615c246 Merge more context for the assistant (package B) 2026-11-03 00:58:18 +01:00
Linus Rath 989cfc64a4 fix: offer a plugin the invitation and settings calls only once it was granted their permission 2026-11-03 00:55:50 +01:00
Linus Rath 8034b005b8 fix: keep archived messages in the Archive and in search results after a plugin's batch, and update folder counts 2026-11-03 00:53:35 +01:00
Linus Rath 37aaf05d6d fix: spend a plugin's undo token only once its undo went through, so a failed undo can be tried again 2026-11-03 00:51:30 +01:00
Linus Rath 169100eb12 fix: take the setting names app.getSettings gives, and check hidden, gated and restricted settings on undo too 2026-11-03 00:47:35 +01:00
Linus Rath 8add856aac fix: let plugins only switch off sender favicons and avatars in Junk
Both make the server fetch the sender's domain. The test that every
default value is allowed now also names senderFavicons (on by default,
which a plugin may no longer set); the rest of it is as it was.
2026-11-03 00:46:08 +01:00
Linus Rath d973e9062a fix: give a photo's date only from when it was taken, not when the file changed
exif.test.ts: the case "falls back to the file date" now expects no
date, since IFD0's DateTime is the file's change date, not the date
the photo was taken.
2026-11-03 00:45:56 +01:00