Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/constants.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ title: Constants
* `media` - Shared files with mimetype starting with image or video
* `other` - Shared objects not falling into any other category
* `voice` - Voice messages
* `recording` - Audio and video recording file of a call

## Poll

Expand Down
10 changes: 8 additions & 2 deletions lib/Chat/Parser/SystemMessage.php
Original file line number Diff line number Diff line change
Expand Up @@ -411,8 +411,14 @@ public function parseMessage(Message $chatMessage): void {
$parsedParameters['file'] = $this->getFileFromShare($participant, $parameters['share']);
$parsedMessage = '{file}';
$metaData = $parameters['metaData'] ?? [];
if (isset($metaData['messageType']) && $metaData['messageType'] === 'voice-message') {
$chatMessage->setMessageType('voice-message');
if (isset($metaData['messageType'])) {
if ($metaData['messageType'] === 'voice-message') {
$chatMessage->setMessageType('voice-message');
} elseif ($metaData['messageType'] === 'record-audio') {
$chatMessage->setMessageType('record-audio');
} elseif ($metaData['messageType'] === 'record-video') {
$chatMessage->setMessageType('record-video');
}
} else {
$chatMessage->setMessageType(ChatManager::VERB_MESSAGE);
}
Expand Down
1 change: 1 addition & 0 deletions lib/Controller/ChatController.php
Original file line number Diff line number Diff line change
Expand Up @@ -819,6 +819,7 @@ public function getObjectsSharedInRoomOverview(int $limit = 7): DataResponse {
Attachment::TYPE_MEDIA,
Attachment::TYPE_OTHER,
Attachment::TYPE_POLL,
Attachment::TYPE_RECORDING,
Attachment::TYPE_VOICE,
];

Expand Down
1 change: 1 addition & 0 deletions lib/Model/Attachment.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ class Attachment extends Entity {
public const TYPE_MEDIA = 'media';
public const TYPE_OTHER = 'other';
public const TYPE_POLL = 'poll';
public const TYPE_RECORDING = 'recording';
public const TYPE_VOICE = 'voice';

/** @var int */
Expand Down
6 changes: 5 additions & 1 deletion lib/Service/AttachmentService.php
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,11 @@ public function createAttachmentEntry(Room $room, IComment $comment, string $mes
$messageType = $parameters['metaData']['messageType'] ?? '';
$mimetype = $parameters['metaData']['mimeType'] ?? '';

if ($messageType === 'voice-message') {
if ($messageType === 'record-audio') {
$attachment->setObjectType(Attachment::TYPE_RECORDING);
} elseif ($messageType === 'record-video') {
$attachment->setObjectType(Attachment::TYPE_RECORDING);
} elseif ($messageType === 'voice-message') {
$attachment->setObjectType(Attachment::TYPE_VOICE);
} elseif (str_starts_with($mimetype, 'audio/')) {
$attachment->setObjectType(Attachment::TYPE_AUDIO);
Expand Down
2 changes: 2 additions & 0 deletions src/components/RightSidebar/SharedItems/SharedItemsTab.vue
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,8 @@ export default {
return t('spreed', 'Show all locations')
case SHARED_ITEM.TYPES.AUDIO:
return t('spreed', 'Show all audio')
case SHARED_ITEM.TYPES.RECORDING:
return t('spreed', 'Show all call recordings')
case SHARED_ITEM.TYPES.OTHER:
default:
return t('spreed', 'Show all other')
Expand Down
1 change: 1 addition & 0 deletions src/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,7 @@ export const SHARED_ITEM = {
MEDIA: 'media',
OTHER: 'other',
POLL: 'poll',
RECORDING: 'recording',
VOICE: 'voice',
},
}
Expand Down
4 changes: 3 additions & 1 deletion src/mixins/sharedItems.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ const sharedItems = {
computed: {
// Defines the order of the sections
sharedItemsOrder() {
return [SHARED_ITEM.TYPES.MEDIA, SHARED_ITEM.TYPES.FILE, SHARED_ITEM.TYPES.POLL, SHARED_ITEM.TYPES.VOICE, SHARED_ITEM.TYPES.AUDIO, SHARED_ITEM.TYPES.LOCATION, SHARED_ITEM.TYPES.DECK_CARD, SHARED_ITEM.TYPES.OTHER]
return [SHARED_ITEM.TYPES.MEDIA, SHARED_ITEM.TYPES.FILE, SHARED_ITEM.TYPES.RECORDING, SHARED_ITEM.TYPES.POLL, SHARED_ITEM.TYPES.VOICE, SHARED_ITEM.TYPES.AUDIO, SHARED_ITEM.TYPES.LOCATION, SHARED_ITEM.TYPES.DECK_CARD, SHARED_ITEM.TYPES.OTHER]
},
},

Expand All @@ -45,6 +45,8 @@ const sharedItems = {
return t('spreed', 'Voice messages')
case SHARED_ITEM.TYPES.LOCATION:
return t('spreed', 'Locations')
case SHARED_ITEM.TYPES.RECORDING:
return t('spreed', 'Call recordings')
case SHARED_ITEM.TYPES.AUDIO:
return t('spreed', 'Audio')
default:
Expand Down
5 changes: 3 additions & 2 deletions src/store/sharedItemsStore.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,9 @@ const getItemTypeFromMessage = function(message) {
} else {
const messageType = message.messageType || ''
const mimetype = message.messageParameters.file?.mimetype || ''

if (messageType === 'voice-message') {
if (messageType === 'record-audio' || messageType === 'record-video') {
return SHARED_ITEM.TYPES.RECORDING
} else if (messageType === 'voice-message') {
return SHARED_ITEM.TYPES.VOICE
} else if (mimetype.startsWith('audio/')) {
return SHARED_ITEM.TYPES.AUDIO
Expand Down