Linus Rath
f44bef7071
fix: stop the high-risk badge running under the switch in the plugin list on small phones
2026-11-03 05:19:51 +01:00
Linus Rath
1c4781e620
fix: give the update and manage buttons their own line in the marketplace installed list on phones
2026-11-03 05:19:50 +01:00
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