From eadef452904e33377f518dd411b9c719480369db Mon Sep 17 00:00:00 2001 From: Josh Perez <60019601+josh-signal@users.noreply.github.com> Date: Thu, 25 Aug 2022 12:10:56 -0400 Subject: [PATCH] Fix story group replies rendering --- ts/components/StoryViewer.tsx | 3 +-- ts/components/StoryViewsNRepliesModal.stories.tsx | 4 ---- ts/components/StoryViewsNRepliesModal.tsx | 15 +++++++++------ ts/components/conversation/Message.tsx | 3 ++- ts/state/selectors/stories.ts | 6 +++++- ts/util/sendStoryMessage.ts | 1 + 6 files changed, 18 insertions(+), 14 deletions(-) diff --git a/ts/components/StoryViewer.tsx b/ts/components/StoryViewer.tsx index 182c979a9..8dfe6e0c3 100644 --- a/ts/components/StoryViewer.tsx +++ b/ts/components/StoryViewer.tsx @@ -675,7 +675,7 @@ export const StoryViewer = ({ components={[{viewCount}]} /> ))} - {viewCount > 0 && replyCount > 0 && ' '} + {(sendState || viewCount > 0) && replyCount > 0 && ' '} {replyCount > 0 && (replyCount === 1 ? ( setHasStoryViewsNRepliesModal(false)} onReact={emoji => { onReactToStory(emoji, story); diff --git a/ts/components/StoryViewsNRepliesModal.stories.tsx b/ts/components/StoryViewsNRepliesModal.stories.tsx index aab682500..fdf568ad2 100644 --- a/ts/components/StoryViewsNRepliesModal.stories.tsx +++ b/ts/components/StoryViewsNRepliesModal.stories.tsx @@ -31,9 +31,6 @@ export default { i18n: { defaultValue: i18n, }, - isMyStory: { - defaultValue: false, - }, onClose: { action: true }, onSetSkinTone: { action: true }, onReact: { action: true }, @@ -168,7 +165,6 @@ CanReply.storyName = 'Can reply'; export const ViewsOnly = Template.bind({}); ViewsOnly.args = { - isMyStory: true, views: getViewsAndReplies().views, }; ViewsOnly.storyName = 'Views only'; diff --git a/ts/components/StoryViewsNRepliesModal.tsx b/ts/components/StoryViewsNRepliesModal.tsx index 4bf7a2157..b2d7fc2c1 100644 --- a/ts/components/StoryViewsNRepliesModal.tsx +++ b/ts/components/StoryViewsNRepliesModal.tsx @@ -89,7 +89,6 @@ export type PropsType = { getPreferredBadge: PreferredBadgeSelectorType; i18n: LocalizerType; isGroupStory?: boolean; - isMyStory?: boolean; onClose: () => unknown; onReact: (emoji: string) => unknown; onReply: ( @@ -116,7 +115,6 @@ export const StoryViewsNRepliesModal = ({ getPreferredBadge, i18n, isGroupStory, - isMyStory, onClose, onReact, onReply, @@ -173,7 +171,7 @@ export const StoryViewsNRepliesModal = ({ let composerElement: JSX.Element | undefined; - if (!isMyStory && canReply) { + if (canReply) { composerElement = ( <> {!isGroupStory && ( @@ -293,7 +291,9 @@ export const StoryViewsNRepliesModal = ({
{i18n('StoryViewsNRepliesModal__reacted')} @@ -312,6 +312,7 @@ export const StoryViewsNRepliesModal = ({ { const { author, contactNameColor, + i18n, isSticker, isTapToView, isTapToViewExpired, @@ -879,7 +880,7 @@ export class Message extends React.PureComponent {
diff --git a/ts/state/selectors/stories.ts b/ts/state/selectors/stories.ts index 4669594f0..6e0d15b34 100644 --- a/ts/state/selectors/stories.ts +++ b/ts/state/selectors/stories.ts @@ -341,7 +341,11 @@ export const getStories = createSelector( stories: [storyView, ...existingMyStory.stories], }); - return; + // If it's a group story we still want it to render as part of regular + // stories or hidden stories. + if (story.storyDistributionListId) { + return; + } } let storiesMap: Map; diff --git a/ts/util/sendStoryMessage.ts b/ts/util/sendStoryMessage.ts index df746a0e2..240d03887 100644 --- a/ts/util/sendStoryMessage.ts +++ b/ts/util/sendStoryMessage.ts @@ -217,6 +217,7 @@ export async function sendStoryMessage( const messageAttributes = await window.Signal.Migrations.upgradeMessageSchema({ attachments, + canReplyToStory: true, conversationId, expireTimer: DAY / SECOND, id: UUID.generate().toString(),