Skip to content

Commit 8eb5adf

Browse files
authored
Merge pull request #2117 from nextcloud/bugfix/noid/activity
2 parents c4672f0 + 54536ef commit 8eb5adf

File tree

4 files changed

+23
-3
lines changed

4 files changed

+23
-3
lines changed

lib/Activity/ActivityManager.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,9 +240,25 @@ public function getActivityFormat($subjectIdentifier, $subjectParams = [], $ownA
240240
}
241241

242242
public function triggerEvent($objectType, $entity, $subject, $additionalParams = [], $author = null) {
243+
if ($author === null) {
244+
$author = $this->userId;
245+
}
243246
try {
244247
$event = $this->createEvent($objectType, $entity, $subject, $additionalParams, $author);
245248
if ($event !== null) {
249+
$json = json_encode($event->getSubjectParameters());
250+
if (mb_strlen($json) > 4000) {
251+
$params = json_decode(json_encode($event->getSubjectParameters()), true);
252+
253+
$newContent = $params['after'];
254+
unset($params['before'], $params['after'], $params['card']['description']);
255+
256+
$params['after'] = mb_substr($newContent, 0, 2000);
257+
if (mb_strlen($newContent) > 2000) {
258+
$params['after'] .= '...';
259+
}
260+
$event->setSubject($event->getSubject(), $params);
261+
}
246262
$this->sendToUsers($event);
247263
}
248264
} catch (\Exception $e) {

lib/Activity/DeckProvider.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ public function parse($language, IEvent $event, IEvent $previousEvent = null) {
9696
unset($subjectParams['author']);
9797
}
9898
$user = $this->userManager->get($author);
99+
$params = [];
99100
if ($user !== null) {
100101
$params = [
101102
'user' => [
@@ -328,8 +329,8 @@ private function parseParamForChanges($subjectParams, $params, $event) {
328329
if (array_key_exists('diff', $subjectParams) && $subjectParams['diff']) {
329330
$diff = new Diff();
330331
// Don't add diff as message since we are limited to 255 chars here
331-
//$event->setMessage($subjectParams['after']);
332-
$event->setParsedMessage('<pre class="visualdiff">' . $diff->render($subjectParams['before'], $subjectParams['after']) . '</pre>');
332+
$event->setParsedMessage($subjectParams['after']);
333+
//$event->setParsedMessage('<pre class="visualdiff">' . $diff->render($subjectParams['before'], $subjectParams['after']) . '</pre>');
333334
return $params;
334335
}
335336
if (array_key_exists('before', $subjectParams)) {

lib/Service/CardService.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -415,8 +415,11 @@ public function reorder($id, $stackId, $order) {
415415
if ($card->getArchived()) {
416416
throw new StatusException('Operation not allowed. This card is archived.');
417417
}
418+
$changes = new ChangeSet($card);
418419
$card->setStackId($stackId);
419420
$this->cardMapper->update($card);
421+
$changes->setAfter($card);
422+
$this->activityManager->triggerUpdateEvents(ActivityManager::DECK_OBJECT_CARD, $changes, ActivityManager::SUBJECT_CARD_UPDATE);
420423

421424
$cards = $this->cardMapper->findAll($stackId);
422425
$result = [];

tests/unit/Activity/DeckProviderTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ public function testParseObjectTypeCardWithDiff() {
287287
$this->assertEquals('test string Card', $event->getParsedSubject());
288288
$this->assertEquals('test string {card}', $event->getRichSubject());
289289
$this->assertEquals('BCD', $event->getMessage());
290-
$this->assertEquals('<pre class="visualdiff"><del>A</del>BC<ins>D</ins></pre>', $event->getParsedMessage());
290+
$this->assertEquals('BCD', $event->getParsedMessage());
291291
}
292292

293293
public function testParseParamForBoard() {

0 commit comments

Comments
 (0)