fix(threads): Correctly build parameter list

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2025-09-17 12:29:13 +02:00
parent b9340f5d6d
commit 63e7441c26
No known key found for this signature in database
GPG key ID: F72FA5B49FFA96B0
2 changed files with 15 additions and 6 deletions

View file

@ -603,9 +603,14 @@ class Notifier implements INotifier {
];
// Set the link to the specific message
$notification->setLink($this->url->linkToRouteAbsolute('spreed.Page.showCall', ['token' => $room->getToken()])
. (isset($messageParameters['threadId']) ? '?threadId=' . $messageParameters['threadId'] : '')
. '#message_' . $message->getMessageId());
$urlParams = [
'token' => $room->getToken(),
'_fragment' => 'message_' . $message->getMessageId(),
];
if (isset($messageParameters['threadId'])) {
$urlParams['threadId'] = $messageParameters['threadId'];
}
$notification->setLink($this->url->linkToRouteAbsolute('spreed.Page.showCall', $urlParams));
$now = $this->timeFactory->getDateTime();
$expireDate = $message->getExpirationDateTime();

View file

@ -285,12 +285,18 @@ class MessageSearch implements IProvider, IFilteringProvider {
}
}
$urlParams = [
'token' => $room->getToken(),
'_fragment' => 'message_' . $id,
];
$threadId = (int)$comment->getTopmostParentId() ?: (int)$comment->getId();
try {
$thread = $this->threadService->findByThreadId($room->getId(), $threadId);
$urlParams['threadId'] = $thread->getId();
} catch (DoesNotExistException) {
$thread = null;
}
$entry = new SearchResultEntry(
$iconUrl,
str_replace(
@ -299,9 +305,7 @@ class MessageSearch implements IProvider, IFilteringProvider {
$subline
),
$messageStr,
$this->url->linkToRouteAbsolute('spreed.Page.showCall', ['token' => $room->getToken()])
. ($thread !== null ? '?threadId=' . $thread->getId() : '')
. '#message_' . $comment->getId(),
$this->url->linkToRouteAbsolute('spreed.Page.showCall', $urlParams),
'icon-talk', // $iconClass,
true
);