Skip to content

Commit 568c879

Browse files
ggazzoclaude
andcommitted
fix(core-typings): add content field to MessageAttachmentDefault
Pin attachments include encrypted content from e2e messages. Without this field, additionalProperties: false rejects the attachment. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 8637608 commit 568c879

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

apps/meteor/app/message-pin/server/pinMessage.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ export async function pinMessage(message: IMessage, userId: string, pinnedAt?: D
119119
text: originalMessage.msg,
120120
author_name: originalMessage.u.username,
121121
author_icon: getUserAvatarURL(originalMessage.u.username),
122-
content: originalMessage.content,
122+
...(originalMessage.content && { content: originalMessage.content }),
123123
ts: originalMessage.ts,
124124
attachments: attachments.map(recursiveRemove),
125125
},
@@ -136,7 +136,7 @@ export const unpinMessage = async (userId: string, message: IMessage) => {
136136
}
137137

138138
let originalMessage = await Messages.findOneById(message._id);
139-
if (originalMessage == null || originalMessage._id == null) {
139+
if (originalMessage?._id == null) {
140140
throw new Meteor.Error('error-invalid-message', 'Message you are unpinning was not found', {
141141
method: 'unpinMessage',
142142
action: 'Message_pinning',

packages/core-typings/src/IMessage/MessageAttachment/MessageAttachmentDefault.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,7 @@ export type MessageAttachmentDefault = {
3535
color?: string;
3636

3737
attachments?: MessageAttachment[];
38+
39+
/** Encrypted content from e2e messages, preserved in pin attachments */
40+
content?: object;
3841
} & MessageAttachmentBase;

0 commit comments

Comments
 (0)