Pinned messages UI fixes

This commit is contained in:
Jamie
2026-01-13 12:01:07 -08:00
committed by GitHub
parent a27a87a934
commit 560224f516
14 changed files with 133 additions and 187 deletions

View File

@@ -16,6 +16,7 @@ import { pinnedMessagesCleanupService } from '../services/expiring/pinnedMessage
import { drop } from '../util/drop.std.js';
import type { AppendPinnedMessageResult } from '../sql/server/pinnedMessages.std.js';
import * as Errors from '../types/errors.std.js';
import { isGiftBadge } from '../state/selectors/message.preload.js';
const { AccessRequired } = Proto.AccessControl;
const { Role } = Proto.Member;
@@ -209,6 +210,8 @@ function validatePinnedMessageTarget(
target: MessageModifierTarget,
sourceAci: AciString
): { error: string } | null {
const message = target.targetMessage.attributes;
if (!isValidSenderAciForConversation(target.targetConversation, sourceAci)) {
return { error: 'Sender cannot send to target conversation' };
}
@@ -217,5 +220,9 @@ function validatePinnedMessageTarget(
return { error: 'Sender does not have access to edit group attributes' };
}
if (isGiftBadge(message)) {
return { error: 'Cannot pin gift badge messages' };
}
return null;
}