Skip to content

Commit

Permalink
Merge pull request #11620 from nextcloud/backport/11610/stable27
Browse files Browse the repository at this point in the history
[stable27] fix(notifications): Fix notification action label length with utf8 la…
  • Loading branch information
nickvergessen authored Feb 23, 2024
2 parents 103edfa + 88dd21a commit 9605d46
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 18 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/integration-mysql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:
- 4444:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 5
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10

steps:
- name: Set app env
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/phpunit-mysql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
- 4444:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 5
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10

steps:
- name: Set app env
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/psalm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
static-analysis:
runs-on: ubuntu-latest

name: Nextcloud
name: static-psalm-analysis
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
Expand Down
30 changes: 15 additions & 15 deletions lib/Notification/Notifier.php
Original file line number Diff line number Diff line change
Expand Up @@ -795,10 +795,10 @@ protected function parseChatMessage(INotification $notification, Room $room, Par
}

if ($notification->getObjectType() === 'reminder') {
$notification = $this->addActionButton($notification, $l->t('View message'));
$notification = $this->addActionButton($notification, 'message_view', $l->t('View message'));

$action = $notification->createAction();
$action->setLabel($l->t('Dismiss reminder'))
$action->setLabel('reminder_dismiss')
->setParsedLabel($l->t('Dismiss reminder'))
->setLink(
$this->urlGenerator->linkToOCSRouteAbsolute(
Expand All @@ -814,7 +814,7 @@ protected function parseChatMessage(INotification $notification, Room $room, Par

$notification->addParsedAction($action);
} else {
$notification = $this->addActionButton($notification, $l->t('View chat'), false);
$notification = $this->addActionButton($notification, 'chat_view', $l->t('View chat'), false);
}

if ($richSubjectParameters['user'] === null) {
Expand Down Expand Up @@ -897,9 +897,9 @@ protected function parseInvitation(INotification $notification, Room $room, IL10
if ($room->getType() === Room::TYPE_ONE_TO_ONE || $room->getType() === Room::TYPE_ONE_TO_ONE_FORMER) {
$subject = $l->t('{user} invited you to a private conversation');
if ($this->participantService->hasActiveSessionsInCall($room)) {
$notification = $this->addActionButton($notification, $l->t('Join call'));
$notification = $this->addActionButton($notification, 'call_view', $l->t('Join call'));
} else {
$notification = $this->addActionButton($notification, $l->t('View chat'), false);
$notification = $this->addActionButton($notification, 'chat_view', $l->t('View chat'), false);
}

$notification
Expand All @@ -923,9 +923,9 @@ protected function parseInvitation(INotification $notification, Room $room, IL10
} elseif (\in_array($room->getType(), [Room::TYPE_GROUP, Room::TYPE_PUBLIC], true)) {
$subject = $l->t('{user} invited you to a group conversation: {call}');
if ($this->participantService->hasActiveSessionsInCall($room)) {
$notification = $this->addActionButton($notification, $l->t('Join call'));
$notification = $this->addActionButton($notification, 'call_view', $l->t('Join call'));
} else {
$notification = $this->addActionButton($notification, $l->t('View chat'), false);
$notification = $this->addActionButton($notification, 'chat_view', $l->t('View chat'), false);
}

$notification
Expand Down Expand Up @@ -973,10 +973,10 @@ protected function parseCall(INotification $notification, Room $room, IL10N $l):
$userDisplayName = $this->userManager->getDisplayName($calleeId);
if ($userDisplayName !== null) {
if ($this->notificationManager->isPreparingPushNotification() || $this->participantService->hasActiveSessionsInCall($room)) {
$notification = $this->addActionButton($notification, $l->t('Answer call'));
$notification = $this->addActionButton($notification, 'call_view', $l->t('Answer call'));
$subject = $l->t('{user} would like to talk with you');
} else {
$notification = $this->addActionButton($notification, $l->t('Call back'));
$notification = $this->addActionButton($notification, 'call_view', $l->t('Call back'));
$subject = $l->t('You missed a call from {user}');
}

Expand All @@ -1003,10 +1003,10 @@ protected function parseCall(INotification $notification, Room $room, IL10N $l):
}
} elseif (\in_array($room->getType(), [Room::TYPE_GROUP, Room::TYPE_PUBLIC], true)) {
if ($this->notificationManager->isPreparingPushNotification() || $this->participantService->hasActiveSessionsInCall($room)) {
$notification = $this->addActionButton($notification, $l->t('Join call'));
$notification = $this->addActionButton($notification, 'call_view', $l->t('Join call'));
$subject = $l->t('A group call has started in {call}');
} else {
$notification = $this->addActionButton($notification, $l->t('View chat'), false);
$notification = $this->addActionButton($notification, 'chat_view', $l->t('View chat'), false);
$subject = $l->t('You missed a group call in {call}');
}

Expand Down Expand Up @@ -1061,9 +1061,9 @@ protected function parsePasswordRequest(INotification $notification, Room $room,

$callIsActive = $this->notificationManager->isPreparingPushNotification() || $this->participantService->hasActiveSessionsInCall($room);
if ($callIsActive) {
$notification = $this->addActionButton($notification, $l->t('Answer call'));
$notification = $this->addActionButton($notification, 'call_view', $l->t('Answer call'));
} else {
$notification = $this->addActionButton($notification, $l->t('Call back'));
$notification = $this->addActionButton($notification, 'call_view', $l->t('Call back'));
}

if ($share->getShareType() === IShare::TYPE_EMAIL) {
Expand Down Expand Up @@ -1100,9 +1100,9 @@ protected function parsePasswordRequest(INotification $notification, Room $room,
return $notification;
}

protected function addActionButton(INotification $notification, string $label, bool $primary = true): INotification {
protected function addActionButton(INotification $notification, string $labelKey, string $label, bool $primary = true): INotification {
$action = $notification->createAction();
$action->setLabel($label)
$action->setLabel($labelKey)
->setParsedLabel($label)
->setLink($notification->getLink(), IAction::TYPE_WEB)
->setPrimary($primary);
Expand Down

0 comments on commit 9605d46

Please sign in to comment.