Skip to content

feat(settings): Introduce conversation presets #25595

feat(settings): Introduce conversation presets

feat(settings): Introduce conversation presets #25595

Triggered via pull request December 15, 2025 16:02
Status Failure
Total duration 14m 11s
Artifacts

psalm.yml

on: pull_request
static-psalm-analysis
50s
static-psalm-analysis
Fit to window
Zoom out
Zoom in

Annotations

10 errors
InvalidReturnStatement: lib/Chat/ReactionManager.php#L168
lib/Chat/ReactionManager.php:168:10: InvalidReturnStatement: The inferred type 'array<string, non-empty-list<array{actorDisplayName: string, actorId: string, actorType: string, timestamp: int}>>' does not match the declared return type 'array<string, list<type-alias(OCA\Talk\ResponseDefinitions::TalkReaction)>>' for OCA\Talk\Chat\ReactionManager::retrieveReactionMessages (see https://psalm.dev/128)
InvalidReturnType: lib/Chat/ReactionManager.php#L146
lib/Chat/ReactionManager.php:146:13: InvalidReturnType: The declared return type 'array<string, list<type-alias(OCA\Talk\ResponseDefinitions::TalkReaction)>>' for OCA\Talk\Chat\ReactionManager::retrieveReactionMessages is incorrect, got 'array<string, non-empty-list<array{actorDisplayName: string, actorId: string, actorType: string, timestamp: int}>>' (see https://psalm.dev/011)
InvalidTypeImport: lib/Chat/ReactionManager.php#L29
lib/Chat/ReactionManager.php:29:23: InvalidTypeImport: Type alias TalkReaction imported from OCA\Talk\ResponseDefinitions is not defined on the source class (see https://psalm.dev/233)
InvalidReturnStatement: lib/Chat/ChatManager.php#L1286
lib/Chat/ChatManager.php:1286:10: InvalidReturnStatement: The inferred type 'list<array{details?: string, id: 'all', label: string, mentionId: 'all', source: 'calls'}|type-alias(OCA\Talk\ResponseDefinitions::TalkChatMentionSuggestion)>' does not match the declared return type 'list<type-alias(OCA\Talk\ResponseDefinitions::TalkChatMentionSuggestion)>' for OCA\Talk\Chat\ChatManager::addConversationNotify (see https://psalm.dev/128)
InvalidReturnType: lib/Chat/ChatManager.php#L1253
lib/Chat/ChatManager.php:1253:13: InvalidReturnType: The declared return type 'list<type-alias(OCA\Talk\ResponseDefinitions::TalkChatMentionSuggestion)>' for OCA\Talk\Chat\ChatManager::addConversationNotify is incorrect, got 'list<array{details?: string, id: 'all', label: string, mentionId: 'all', source: 'calls'}|type-alias(OCA\Talk\ResponseDefinitions::TalkChatMentionSuggestion)>' (see https://psalm.dev/011)
InvalidTypeImport: lib/Chat/ChatManager.php#L69
lib/Chat/ChatManager.php:69:23: InvalidTypeImport: Type alias TalkChatMentionSuggestion imported from OCA\Talk\ResponseDefinitions is not defined on the source class (see https://psalm.dev/233)
InvalidReturnStatement: lib/Capabilities.php#L373
lib/Capabilities.php:373:10: InvalidReturnStatement: The inferred type 'array{spreed: array{'config-local': array{attachments: list{'allowed', 'folder'}, call: list{'predefined-backgrounds', 'predefined-backgrounds-v2', 'can-upload-background', 'start-without-media', 'blur-virtual-background'}, chat: list{'read-privacy', 'has-translation-providers', 'has-translation-task-providers', 'typing-privacy', 'summary-threshold', 'style'}, conversations: list{'can-create', 'list-style', 'description-length'}, experiments: list{'enabled'}, federation: list{'enabled', 'incoming-enabled', 'outgoing-enabled', 'only-trusted-servers'}, previews: list{'max-gif-size'}, signaling: list{'session-ping-limit', 'hello-v2-token-key'}}, 'features-local': list{'favorites', 'chat-read-status', 'listable-rooms', 'phonebook-search', 'temp-user-avatar-api', 'unified-search', 'avatar', 'remind-me-later', 'note-to-self', 'archived-conversations-v2', 'chat-summary-api', 'call-notification-state-api', 'schedule-meeting', 'conversation-creation-all', 'important-conversations', 'sip-direct-dialin', 'dashboard-event-rooms', 'mutual-calendar-events', 'upcoming-reminders', 'sensitive-conversations', 'scheduled-messages'}, config: array{attachments: array{allowed: bool, folder?: string}, call: array{'blur-virtual-background': bool, 'breakout-rooms': bool, 'can-enable-sip': bool, 'can-upload-background': bool, 'end-to-end-encryption': bool, 'live-transcription': bool, 'max-duration': int, 'predefined-backgrounds': list<string>, 'predefined-backgrounds-v2': list<string>, 'recording-consent': 0|1|2, 'sip-dialout-enabled': bool, 'sip-enabled': bool, 'start-without-media': bool, 'supported-reactions': list{'❀️', 'πŸŽ‰', 'πŸ‘', 'πŸ‘‹', 'πŸ‘', 'πŸ‘Ž', 'πŸ”₯', 'πŸ˜‚', '🀩', 'πŸ€”', '😲', 'πŸ˜₯'}, enabled: bool, recording: bool}, chat: array{'has-translation-providers': bool, 'has-translation-task-providers': bool, 'max-length': 32000, 'read-privacy': 0|1, 'summary-threshold': int<1, max>, 'typing-privacy': 0|1, style: 'split'|'unified'}, conversations: array{'can-create': bool, 'description-length': 2000, 'force-passwords': bool, 'list-style': 'compact'|'two-lines', 'retention-event': int<0, max>, 'retention-instant-meetings': int<0, max>, 'retention-phone': int<0, max>}, experiments: array{enabled: int<0, max>}, federation: array{'incoming-enabled': bool, 'only-trusted-servers': bool, 'outgoing-enabled': bool, enabled: bool}, previews: array{'max-gif-size': int}, signaling: array{'hello-v2-token-key'?: non-falsy-string, 'session-ping-limit': int<0, max>}}, features: list{0: 'archived-conversations-v2'|'audio'|'avatar'|'ban-v1'|'bots-v1'|'breakout-rooms-v1'|'call-end-to-end-encryption'|'call-notification-state-api'|'chat-get-context'|'chat-keep-notifications'|'chat-permission'|'chat-read-last'|'chat-read-marker'|'chat-read-status'|'chat-reference-id'|'chat-replies'|'chat-summary-api'|'chat-unread'|'chat-v2'|'circles-support'|'clear-history'|'conversation-call-flags'|'conversation-creation-all'|'conversation-creation-password'|'conversation-permissions'|'conversation-v4'|'dashboard-event-rooms'|'delete-messages'|'delete-messages-unlimited'|'direct-mention-flag'|'download-call-participants'|'edit-draft-poll'|'edit-messages'|'edit-messages-note-to-self'|'email-csv-import'|'empty-group-room'|'favorites'|'federated-shared-items'|'federation-v1'|'federation-v2'|'force-mute'|'geo-location-sharing'|'guest-display-names'|'guest-signaling'|'important-conversations'|'in-call-flags'|'invite-groups-and-mails'|'last-room-activity'|'listable-rooms'|'locked-one-to-one-rooms'|'markdown-messages'|'media-caption'|'mention-flag'|'mention-permissions'|'message-expiration'|'multi-room-users'|'mutual-calendar-events'|'no-ping'|'note-to-self'|'notification-calls'|'notification-levels'|'phonebook-search'|'pinned-messages'|'publishing-permissions'|'raise-hand'|'reactions'|'read-only-rooms'|'recording-consent'|'recording-v1'|'remind-me-later'|'rich-object-delete'|'rich-object-list-media'|'rich-object-sharing'|'room-description'|'schedule-meeting'|'scheduled-messages'|'send-call-notif
InvalidReturnType: lib/Capabilities.php#L224
lib/Capabilities.php:224:13: InvalidReturnType: The declared return type 'array{spreed?: type-alias(OCA\Talk\ResponseDefinitions::TalkCapabilities)}' for OCA\Talk\Capabilities::getCapabilities is incorrect, got 'array{spreed?: array{'config-local': array{attachments: list{'allowed', 'folder'}, call: list{'predefined-backgrounds', 'predefined-backgrounds-v2', 'can-upload-background', 'start-without-media', 'blur-virtual-background'}, chat: list{'read-privacy', 'has-translation-providers', 'has-translation-task-providers', 'typing-privacy', 'summary-threshold', 'style'}, conversations: list{'can-create', 'list-style', 'description-length'}, experiments: list{'enabled'}, federation: list{'enabled', 'incoming-enabled', 'outgoing-enabled', 'only-trusted-servers'}, previews: list{'max-gif-size'}, signaling: list{'session-ping-limit', 'hello-v2-token-key'}}, 'features-local': list{'favorites', 'chat-read-status', 'listable-rooms', 'phonebook-search', 'temp-user-avatar-api', 'unified-search', 'avatar', 'remind-me-later', 'note-to-self', 'archived-conversations-v2', 'chat-summary-api', 'call-notification-state-api', 'schedule-meeting', 'conversation-creation-all', 'important-conversations', 'sip-direct-dialin', 'dashboard-event-rooms', 'mutual-calendar-events', 'upcoming-reminders', 'sensitive-conversations', 'scheduled-messages'}, config: array{attachments: array{allowed: bool, folder?: string}, call: array{'blur-virtual-background': bool, 'breakout-rooms': bool, 'can-enable-sip': bool, 'can-upload-background': bool, 'end-to-end-encryption': bool, 'live-transcription': bool, 'max-duration': int, 'predefined-backgrounds': list<string>, 'predefined-backgrounds-v2': list<string>, 'recording-consent': 0|1|2, 'sip-dialout-enabled': bool, 'sip-enabled': bool, 'start-without-media': bool, 'supported-reactions': list{'❀️', 'πŸŽ‰', 'πŸ‘', 'πŸ‘‹', 'πŸ‘', 'πŸ‘Ž', 'πŸ”₯', 'πŸ˜‚', '🀩', 'πŸ€”', '😲', 'πŸ˜₯'}, enabled: bool, recording: bool}, chat: array{'has-translation-providers': bool, 'has-translation-task-providers': bool, 'max-length': 32000, 'read-privacy': 0|1, 'summary-threshold': int<1, max>, 'typing-privacy': 0|1, style: 'split'|'unified'}, conversations: array{'can-create': bool, 'description-length': 2000, 'force-passwords': bool, 'list-style': 'compact'|'two-lines', 'retention-event': int<0, max>, 'retention-instant-meetings': int<0, max>, 'retention-phone': int<0, max>}, experiments: array{enabled: int<0, max>}, federation: array{'incoming-enabled': bool, 'only-trusted-servers': bool, 'outgoing-enabled': bool, enabled: bool}, previews: array{'max-gif-size': int}, signaling: array{'hello-v2-token-key'?: non-falsy-string, 'session-ping-limit': int<0, max>}}, features: list{0: 'archived-conversations-v2'|'audio'|'avatar'|'ban-v1'|'bots-v1'|'breakout-rooms-v1'|'call-end-to-end-encryption'|'call-notification-state-api'|'chat-get-context'|'chat-keep-notifications'|'chat-permission'|'chat-read-last'|'chat-read-marker'|'chat-read-status'|'chat-reference-id'|'chat-replies'|'chat-summary-api'|'chat-unread'|'chat-v2'|'circles-support'|'clear-history'|'conversation-call-flags'|'conversation-creation-all'|'conversation-creation-password'|'conversation-permissions'|'conversation-v4'|'dashboard-event-rooms'|'delete-messages'|'delete-messages-unlimited'|'direct-mention-flag'|'download-call-participants'|'edit-draft-poll'|'edit-messages'|'edit-messages-note-to-self'|'email-csv-import'|'empty-group-room'|'favorites'|'federated-shared-items'|'federation-v1'|'federation-v2'|'force-mute'|'geo-location-sharing'|'guest-display-names'|'guest-signaling'|'important-conversations'|'in-call-flags'|'invite-groups-and-mails'|'last-room-activity'|'listable-rooms'|'locked-one-to-one-rooms'|'markdown-messages'|'media-caption'|'mention-flag'|'mention-permissions'|'message-expiration'|'multi-room-users'|'mutual-calendar-events'|'no-ping'|'note-to-self'|'notification-calls'|'notification-levels'|'phonebook-search'|'pinned-messages'|'publishing-permissions'|'raise-hand'|'reactions'|'read-only-rooms'|'recording-consent'|'recording-v1'|'remind-me-later'|'r
ImplementedReturnTypeMismatch: lib/Capabilities.php#L224
lib/Capabilities.php:224:13: ImplementedReturnTypeMismatch: The inherited return type 'array<string, array<string, mixed>>' for OCP\Capabilities\ICapability::getCapabilities is different to the implemented return type for OCA\Talk\Capabilities::getcapabilities 'array{spreed?: type-alias(OCA\Talk\ResponseDefinitions::TalkCapabilities)}' (see https://psalm.dev/123)
InvalidTypeImport: lib/Capabilities.php#L29
lib/Capabilities.php:29:23: InvalidTypeImport: Type alias TalkCapabilities imported from OCA\Talk\ResponseDefinitions is not defined on the source class (see https://psalm.dev/233)