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
|
b88232c4e8
|
fix: list a plugin with both a settings page and a settings section once, with the section on its page
|
2026-10-14 09:52:52 +02:00 |
|
Linus Rath
|
2b493f8f9c
|
feat: show the reader's plugin frames and actions on the open message of a phone conversation
|
2026-10-14 09:46:03 +02:00 |
|
Linus Rath
|
e1c4a721a3
|
fix: show plugin day labels as dots in the phone month view and keep the mini calendar dot visible on today
|
2026-10-14 09:42:48 +02:00 |
|
Linus Rath
|
b519b6aa44
|
docs: say that composer-attachment-source sits in the composer's plugin button row, not the Attach menu
|
2026-10-14 09:37:59 +02:00 |
|
Linus Rath
|
fce19d802b
|
fix: stop concurrent plugin and theme installs from failing or dropping each other
|
2026-10-14 09:02:51 +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
|
d841785cbd
|
feat: let composer plugins read the selected text and write over it
|
2026-10-14 06:45:08 +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
|
de6a980233
|
feat: tell plugins where a proxied request was redirected on the same server
|
2026-10-14 06:31:55 +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
|
f1a84b5aa1
|
feat: list a message's attachments in the view plugins get
|
2026-10-14 06:21:17 +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
|
ae28122f67
|
fix: send plugin uploads through the proxy with their length, so servers like Paperless receive the file
|
2026-10-14 06:10:05 +02:00 |
|
Linus Rath
|
14c5b10c6a
|
feat: tell a plugin page which of its pages is open
|
2026-10-14 05:30:34 +02:00 |
|
Linus Rath
|
7a6a0fc67f
|
Merge branch 'slots/nav' into feat/plugin-system-audit
# Conflicts:
# lib/__tests__/plugin-slot-catalog.test.ts
|
2026-10-14 05:30:34 +02:00 |
|
Linus Rath
|
a4b100c82c
|
test: require every app, navigation and settings slot to be mounted
|
2026-10-14 05:25:38 +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
|
86e593a752
|
feat: add a command palette on Ctrl+K where plugins can add their own commands
|
2026-10-14 05:10:10 +02:00 |
|
Linus Rath
|
425eae2227
|
Merge branch 'slots/mail' into feat/plugin-system-audit
# Conflicts:
# lib/__tests__/plugin-slot-catalog.test.ts
|
2026-10-14 05:07:18 +02:00 |
|
Linus Rath
|
6f18173778
|
feat: let plugins add frames above and below the message text and entries to the composer's Send and Attach menus
|
2026-10-14 05:04:09 +02:00 |
|
Linus Rath
|
e5f3ee0b98
|
refactor: mark calendar day labels as data in the slot catalogue, not clickable actions
|
2026-10-14 05:01:37 +02:00 |
|
Linus Rath
|
eb34caa381
|
feat: let plugins add entries to file menus and the selection toolbar, and a section to file previews
|
2026-10-14 04:58:21 +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 |
|
Linus Rath
|
31205e44d8
|
fix: stop cutting off uploads over 10 MB that pass through the server, such as office documents saved from the editor
|
2026-10-14 04:17:51 +02:00 |
|
Linus Rath
|
08e2d65944
|
feat: let untrusted plugins save attachments and message sources of a given message
|
2026-10-14 04:16:31 +02:00 |
|
Linus Rath
|
60257bb732
|
feat: let users connect accounts for plugins in a dialog the plugin can't read, and disconnect them in settings
|
2026-10-14 04:14:13 +02:00 |
|
Linus Rath
|
8fd6bc42c3
|
feat: let plugins read any message, list a folder and see the folders
|
2026-10-14 04:13:33 +02:00 |
|
Linus Rath
|
3aec045163
|
test: require a call site for every plugin hook
|
2026-10-14 04:06:37 +02:00 |
|
Linus Rath
|
121d8ba30c
|
feat: let plugins manage templates, sender signatures and the out-of-office reply
|
2026-10-14 04:06:06 +02:00 |
|
Linus Rath
|
1307280fd8
|
Merge branch 'hooks/settings' into feat/plugin-system-audit
|
2026-10-14 04:05:47 +02:00 |
|
Linus Rath
|
0a98ffa711
|
fix: give plugins plain message data, let them add only real messages to search results and skip a draft save
|
2026-10-14 04:05:43 +02:00 |
|
Linus Rath
|
3df031edd1
|
feat: let plugins read and change calendar events and tasks
|
2026-10-14 04:02:47 +02:00 |
|
Linus Rath
|
c464ca2030
|
Merge branch 'hooks/mailstore' into feat/plugin-system-audit
|
2026-10-14 04:00:59 +02:00 |
|