-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
[stable28] fix: override iTip Broker to fix several issues #49269
base: stable28
Are you sure you want to change the base?
Conversation
Failing tests look related: https://drone.nextcloud.com/nextcloud/server/57857/9/4 |
Yeah, I used a reflection trick to test the protected class, which seems to break with php 8.0. Might need to mod the test with a internal class and forward the request to the parent |
Try invokePrivate from tests/lib/TestCase.php |
Signed-off-by: SebastianKrupinski <[email protected]>
d34b3ee
to
97c3938
Compare
That worked! Thanks! Wish I knew about that when I created the test originally. |
/** | ||
* Returns an instance of the iTip\Broker. | ||
*/ | ||
protected function createITipBroker(): TipBroker { |
Check failure
Code scanning / Psalm
MethodSignatureMismatch Error
/** | ||
* Returns an instance of the iTip\Broker. | ||
*/ | ||
protected function createITipBroker(): TipBroker { |
Check failure
Code scanning / Psalm
UndefinedClass Error
* Returns an instance of the iTip\Broker. | ||
*/ | ||
protected function createITipBroker(): TipBroker { | ||
return new TipBroker(); |
Check failure
Code scanning / Psalm
UndefinedClass Error
$icalMsg = new VCalendar(); | ||
|
||
foreach ($calendar->select('VTIMEZONE') as $timezone) { | ||
$icalMsg->add(clone $timezone); |
Check notice
Code scanning / Psalm
MixedClone Note
// the attendee was removed and we need to send them a CANCEL message. | ||
// Also If the meeting STATUS property was changed to CANCELLED | ||
// we need to send the attendee a CANCEL message. | ||
if (!$attendee['newInstances'] || $eventInfo['status'] === 'CANCELLED') { |
Check notice
Code scanning / Psalm
RiskyTruthyFalsyComparison Note
$message->method = $icalMsg->METHOD = 'CANCEL'; | ||
$message->significantChange = true; | ||
// clone base event | ||
$event = clone $eventInfo['instances']['master']; |
Check notice
Code scanning / Psalm
MixedClone Note
$oldEventInfo['significantChangeHash'] !== $eventInfo['significantChangeHash']; | ||
|
||
foreach ($attendee['newInstances'] as $instanceId => $instanceInfo) { | ||
$currentEvent = clone $eventInfo['instances'][$instanceId]; |
Check notice
Code scanning / Psalm
MixedClone Note
Backport of #48583
Requires: #49267
Warning, This backport's changes differ from the original and might be incomplete⚠️
Todo
Learn more about backports at https://docs.nextcloud.com/server/stable/go.php?to=developer-backports.