Repository navigation
fix(call): return proper permission errors when starting a call is not allowed - #18664
Conversation
…ng a call The proxying server only accepted 200/400/404 from the host when joining a federated call. A 403 - returned by the host e.g. when start_calls restricts who may start calls and the federated participant is not allowed - was wrapped into a CannotReachRemoteException, so users saw what looked like a connection error instead of a permission error. Accept 403 as an expected status code, document it on the endpoint and regenerate the OpenAPI spec and types. Assisted-by: ClaudeCode:claude-fable-5 Signed-off-by: Pascal Kienast <info@pascalkienast.de>
… allowed When the signaling backend join path marks the first participant as in-call and that participant is not allowed to start the call, the ForbiddenException thrown by the RestrictStartingCalls listener escaped uncaught, so the HPB received an unstructured error instead of a proper backend error. SIP dial-in into a not-yet-started call is one way to reach this path. Catch the exception and return a structured 'start_call_not_allowed' backend error instead. Assisted-by: ClaudeCode:claude-fable-5 Signed-off-by: Pascal Kienast <info@pascalkienast.de>
…ll" settings Signed-off-by: Joas Schilling <coding@schilljs.com>
|
/backport to stable34 |
|
/backport to stable33 |
|
/backport to stable32 |
|
Failure in tests/integration/features/federation/call.feature#L81 is expected until stable34 was patched Failure in tests/integration/features/chat-4/scheduled-messages.feature#L581 was fixed with #18668 |
|
Hello there, We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process. Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6 Thank you for contributing to Nextcloud and we hope to hear from you soon! (If you believe you should not receive this message, you can add yourself to the blocklist.) |
☑️ Resolves
Both issues can occur when the host restricts who may start calls, for example when start_calls is set to “Moderators only”:
AI (if applicable)
🛠️ API Checklist
🚧 Tasks
How to test
Federation fix:
CannotReachRemoteException)Signaling fix:
participant who may not start (e.g. SIP dial-in into a not-yet-started call)
ForbiddenException, unstructured error at the HPBstart_call_not_allowedbackend error🏁 Checklist
docs/has been updated or is not requiredShould be backportable to all supported stable branches; #18647 will be rebased on top once this is merged