diff --git a/stylesheets/_modules.scss b/stylesheets/_modules.scss
index c8dd2507d6e8..f40c601a0de4 100644
--- a/stylesheets/_modules.scss
+++ b/stylesheets/_modules.scss
@@ -1379,6 +1379,7 @@ $message-padding-horizontal: 12px;
display: flex;
justify-content: center;
margin-inline-end: 8px;
+ min-width: 28px;
padding-bottom: 6px;
&--with-reactions {
@@ -1447,6 +1448,10 @@ $message-padding-horizontal: 12px;
}
}
+.module-message__typing-avatar-spacer {
+ flex: 0 1 24px;
+}
+
.module-message__unopened-gift-badge {
width: 240px;
height: 132px;
diff --git a/ts/components/conversation/TypingBubble.stories.tsx b/ts/components/conversation/TypingBubble.stories.tsx
index afc04bc04766..6c892383ab46 100644
--- a/ts/components/conversation/TypingBubble.stories.tsx
+++ b/ts/components/conversation/TypingBubble.stories.tsx
@@ -113,6 +113,29 @@ Group.story = {
name: 'Group (1 person typing)',
};
+export function GroupStartsTyping(): JSX.Element {
+ const props = createProps({
+ conversationType: 'group',
+ typingContactIdTimestamps: {},
+ });
+ const [afterTimeoutProps, setAfterTimeoutProps] = useState({});
+ useEffect(() => {
+ setTimeout(
+ () =>
+ setAfterTimeoutProps({
+ typingContactIdTimestamps: getTypingContactIdTimestamps(1),
+ }),
+ 500
+ );
+ }, []);
+
+ return