diff options
author | Joas Schilling <coding@schilljs.com> | 2023-07-24 21:37:34 +0200 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2023-10-16 15:46:11 +0200 |
commit | fa58ad76fc941d17b1eda51e071eae4a0470cc5b (patch) | |
tree | 34347d498b12d0dc714080861eba2db05c2b0c34 | |
parent | 2df805268e47a1cdee4ca5c21e488a257c554ccd (diff) |
feat(attachments): Add option for captions
Signed-off-by: Joas Schilling <coding@schilljs.com>
-rw-r--r-- | lib/Chat/Parser/SystemMessage.php | 4 | ||||
-rw-r--r-- | lib/Chat/SystemMessage/Listener.php | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/lib/Chat/Parser/SystemMessage.php b/lib/Chat/Parser/SystemMessage.php index c9f91c17e..be4aaf4b5 100644 --- a/lib/Chat/Parser/SystemMessage.php +++ b/lib/Chat/Parser/SystemMessage.php @@ -409,6 +409,10 @@ class SystemMessage { } else { $chatMessage->setMessageType(ChatManager::VERB_MESSAGE); } + + if (isset($metaData['caption']) && $metaData['caption'] !== '') { + $parsedMessage = $metaData['caption']; + } } catch (\Exception $e) { $parsedMessage = $this->l->t('{actor} shared a file which is no longer available'); if ($currentUserIsActor) { diff --git a/lib/Chat/SystemMessage/Listener.php b/lib/Chat/SystemMessage/Listener.php index fa0542ccf..806e6c707 100644 --- a/lib/Chat/SystemMessage/Listener.php +++ b/lib/Chat/SystemMessage/Listener.php @@ -373,6 +373,10 @@ class Listener implements IEventListener { $metaData = json_decode($metaData, true); $metaData = is_array($metaData) ? $metaData : []; + if (!empty($metaData['noMessage'])) { + return; + } + if (isset($metaData['messageType']) && $metaData['messageType'] === 'voice-message') { if ($share->getNode()->getMimeType() !== 'audio/mpeg' && $share->getNode()->getMimeType() !== 'audio/wav') { @@ -381,6 +385,8 @@ class Listener implements IEventListener { } $metaData['mimeType'] = $share->getNode()->getMimeType(); + $metaData['caption'] = $metaData['caption'] ?? ''; + $listener->sendSystemMessage($room, 'file_shared', ['share' => $share->getId(), 'metaData' => $metaData]); } |