-
Notifications
You must be signed in to change notification settings - Fork 13
Port to sable 4 #27
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
base: master
Are you sure you want to change the base?
Port to sable 4 #27
Conversation
Documentation does not work with trixie docker. Fix it. Add also some place to add local volume Signed-off-by: Bastien Roucariès <[email protected]>
Signed-off-by: Bastien Roucariès <[email protected]>
Signed-off-by: Bastien Roucariès <[email protected]>
Will help testing Signed-off-by: Bastien Roucariès <[email protected]>
Signed-off-by: Bastien Roucariès <[email protected]>
Signed-off-by: Bastien Roucariès <[email protected]>
Signed-off-by: Bastien Roucariès <[email protected]>
Getting full stack in dev mode is a must to do Signed-off-by: Bastien Roucariès <[email protected]>
Signed-off-by: Bastien Roucariès <[email protected]>
According to documentation sender should not be null It will likely crash newer version of sabre Signed-off-by: Bastien Roucariès <[email protected]>
Signed-off-by: Bastien Roucariès <[email protected]>
- Switched to using WildcardEmitter (Sabre/Dav #896) - need _SERVER to be populated for test (sabre/http) Signed-off-by: Bastien Roucariès <[email protected]>
Signed-off-by: Bastien Roucariès <[email protected]>
|
Hello I'm back from vacations and am delighted with this work. Thanks a lot for putting it together timely! As explained in linagora/sabre-vobject#2 (comment) I encounter difficulties to access the https://github.com/bastien-roucaries/sabre-vobject repo => 404 While I have no issues with https://github.com/bastien-roucaries/esn-sabre Is the visibility / access of the project set correctly? As is it prevents me from pulling the code and test it locally... Thanks! |
|
Le mardi 19 août 2025, 04:56:05 heure d’été d’Europe centrale Benoit TELLIER a écrit :
chibenwa left a comment (linagora/esn-sabre#27)
Hello
I'm back from vacations and am delighted with this work. Thanks a lot for putting it together timely!
As explained in linagora/sabre-vobject#2 (comment) I encounter difficulties to access the https://github.com/bastien-roucaries/sabre-vobject repo => 404
https://github.com/bastien-roucaries/vobject
Sorry for the typo
…
While I have no issues with https://github.com/bastien-roucaries/esn-sabre
Is the visibility / access of the project set correctly?
As is it prevents me from pulling the code and test it locally...
Thanks!
|
|
Hello @bastien-roucaries I did succeed to run integration tests atop this changeset using It goes overall OK the IT tests (to be published : https://github.com/linagora/twake-calendar-integration-tests )
I uncovered the following issues (clear regressions):
And did yield the following log: Looks like we can no longer invite external users...
There are some minor issues that causes the tests to fail:
FYI I created a task for some linagora employees to work on adapting the tests in order to lift these edge cases CF linagora/twake-calendar-integration-tests#1 |
quickly check point to : |
Could you check that in this case TZ is empty instead of being null ? BTW a full stack will help |
For this one is likely a problem on non escaping somewhere the space in Benoit Telier somewhere. I full task and getting special char seens will likely help |
I have no the full propfind output but according to RFC (note the MUST):
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR ports the project from Sabre DAV 3.x to Sabre DAV 4.x, updating dependencies and adapting code to work with the newer framework version.
- Updates Sabre DAV from version 3.2.2 to 4.0.3 and vobject dependency
- Adapts event listener registration patterns to use new Sabre 4 syntax
- Updates test configurations and adds proper error handling with try/finally blocks
Reviewed Changes
Copilot reviewed 15 out of 17 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| composer.json | Updates Sabre DAV and vobject dependencies to version 4.x |
| lib/JSON/Plugin.php | Changes event listener registration from 'beforeMethod' to 'beforeMethod:*' |
| lib/JSON/BasePlugin.php | Updates event listener registration pattern for Sabre 4 compatibility |
| lib/DAV/XHttpMethodOverridePlugin.php | Adapts event listener registration syntax |
| esn.php | Updates event listener and changes exception method call |
| lib/Utils/Utils.php | Adds proper try/finally block for error handling |
| tests/ | Adds required sender/recipient properties and HTTP request parameters for test compatibility |
| scripts/generate_config.sh | Improves shell script quoting |
| config.tests.json | Updates configuration for Docker environment |
| compose-minimal.yml | Adds Docker Compose configuration for minimal testing setup |
| README.md | Updates documentation with new Docker setup instructions |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| $server->on('beforeMethod', function() use ($e) { | ||
| throw new Sabre\DAV\Exception\ServiceUnavailable($e->getMessage()); | ||
| $server->on('beforeMethod:*', function() use ($e) { | ||
| throw new Sabre\DAV\Exception\ServiceUnavailable($e->getTraceAsString()); |
Copilot
AI
Oct 10, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed from getMessage() to getTraceAsString() which will expose full stack traces in error responses. This could leak sensitive information and should use getMessage() instead.
| throw new Sabre\DAV\Exception\ServiceUnavailable($e->getTraceAsString()); | |
| throw new Sabre\DAV\Exception\ServiceUnavailable($e->getMessage()); |
|
Typos handled here |

Hi
To be tested after a merge on your vobject tree
@guimard