Repository navigation
feat: expose signing lifecycle and delivery outcomes via native webhooks - #9427
Open
vitormattos wants to merge 8 commits into
Open
vitormattos wants to merge 8 commits into
vitormattos wants to merge 8 commits into
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>
Contributor
Code Metrics Report
Details | | main (b02d0b8) | #9427 (d56d41c) | +/- |
|---------------------|----------------|-----------------|-------|
+ | Coverage | 76.1% | 76.3% | +0.1% |
| Files | 500 | 506 | +6 |
| Lines | 28578 | 28752 | +174 |
+ | Covered | 21776 | 21946 | +170 |
| Test Execution Time | 1s | 1s | 0s |Code coverage of files in pull request scope (82.9% → 84.4%, patch 95.7%)
Reported by octocov |
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>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
vitormattos
marked this pull request as ready for review
November 10, 2026 01:46
This branch has not been deployed
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.
Goal
Expose the remaining useful LibreSign business transitions to Nextcloud Webhook Listeners, without creating a proprietary callback transport. The existing
SigningRequestCompletedEventremains unchanged.Native events added (LibreSign development
main/ Nextcloud 36)OCA\Libresign\Events)SigningRequestReadyEventSigningRequestCanceledEventSignerRejectedWebhookEventSignerSignedWebhookEventNotificationDeliveryStatusChangedEventaccepted≠ recipient receivedAll payloads have
contractVersion: 1and a deterministiceventIdfor downstream deduplication; no email, phone number, signing link, private rejection comment, PDF bytes or certificate is serialized. Typed PHP events remain independent of Nextcloud HTTP transport.Important semantics
continuepolicy may complete a previously partially signed workflow; it now also emits the existing aggregate completion event.SignRequestCanceledEventis signer-removal notification, not a workflow-canceled webhook. NewSigningRequestCanceledEventis explicitly aggregate.Validation
acceptedoutcome and attempt, outside the SQL transaction, without recipient email or encrypted recipient in the serialized event.git diff --check: clean on the revised tests. Signed incremental commits have verified DCO.2a14994: 74 successful checks, 6 intentionally skipped, 0 failures or pending checks. PHPUnit passed on SQLite, MariaDB 12.3, PostgreSQL 18 and MySQL 9.7 (PHP 8.3/8.4/8.5); Behat passed across all four database backends; Playwright E2E passed 88 browser tests. The previous November 9 failures included a GitHub Actions incident and a test fixture UUID longer than the SQLvarchar(36)limit; both are resolved.Review notes
Related
Complements #9426 (remove legacy callback); developed as a separate, independently reviewable PR against
main. Neither merge nor deploy is authorized.