diff --git a/clients/shared/Features/Chat/TypingIndicatorView.swift b/clients/shared/Features/Chat/TypingIndicatorView.swift index 14382aa5d6f..1b2785d1e46 100644 --- a/clients/shared/Features/Chat/TypingIndicatorView.swift +++ b/clients/shared/Features/Chat/TypingIndicatorView.swift @@ -28,6 +28,12 @@ public struct TypingIndicatorView: View { RoundedRectangle(cornerRadius: VRadius.lg) .fill(VColor.surfaceOverlay) ) + // Isolate the repeatForever scale animation from parent geometry + // changes. Without this barrier, LazyVStack repositioning or outer + // .frame(width:) resize (containerWidth 0→actual) gets captured by + // the persistent animation context, causing the dots to bounce in + // position instead of just pulsing in scale. + .geometryGroup() .onAppear { animate = true }