Merge pull request #19252 from nextcloud/bug/fix-notification-object-id
Hash event UID to make sure it's not too long for PushProvider notifications
This commit is contained in:
commit
e6206731c7
|
@ -93,6 +93,9 @@ class PushProvider extends AbstractProvider {
|
|||
|
||||
$eventDetails = $this->extractEventDetails($vevent);
|
||||
$eventDetails['calendar_displayname'] = $calendarDisplayName;
|
||||
$eventUUID = (string) $vevent->UID;
|
||||
// Empty Notification ObjectId will be catched by OC\Notification\Notification
|
||||
$eventUUIDHash = $eventUUID ? hash('sha256', $eventUUID, false) : '';
|
||||
|
||||
foreach($users as $user) {
|
||||
/** @var INotification $notification */
|
||||
|
@ -100,7 +103,7 @@ class PushProvider extends AbstractProvider {
|
|||
$notification->setApp(Application::APP_ID)
|
||||
->setUser($user->getUID())
|
||||
->setDateTime($this->timeFactory->getDateTime())
|
||||
->setObject(Application::APP_ID, (string) $vevent->UID)
|
||||
->setObject(Application::APP_ID, $eventUUIDHash)
|
||||
->setSubject('calendar_reminder', [
|
||||
'title' => $eventDetails['title'],
|
||||
'start_atom' => $eventDetails['start_atom']
|
||||
|
|
|
@ -189,7 +189,7 @@ class PushProviderTest extends AbstractNotificationProviderTest {
|
|||
|
||||
$notification->expects($this->once())
|
||||
->method('setObject')
|
||||
->with('dav', 'uid1234')
|
||||
->with('dav', hash('sha256', 'uid1234', false))
|
||||
->willReturn($notification);
|
||||
|
||||
$notification->expects($this->once())
|
||||
|
|
Loading…
Reference in New Issue