Szymon Chroboczek
a8106d9617
fix: expand contact groups into calendar attendees
2026-11-02 23:10:47 +01:00
Linus Rath
72117c8a71
Merge branch 'main' into feat/proofreading
...
# Conflicts:
# components/admin/admin-shell.tsx
2026-11-02 21:27:17 +01:00
Linus Rath
1d2f19f593
Merge branch 'main' of https://github.com/bulwarkmail/webmail
2026-11-02 21:11:48 +01:00
Linus Rath
f0477bc4fd
fix: keep the composer's proofreading off the plugin store, and safe with a stand-in editor #1397
2026-11-02 21:08:35 +01:00
Linus Rath
dfbeeed142
test: check proofreading at phone width and right to left #1397
2026-11-02 20:59:25 +01:00
Linus Rath
42d1143df1
fix: mark the plugin proxy's no-third-party refusal as the proxy's own error
2026-11-02 20:57:56 +01:00
Linus Rath
8778c74d3a
fix: stop plugins widening right-to-left pages with their hidden frame
2026-11-02 20:56:37 +01:00
Linus Rath
ac375c4d3d
fix: log a proofreading check that fails, with an opt-in debug log for checker authors #1397
2026-11-02 20:46:06 +01:00
Linus Rath
7e624e9bb0
Merge branch 'feat/boot-skeleton'
2026-11-02 20:28:26 +01:00
Linus Rath
a3e83c0290
refactor: drop an unused constant from the message skeleton
2026-11-02 20:28:21 +01:00
Linus Rath
6055dac1cb
fix: keep proofreading text from plugins that shouldn't get it, and work it by keyboard #1397
...
A security and an accessibility review of the proofreading hook found
gaps, fixed here.
What leaves the browser:
- A checker gets a name for each composer of its own, not the composer's
id, so it can't reach the message through the other api.composer calls
after proofreading stops.
- Checking pauses while a plugin that can sign or encrypt is turned on but
still starting, and while the policy couldn't be fetched (the built-in
defaults could undo an admin's lock).
- No plugin can hold up turning proofreading off (onBeforeSettingChange).
- Suggestions can't carry zero-width, bidi or line-separator characters;
messages lose bidi overrides; a flood of annotations is cut off early.
- The notices name the plugin as installed, not a label it chose, and say
that text written before signing or encryption was turned on may
already have been checked.
- A checker registered during start-up no longer fails its first check.
Keyboard and screen readers:
- Escape in the issue panel closes the panel, not the message.
- Underlines carry aria-invalid, as the browser's own markers do.
- The focus goes somewhere sensible when a button or an issue goes away,
Tab past the popup's edges goes back to the text, and the shortcuts work
in the popup and the panel.
- Ctrl+' and Ctrl+; follow the character typed, so other layouts keep
their own keys (Ctrl+S on Dvorak), with Ä and Ö on German keyboards.
- The popup is described by its message, sits inside a modal composer,
fits narrow screens, and the panel fits a phone.
2026-11-02 20:26:21 +01:00
Linus Rath
1a3377c6e1
fix: keep a linked message's reader still when the message arrives
2026-11-02 20:24:47 +01:00
Linus Rath
ceffe745b3
Merge pull request #1498 from HOLOEYE-JZ/feat/plugin-calendar-task-view
2026-11-02 20:24:23 +01:00
Linus Rath
8ec4e1954a
Merge pull request #1497 from HOLOEYE-JZ/feat/plugin-dialog-anchor
2026-11-02 20:24:04 +01:00
Linus Rath
d37fa4de44
Merge pull request #1496 from HOLOEYE-JZ/feat/plugin-side-panel
2026-11-02 20:24:02 +01:00
Linus Rath
cd99a5a410
Merge pull request #1495 from HOLOEYE-JZ/feat/plugin-task-reminders
2026-11-02 20:24:01 +01:00
Linus Rath
51a0481718
Merge pull request #1479 from tobiasge/feat/plugin-calendar-birthdays
2026-11-02 20:24:00 +01:00
Linus Rath
7b59f2562f
Merge pull request #1493 from ibayue/feat/signature-insert-toggles
2026-11-02 20:23:58 +01:00
Linus Rath
42add9400c
Merge pull request #1502 from pirate/fix/mailbox-pagination-only
2026-11-02 20:23:57 +01:00
Linus Rath
45c1d9b3d6
Merge pull request #1499 from Schrobo/fix/shared-mailbox-push-target
2026-11-02 20:23:56 +01:00
Linus Rath
b8aa44c16f
Merge pull request #1492 from shadow1runner/feat/template-inline-images
2026-11-02 20:23:55 +01:00
Linus Rath
e3fb3df5b0
fix: say in the tasks permission that a plugin may replace the task list #1498
2026-11-02 20:22:40 +01:00
Linus Rath
68dd11a30f
fix: show the built-in task list when a plugin's task view does not draw #1498
2026-11-02 20:19:43 +01:00
Linus Rath
8ef3ad901e
fix: page large folder lists on stalwart 1.0 and retry when mail arrives mid-load #1502
2026-11-02 20:18:49 +01:00
Linus Rath
1a3306322f
fix: let only plugins that may change the calendar or tasks silence a reminder #1495
2026-11-02 20:17:11 +01:00
Linus Rath
2b7f5b1b4e
Merge branch 'feat/boot-skeleton'
2026-11-02 20:16:37 +01:00
Linus Rath
29e7a5b8c7
fix: give plugins the birthdays whose day overlaps the asked range #1479
2026-11-02 20:15:59 +01:00
Linus Rath
244e8b7b5a
fix: keep the login and mailbox owner in notification links on safari 16 #1499
2026-11-02 20:15:34 +01:00
Linus Rath
0c421f5557
test: cover opening the shared inbox from a grouped notification #1499
2026-11-02 20:15:33 +01:00
Linus Rath
f1b2c20f1d
chore: undo stray formatting changes from the signature toggles #1493
2026-11-02 20:15:29 +01:00
Linus Rath
d70f058ec7
fix: keep the signature delimiter on by default for new users #1493
2026-11-02 20:15:13 +01:00
Linus Rath
14e1ab5f26
test: cover quick reply with the reply signature toggle off #1493
2026-11-02 20:14:49 +01:00
Linus Rath
52330cbd07
fix: keep inserting signatures for existing users by default #1493
2026-11-02 20:14:48 +01:00
Linus Rath
0c8ca9ceff
fix: close the calendar column rule the merge left open
2026-11-02 20:13:27 +01:00
Linus Rath
39e137fd22
test: check proofreading in the browser with a test checker plugin #1397
2026-11-02 20:07:55 +01:00
Linus Rath
43a18d2140
fix: keep the issue popup open when the list moves the focus to the text #1397
2026-11-02 20:07:52 +01:00
Linus Rath
0bacfb389e
Merge branch 'feat/boot-skeleton-mail' into feat/boot-skeleton
...
# Conflicts:
# app/boot-skeleton.css
# lib/boot-skeleton/boot-script.ts
2026-11-02 20:01:22 +01:00
Linus Rath
3241f17c44
fix: open a folder from anywhere in its sidebar row #1501
2026-11-02 19:57:58 +01:00
Linus Rath
b623cd388d
perf: leave the Pro frame's panes empty on standard pages
2026-11-02 19:55:32 +01:00
Linus Rath
e9c4fb095f
feat: let a checker that checks only when asked work with compose:read #1397
2026-11-02 19:52:31 +01:00
Linus Rath
3db7b745d0
Merge branch 'feat/boot-skeleton-calendar' into feat/boot-skeleton
...
# Conflicts:
# app/boot-skeleton.css
# components/boot-skeleton/shell.tsx
2026-11-02 19:51:39 +01:00
Nick Sweeting
c862909fdd
fix: respect single-call paging and preserve folders on page failures
2026-11-02 10:50:50 -08:00
Linus Rath
3530e056ce
fix: leave an empty line above the signature delimiter in replies #1503
2026-11-02 19:49:23 +01:00
Linus Rath
5fc65b47cc
feat: let admins require or turn off proofreading per group and plugin #1397
2026-11-02 19:46:01 +01:00
Linus Rath
67549d5f54
feat: show proofreading suggestions in a popup and an issue list in the composer #1397
2026-11-02 19:46:00 +01:00
Linus Rath
e47eceb242
feat: draw the calendar toolbar's own words and task list in its skeleton
2026-11-02 19:42:52 +01:00
Linus Rath
90044b9d5a
perf: draw the mail skeleton's rows with less markup
2026-11-02 19:42:40 +01:00
Linus Rath
56678fd499
Merge branch 'feat/boot-skeleton-auth' into feat/boot-skeleton
...
# Conflicts:
# components/boot-skeleton/shell.tsx
2026-11-02 19:42:04 +01:00
Linus Rath
1d90e6f638
fix: keep skeleton placeholders visible on sidebars in dark mode
2026-11-02 19:40:30 +01:00
Linus Rath
37b8cc0640
test: count settings rows and Pro bodies in the frames that draw them
2026-11-02 19:39:09 +01:00