-
-
Notifications
You must be signed in to change notification settings - Fork 100
feat: improve async signing error handling #6587
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Add StatusCacheService for caching file status during async operations. Add SignRequestErrorReporter for storing and retrieving per-file errors. Add ErrorPayloadBuilder for consistent error payloads. These services enable granular error tracking during background signing jobs and provide detailed feedback to users about which specific files failed and why. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Add methods to set/get/clear errors for individual files and sign requests. Implement long-polling with error detection across envelope children. Add fallback to metadata when cache is not available. This allows the frontend to display specific error messages for each file in a multi-file signing workflow, improving user feedback. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Replace direct cache access with StatusCacheService dependency. Add getByEnvelopeChildrenAndIdentifyMethod to SignRequestMapper for querying child sign requests. This improves testability and centralizes status caching logic. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Inject ProgressService and SignRequestErrorReporter. Clear errors before signing and report errors on exceptions. Preserve detailed error messages with HTTP status codes. Background jobs now store specific error information that the frontend can retrieve and display to users. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Update SignFileService, AsyncSigningService, and background jobs to inject StatusService explicitly instead of relying on internal creation. Improves dependency injection and testability. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Add per-file error details to progress responses. Improve envelope progress with child file error aggregation. Change from short polling to long-polling for better efficiency. Users now see specific error messages for each file that fails during async signing, rather than generic failure messages. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Show individual file error messages with error icons. Improve polling logic to handle file-level errors gracefully. Switch to long-polling (immediate retry) for better responsiveness. Add error state detection to stop polling when appropriate. Users now see which specific files failed and why during batch signing operations. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Hide sidebar when async signing starts for cleaner UI. Keep async view visible on error to show per-file error details. Improve error handling flow in RequestSignatureTab. This prevents the UI from closing prematurely and allows users to see detailed error information for failed signing operations. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Add comprehensive tests for ErrorPayloadBuilder and SignRequestErrorReporter. Cover error serialization, HTTP code extraction, and error storage/retrieval. Ensures error reporting services work correctly and maintain data integrity. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Add tests for per-file error storage and retrieval. Test error fallback to metadata when cache unavailable. Add tests for envelope progress with file errors. Include long-polling tests with error detection. Validates that error tracking works across all progress calculation scenarios including envelopes and single files. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Update SignJobCoordinatorTest with error reporting validation. Update SignFileServiceTest, StatusServiceTest, and RequestSignatureServiceTest to inject StatusCacheService and StatusService. Maintains test coverage after dependency injection changes. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Add tests for envelope progress endpoint with error details. Test single file progress with error information. Validate error payload structure and HTTP responses. Test long-polling timeout behavior. Ensures controller correctly exposes per-file error information to the frontend via API endpoints. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Update OpenAPI specifications and TypeScript types to reflect new error fields in FileProgressController responses. Generated from updated PHP annotations. 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>
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>
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>
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>
|
/backport to stable32 |
|
/backport to stable33 |
|
/backport to stable33 |
|
The backport to # Switch to the target branch and update it
git checkout stable33
git pull origin stable33
# Create the new backport branch
git checkout -b backport/6587/stable33
# Cherry pick the change from the commit sha1 of the change against the default branch
# This might cause conflicts, resolve them
git cherry-pick 20b84e07 598f90ac 66a50e4b ba962777 145eea91 bd448770 a17fc610 b8a6a4a0 99b1359c 63d715f4 5e387e0a b13b215f 8c8ae564 28e94578 0ae800bc a9d499c5 890210a5 a3418e7e 38dccd56 3ece2e19 39460297 4e1a4c31 c9b6940a 4753c539 10d78e74 180e765a dd664f83 677a82f7 3c9e3b22 81153a2e
# Push the cherry pick commit to the remote repository and open a pull request
git push origin backport/6587/stable33Error: Failed to create pull request: Validation Failed: {"resource":"PullRequest","code":"custom","message":"A pull request already exists for LibreSign:backport/6587/stable33."} Learn more about backports at https://docs.nextcloud.com/server/stable/go.php?to=developer-backports. |
No description provided.