Fix self-mention in groups

This commit is contained in:
Fedor Indutny 2024-12-20 10:33:01 -08:00 committed by GitHub
parent 6f1d767c72
commit 4312d03db0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 44 additions and 19 deletions

View file

@ -198,6 +198,7 @@ export type Props = Pick<
| 'getPreferredBadge'
| 'onEditorStateChange'
| 'onTextTooLong'
| 'ourConversationId'
| 'quotedMessageId'
| 'sendCounter'
| 'sortedGroupMembers'
@ -280,6 +281,7 @@ export const CompositionArea = memo(function CompositionArea({
isFormattingEnabled,
onEditorStateChange,
onTextTooLong,
ourConversationId,
sendCounter,
sortedGroupMembers,
// EmojiButton
@ -947,6 +949,7 @@ export const CompositionArea = memo(function CompositionArea({
}}
onPickEmoji={onPickEmoji}
onTextTooLong={onTextTooLong}
ourConversationId={ourConversationId}
platform={platform}
recentStickers={recentStickers}
skinTone={skinTone}
@ -1042,6 +1045,7 @@ export const CompositionArea = memo(function CompositionArea({
onPickEmoji={onPickEmoji}
onSubmit={handleSubmit}
onTextTooLong={onTextTooLong}
ourConversationId={ourConversationId}
platform={platform}
quotedMessageId={quotedMessageId}
sendCounter={sendCounter}

View file

@ -43,6 +43,7 @@ const useProps = (overrideProps: Partial<Props> = {}): Props => {
onPickEmoji: action('onPickEmoji'),
onSubmit: action('onSubmit'),
onTextTooLong: action('onTextTooLong'),
ourConversationId: 'me',
platform: 'darwin',
quotedMessageId: null,
sendCounter: 0,

View file

@ -139,6 +139,7 @@ export type Props = Readonly<{
timestamp: number
): unknown;
onScroll?: (ev: React.UIEvent<HTMLElement>) => void;
ourConversationId: string | undefined;
platform: string;
quotedMessageId: string | null;
shouldHidePopovers: boolean | null;
@ -173,6 +174,7 @@ export function CompositionInput(props: Props): React.ReactElement {
onPickEmoji,
onScroll,
onSubmit,
ourConversationId,
placeholder,
platform,
quotedMessageId,
@ -781,11 +783,9 @@ export function CompositionInput(props: Props): React.ReactElement {
},
mentionCompletion: {
getPreferredBadge,
me: sortedGroupMembers
? sortedGroupMembers.find(foo => foo.isMe)
: undefined,
memberRepositoryRef,
setMentionPickerElement: setMentionCompletionElement,
ourConversationId,
i18n,
theme,
},

View file

@ -39,6 +39,7 @@ export type CompositionTextAreaProps = {
timestamp: number
) => void;
onTextTooLong: () => void;
ourConversationId: string | undefined;
platform: string;
getPreferredBadge: PreferredBadgeSelectorType;
draftText: string;
@ -66,6 +67,7 @@ export function CompositionTextArea({
onSetSkinTone,
onSubmit,
onTextTooLong,
ourConversationId,
placeholder,
platform,
recentEmojis,
@ -147,6 +149,7 @@ export function CompositionTextArea({
onScroll={onScroll}
onSubmit={onSubmit}
onTextTooLong={onTextTooLong}
ourConversationId={ourConversationId}
placeholder={placeholder}
platform={platform}
quotedMessageId={null}

View file

@ -67,6 +67,7 @@ const useProps = (overrideProps: Partial<PropsType> = {}): PropsType => ({
onPickEmoji={action('onPickEmoji')}
onSetSkinTone={action('onSetSkinTone')}
onTextTooLong={action('onTextTooLong')}
ourConversationId="me"
platform="darwin"
skinTone={0}
/>

View file

@ -89,6 +89,7 @@ export type PropsType = {
| 'isFormattingEnabled'
| 'onPickEmoji'
| 'onTextTooLong'
| 'ourConversationId'
| 'platform'
| 'sortedGroupMembers'
> &
@ -157,6 +158,7 @@ export function MediaEditor({
isFormattingEnabled,
onPickEmoji,
onTextTooLong,
ourConversationId,
platform,
sortedGroupMembers,
@ -1315,6 +1317,7 @@ export function MediaEditor({
onPickEmoji={onPickEmoji}
onSubmit={noop}
onTextTooLong={onTextTooLong}
ourConversationId={ourConversationId}
placeholder={i18n('icu:MediaEditor__input-placeholder')}
platform={platform}
quotedMessageId={null}

View file

@ -274,6 +274,7 @@ export function StoryCreator({
}}
onPickEmoji={onPickEmoji}
onTextTooLong={onTextTooLong}
ourConversationId={ourConversationId}
platform={platform}
recentStickers={recentStickers}
skinTone={skinTone}

View file

@ -103,6 +103,7 @@ export type PropsType = {
) => unknown;
onUseEmoji: (_: EmojiPickDataType) => unknown;
onMediaPlaybackStart: () => void;
ourConversationId: string | undefined;
platform: string;
preferredReactionEmoji: ReadonlyArray<string>;
queueStoryDownload: (storyId: string) => unknown;
@ -159,6 +160,7 @@ export function StoryViewer({
onTextTooLong,
onUseEmoji,
onMediaPlaybackStart,
ourConversationId,
platform,
preferredReactionEmoji,
queueStoryDownload,
@ -978,6 +980,7 @@ export function StoryViewer({
onSetSkinTone={onSetSkinTone}
onTextTooLong={onTextTooLong}
onUseEmoji={onUseEmoji}
ourConversationId={ourConversationId}
preferredReactionEmoji={preferredReactionEmoji}
recentEmojis={recentEmojis}
renderEmojiPicker={renderEmojiPicker}

View file

@ -107,6 +107,7 @@ export type PropsType = {
onSetSkinTone: (tone: number) => unknown;
onTextTooLong: () => unknown;
onUseEmoji: (_: EmojiPickDataType) => unknown;
ourConversationId: string | undefined;
preferredReactionEmoji: ReadonlyArray<string>;
recentEmojis?: ReadonlyArray<string>;
renderEmojiPicker: (props: RenderEmojiPickerProps) => JSX.Element;
@ -138,6 +139,7 @@ export function StoryViewsNRepliesModal({
onSetSkinTone,
onTextTooLong,
onUseEmoji,
ourConversationId,
preferredReactionEmoji,
recentEmojis,
renderEmojiPicker,
@ -254,6 +256,7 @@ export function StoryViewsNRepliesModal({
onReply(...args);
}}
onTextTooLong={onTextTooLong}
ourConversationId={ourConversationId}
placeholder={
group
? i18n('icu:StoryViewer__reply-group')