I found an issue where when I sync my calendar with vdirsycner I get the following error
debug: {'Server': 'nginx/1.14.2', 'Date': 'Tue, 25 Dec 2018 02:06:42 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'X-Powered-By': 'PHP/7.3.0', 'Set-Cookie': 'PHPSESSID=tmeemanul8grq9c7cu2q4fc6ig; path=/; HttpOnly', 'Expires': 'Thu, 19 Nov 1981 08:52:00 GMT', 'Cache-Control': 'no-store, no-cache, must-revalidate', 'Pragma': 'no-cache'}
debug: b'<pre>ErrorException: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /home/aerex/Documents/repos/git/Baikal/vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php:309\nStack trace:\n#0 /home/aerex/Documents/repos/git/Baikal/vendor/composer/ClassLoader.php(444): Baikal\\Framework::exception_error_handler(2, \'"continue" targ...\', \'/home/aerex/Doc...\', 309, Array)\n#1 /home/aerex/Documents/repos/git/Baikal/vendor/composer/ClassLoader.php(444): include()\n#2 /home/aerex/Documents/repos/git/Baikal/vendor/composer/ClassLoader.php(322): Composer\\Autoload\\includeFile(\'/home/aerex/Doc...\')\n#3 [internal function]: Composer\\Autoload\\ClassLoader->loadClass(\'Sabre\\\\CalDAV\\\\IC...\')\n#4 /home/aerex/Documents/repos/git/Baikal/Core/Frameworks/Baikal/Core/Server.php(170): spl_autoload_call(\'Sabre\\\\CalDAV\\\\IC...\')\n#5 /home/aerex/Documents/repos/git/Baikal/Core/Frameworks/Baikal/Core/Server.php(112): Baikal\\Core\\Server->initServer()\n#6 /home/aerex/Documents/repos/git/Baikal/html/cal.php(63): Baikal\\Core\\Server->__construct(true, true, \'Digest\', \'BaikalDAV\', Object(PDO), \'/cal/cal.php/\')\n#7 {main}<pre>'
I found out that there was an update to sabre in this PR 108 that will solve the problem
I am having. Is Baikal due to updating the sabre dependencies? Or should I updating my copy of the repo? Thanks
I upgraded SabreDAV in PR https://github.com/sabre-io/Baikal/pull/768
Same problem here. However I'm unsure how to upgrade SabreDAV.
I suppose it's a little bit more complicated than just downloading the zip-file from https://github.com/sabre-io/dav/releases and replacing the files under baikal/vendor/sabre/dav in my local installation.
If @ByteHamster has already been successful, could you please give us any advises how to upgrade our systems too?
Thanks in advance.
@flart
Just cherry-pick my PR. It upgrades SabreDAV and contains the database upgrade code. Make a backup because I have only tried the upgrade once, and only with sqlite. It should also work with MySQL though.
If you want to upgrade without cherry-picking, adding the database upgrade file from my PR, then downloading+extracting SabreDAV to /vendor/..., then incrementing the version number (like in my PR) should work. I have not tried that.
Thank you very much.
I cloned your fork from github and checked out the branch "upgrade-sabredav". After that I ran composer to get the dependencies. I saw composer loading version 3.2.3 of sabreDAV. Then I copied my existing "Specific" folder to the new directory and opened the admin page of Baikal in the Browser. It now says version 0.5.1 but I can't figure out whether or not the database was updated. Is there any chance to see this in some kind of log? I'm using sqlite database.
If you can still synchronize, the database upgrade was probably successfull. There should have been a page with the upgrade log (just after starting the admin interface for the first time) if I remember correctly.
If you want to verify manually, open the database file and see if it contains the table calendarinstances. If it does, the upgrade script was executed.
Well there is neither a table calenderinstances nor is the databasefile touched in any other way. The filesystem tells me there is no change to the database since I updated php to version 7.3.
I repeated all the steps mentioned above to double-check I didn't miss the page with the upgrade log. But there is no log shown. Do you know where the log is located in the filesystem?
I could try to modify and run the migrationto32.php script from sabreDAV manually. But perhaps it's a good point to find out why this happens in the case other people experience the same problems.
I just found out that you have to open the page html/admin/install/index.php on the web server for the upgrade to be executed. Looks like I have done that and then forgot about it
I think there is no log file. The upgrade code just fills an array that is displayed on screen. https://github.com/ByteHamster/Baikal/blob/1b79015312a509dc7e86128c037555abe37b6733/Core/Frameworks/BaikalAdmin/Controller/Install/VersionUpgrade.php
The upgrade is executed if BAIKAL_VERSION != BAIKAL_CONFIGURED_VERSION. I increased the version in my PR.
I have the current 3.2.3 sabre/dav dependency but still get this error on php 7.3.6:
ErrorException: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /usr/share/webapps/baikal/vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php:321
composer did say
Installing sabre/dav (3.2.3)
I get the fix, using continue 2 is the right answer (as suggested by the PHP error) in ICSExportPlugin.php, but that's not a thing for this repo...
@sinni800 yeah sorry, I was wrong. My PR fixed compatibility with php 7.2, not 7.3. Compatibility with php 7.3 is already implemented in sabre/dav but it was not released yet.
Compatibility with php 7.3 is already implemented in sabre/dav but it was not released yet.
So you need a dav 4.0.0 release - right?
I have not tried dav 4.0.0 yet but based on the commits and PRs, it looks like php 7.3 support was added. The release is also needed for merging #787.
I don't want to stress you, so just release if you have time and you feel like it's ready.
I don't want to stress you, so just release if you have time and you feel like it's ready.
I think it's about time to do that
@staabm @evert any objections in releasing sabre/dav 4.0.0?
I don't, i think it's awesome. I just don't know what people's experience is with 4.0 in prod. We've had several alphas so that's a good sign I guess
I will prepare the final release these days - first some :beer: in the :sun_with_face:
Nice 馃憤
https://github.com/sabre-io/dav/pull/1163 - here we go
and released https://github.com/sabre-io/dav/releases/tag/4.0.0
Hello,
I noticed that one recurring event for our daughter created within Evolution (LInux. Debian) does not sync with our Android (DAVx) phones and wanted to delete it and re-create it, but now I see that one instance can't be deleted in Evolution:
Cannot remove calendar object: Failed to put data: HTTP error code 500 (Internal Server Error): 3.2.2
Sabre\VObject\Recur\NoInstancesException
This recurrence rule does not generate any valid instances[sabredav-version][exception][message]
so wonder if it could be something related to the fact that the production server where my hosting is has recently updated to Debian 10 (Buster) which uses 7.3 or it is something else?
@gour please open a new issue - thx
@ByteHamster can we close this issue? THX
@DeepDiver1975 done!
@DeepDiver1975 I closed the issue but the underlying problem is not yet solved. We still do not support php 7.3. I did not publish an update with sabre/dav 4.0.0 because of the strict_types issues that occurred. Waiting for 4.0.1 instead.
here is 4.0.1 - https://github.com/sabre-io/dav/releases/tag/4.0.1
Most helpful comment
I will prepare the final release these days - first some :beer: in the :sun_with_face: