Skip to content

[stable35] fix(mail): escape rich object links and skip unsendable digest users - #2927

Merged
come-nc merged 1 commit into
stable35from
backport/2907/stable35
Sep 17, 2026
Merged

come-nc merged 1 commit into
stable35from
backport/2907/stable35

Conversation

@backportbot

@backportbot backportbot Bot commented Sep 15, 2026

Copy link
Copy Markdown

Backport of PR #2907

The `link` of a rich object was interpolated straight into the href of
activity and digest mails while the link text beside it was escaped, so a
parameter carrying a quote closed the attribute and injected markup into
the mail body.

Two digest problems alongside it:

- `new DateTimeZone()` sat outside the per-user try/catch, so a single
  unparseable `core/timezone` preference threw out of the loop and nobody
  later in the batch received a digest. The verdict is now memoised, so a
  shared bad value is reported once instead of once per user.
- Users without an email address were never skipped. The whole digest was
  built and handed to the mailer only for it to throw, once per user, on
  every run.

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
@backportbot
backportbot Bot requested review from come-nc and solracsf September 15, 2026 12:49
@backportbot backportbot Bot added this to the Nextcloud 35.0.1 milestone Sep 15, 2026
@come-nc
come-nc merged commit e163a51 into stable35 Sep 17, 2026
51 of 52 checks passed
@come-nc
come-nc deleted the backport/2907/stable35 branch September 17, 2026 09:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants