Page MenuHomePhorge

Ignore iTip parsing errors when synchronizing mail
Needs RevisionPublic

Authored by machniak on Jul 4 2024, 12:19 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Oct 28, 4:01 PM
Unknown Object (File)
Sun, Oct 27, 2:37 PM
Unknown Object (File)
Thu, Oct 17, 9:04 AM
Unknown Object (File)
Mon, Oct 14, 2:02 PM
Unknown Object (File)
Sat, Oct 5, 12:39 AM
Unknown Object (File)
Sat, Oct 5, 12:28 AM
Unknown Object (File)
Sep 19 2024, 2:58 AM
Unknown Object (File)
Sep 19 2024, 2:18 AM

Details

Reviewers
mollekopf
Group Reviewers
Syncroton Developers

Diff Detail

Repository
rS syncroton
Branch
dev/ignore-itip-parsing-errors
Lint
Lint Skipped
Unit
No Test Coverage
Build Status
Buildable 47988
Build 18204: arc lint + arc unit

Event Timeline

machniak created this revision.
This revision is now accepted and ready to land.Jul 4 2024, 12:31 PM

What I find a bit odd is that we already try to catch exceptions in Command/Sync.php on all getEntry calls, so that should already take care of it, no?

I suppose it would be better to just make sure that the logic in Sync.php works instead of ignoring ical errors specifically.

This revision now requires changes to proceed.Jul 4 2024, 12:41 PM

Indeed. I just noticed that the actual error wasn't an exception. It was PHP Fatal error: Uncaught Error: __clone method called on non-object in /usr/share/roundcubemail/plugins/libcalendaring/lib/libcalendaring_vcalendar.php:633, so to catch it we'd have to catch Throwable, I suppose, I'm not sure.

Still, it makes sense to not skip the entire message, but sync it as it was a normal message, ignoring the fact it has an invitation.

Indeed. I just noticed that the actual error wasn't an exception. It was PHP Fatal error: Uncaught Error: __clone method called on non-object in /usr/share/roundcubemail/plugins/libcalendaring/lib/libcalendaring_vcalendar.php:633, so to catch it we'd have to catch Throwable, I suppose, I'm not sure.

Still, it makes sense to not skip the entire message, but sync it as it was a normal message, ignoring the fact it has an invitation.

Makes sense, but then we have to try and see if catch Throwable works in here.

It seems to me we should:

..