Repository navigation
[stable34] fix: deliver sign invitations to email-identified existing users - #9510
Merged
Merged
Conversation
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Remove unused listener dependencies and resolve account notification preferences by UID, leaving email-identified signers on mail delivery. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Use event inputs and delivery outputs instead of passing messages through MailChannel and MailService in listener tests. Cover invitation, reminder, account preferences, shared emails, cancellation and signed notices. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Keep account-based cancellation preferences when a signer was identified by email, without reintroducing invitation suppression from issue #9425. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…coupling Cover existing-account cancellation opt-outs, external recipients, unknown methods and empty addresses. Keep mock configuration readable and assert observable delivery intents instead of internal invocation sequences. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
The Nextcloud user manager returns an empty list when no users match an email address. Model that contract explicitly in the regression test, preventing count(null) across the PHPUnit database matrix. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Keep the only available invitation channel independent of the linked account's personal opt-out while respecting the administrator's channel setting. Cover Activity and app-config fallback paths. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Use UID/type-aware preference maps, assert the listener never mutates legacy notification history, and mirror deleted-account metadata fixtures. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Restore global notification settings after the account-search opt-out scenario and explicitly enable invitation mail in the PDF validation scenario, avoiding an implicit dependency on shard execution order. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
refactor: make email recipient policy self-documenting Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com> [skip ci]
Avoid re-resolving recipients after eligibility and preference checks. Keep the existing stable mail delivery and history paths. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…on pipeline Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
vitormattos
marked this pull request as ready for review
November 14, 2026 22:34
vitormattos
approved these changes
Nov 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backport of #9429 to
stable34.Stable-specific adaptation
Unlike
main, this stable usesMailNotifyListenerto invokeMailServicedirectly and records notification history usingSignRequestMapper. The backport keeps that architecture, uses the resolved eligible email rather than redundantly resolving it a second time, and applies administrator policy to email-identified invitations while retaining account UID preferences and cancellation behavior.Review handoff
stable34(GitHub mergeability checked).[skip ci]marker, so CI is enabled.Adapted listener unit tests to the stable MailService + SignRequestMapper architecture, replacing main-only NotificationMessage/MailChannel fixtures. In an isolated PHP 8.4/OCP test harness, 18 listener tests (38 assertions) and 13 preference-resolver tests (38 assertions) passed; full GitHub CI and live Nextcloud integration remain unverified.
History: The backport bot created two empty commits, retained to avoid rewriting signed/DCO history. Earlier bot commits may include
[skip ci]; new signed HEAD commits allow CI to run. These historical empty commits change no files. No merge performed.