Linus Rath
b586dc467c
fix: keep a plugin's passphrase dialog open while the user types #1302
2026-10-20 21:01:02 +02:00
Linus Rath
d9d6eb9be7
feat: let plugins search the settings and read the user's preferences
2026-10-20 20:27:08 +02:00
Linus Rath
647c24132c
feat: let plugins read the app's name and version with api.app.getInfo
2026-10-20 20:19:38 +02:00
Linus Rath
a191ef8b02
feat: let plugins search mail with api.email.search
2026-10-20 18:16:29 +02:00
Linus Rath
95003fd28b
feat: let a plugin panel start folded until the user or the plugin opens it
2026-10-20 17:21:13 +02:00
Linus Rath
95bfb1681c
feat: let a plugin's panel frame fill the panel and scroll inside
2026-10-20 17:21:13 +02:00
Linus Rath
2bb5a62ac4
feat: let a plugin open, close and toggle the panel its slot sits in
2026-10-20 17:21:13 +02:00
Linus Rath
1f11cc7249
fix: stop talking to a plugin frame once it has navigated to another document
2026-10-19 01:32:27 +02:00
Linus Rath
685ce7f469
fix: keep plugin POSTs off the plugin proxy, secrets, agenda, ical and translate routes
2026-10-19 01:04:45 +02:00
Linus Rath
1e992e6c7f
fix: check plugin dropdown messages before the host draws them
2026-10-18 14:39:59 +02:00
Linus Rath
7573471544
fix: keep plugins from reading mail of other connected logins #1273
2026-10-18 14:39:58 +02:00
Linus Rath
5aba2a92c5
Merge pull request #1251 from tobiasge/feat/plugin-ui-kit-combobox
...
feat(plugins): add Combobox component to UI kit with host floating dropdown portal
2026-10-18 14:34:26 +02:00
Linus Rath
24e7e738bd
Merge pull request #1274 from alyyousuf7/fix/plugin-email-get-shared-accounts
...
fix: let api.email.get read a listed message of a shared account
2026-10-18 14:34:18 +02:00
Linus Rath
86d6c78ce7
fix: keep a plugin slot's callbacks working when its props change while it loads #1266
2026-10-18 13:46:47 +02:00
Ali Yousuf
6fe9f8f7f1
fix: let api.email.get read a listed message of a shared account
...
doEmailGet asked the signed-in account for every id, so a message in a
folder shared from another account came back as null even though it was
in the list. A message in the loaded list is now read from the account
that owns it, through resolveEmailBlobContext like attachment downloads.
getAttachment and getRaw keep reading from the signed-in account only.
Fixes #1273
2026-10-17 18:41:31 -04:00
Tobias Genannt
d6d3683b65
feat(plugins): add Combobox component to UI kit with host floating dropdown portal
...
- Add Combobox component supporting single and multiselect modes, search filtering, and clear button
- Implement floating dropdown bridge and host slot portal so dropdown renders cleanly outside plugin iframe
- Fix clear button and chip removals to not unexpectedly open the dropdown
- Add comprehensive unit tests covering Combobox options, clear behavior, multiselect, and bridge communication
2026-10-16 10:08:27 +02:00
Linus Rath
3d5c46bbcf
fix: make plugin sidebar rows as tall as folder rows on phones
2026-10-14 18:49:56 +02:00
Linus Rath
9affb1c9b9
fix: show plugins the message that was already open when they start
2026-10-14 18:49:22 +02:00
Linus Rath
c6ec58e5cc
fix: keep a compact info bar's text on one line next to its icon
2026-10-14 14:22:13 +02:00
Linus Rath
60fe6f159a
fix: keep plugin frames on the page's theme when it changes outside the theme store
2026-10-14 14:16:32 +02:00
Linus Rath
7464e4db93
fix: reset the browser's button look on kit components that are a button themselves
2026-10-14 14:08:41 +02:00
Linus Rath
d808f2d671
feat: add side panels, detail rows, colour dots and labelled check boxes to the plugin UI kit
2026-10-14 14:04:46 +02:00
Linus Rath
9d7dc4fc4e
fix: stop plugin frames from painting a white backdrop in dark themes
2026-10-14 14:02:40 +02:00
Linus Rath
19967fa3fb
feat: let plugins add options to the composer's Options menu as check items
2026-10-14 11:50:52 +02:00
Linus Rath
9d8f762b1d
feat: let a plugin title its sidebar section
2026-10-14 11:47:25 +02:00
Linus Rath
6098c1f928
feat: add a change preview to the plugin UI kit
2026-10-14 11:42:12 +02:00
Linus Rath
5d83d76436
feat: let plugins open a reply to the open message with text to start from
2026-10-14 11:37:51 +02:00
Linus Rath
cbeeca3ea5
feat: let plugins edit the message being written from composer buttons and menus
2026-10-14 11:35:00 +02:00
Linus Rath
1bd4f743a1
feat: give plugins the app's own controls and draw their dialogs like the app's dialogs
2026-10-14 11:10:14 +02:00
Linus Rath
607f1b2496
feat: let plugin notifications carry a link to the plugin's own server
2026-10-14 10:58:19 +02:00
Linus Rath
7f7f6bf949
fix: check the name, type and size of blobs plugins upload, and the email id of email.setKeyword and email.removeKeyword
2026-10-14 10:00:03 +02:00
Linus Rath
78f72e0c03
fix: give plugins settings that change after they started, let their frames copy to the clipboard and tell them the user's time zone
2026-10-14 09:01:03 +02:00
Linus Rath
c3cf0ddcff
feat: tell plugins whether the admin has set up their accounts and keys
2026-10-14 08:24:28 +02:00
Linus Rath
1e62fbbee1
fix: start each plugin once, so its hooks don't fire twice
2026-10-14 08:22:55 +02:00
Linus Rath
289e975d38
fix: give large attachment offloads time to finish and let cloud pickers write links into the text
2026-10-14 07:40:32 +02:00
Linus Rath
ae2130f5c8
feat: let a plugin ask a question on top of its own dialog
2026-10-14 06:47:53 +02:00
Linus Rath
929ccb8bee
fix: stream answers to proxied requests that send a body, and allow keyless services the admin sets up
2026-10-14 06:42:40 +02:00
Linus Rath
85c6cbcac8
feat: let plugins move messages between folders and archive them
2026-10-14 06:31:07 +02:00
Linus Rath
72be961383
feat: let plugins create repeating events under a stable id of their own
2026-10-14 06:29:15 +02:00
Linus Rath
1f89e89ce5
feat: let plugins refresh their message-list badges, which now need only the read permission
2026-10-14 06:26:10 +02:00
Linus Rath
49511dff38
feat: let plugins read their own non-secret admin settings without the admin permission
2026-10-14 06:23:10 +02:00
Linus Rath
e9b2ef3258
fix: let plugin frames use forms without letting them post anywhere
2026-10-14 06:19:12 +02:00
Linus Rath
8bf4df4513
feat: add a notifications panel for plugin notifications and app errors
2026-10-14 05:25:16 +02:00
Linus Rath
1ba53655e5
fix: let identity hooks stop a plugin's change, send notification clicks to plugins that show notifications, and mark reading mail as high risk
2026-10-14 04:37:24 +02:00
Linus Rath
8ad8f44e78
Merge branch 'feat/plugin-host-apis' into feat/plugin-system-audit
...
# Conflicts:
# lib/plugin-sandbox/permission-text.ts
# lib/plugin-sandbox/permissions.ts
# lib/protocol-handlers/mailto.ts
# locales/en/common.json
2026-10-14 04:34:14 +02:00
Linus Rath
5d9268c923
feat: let plugins add buttons, calendar day labels and pages, and use connected accounts from the sandbox
2026-10-14 04:31:43 +02:00
Linus Rath
3a83c00e00
feat: describe every place a plugin can show UI in one catalogue, with a permission for each area
2026-10-14 04:31:43 +02:00
Linus Rath
437bb1d11a
test: require every plugin permission to gate a method, hook or slot
2026-10-14 04:28:24 +02:00
Linus Rath
3a65964d26
feat: let plugins show notifications that name the plugin
2026-10-14 04:26:16 +02:00
Linus Rath
ead925c1b8
feat: let plugins open a filled-in composer and save drafts
2026-10-14 04:23:17 +02:00