PostHog / PostHog/posthog.com

Bug Report: Mobile Safari/Chrome iOS crashes when pinch-zooming merch product modal

Open
#17,108 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
1.1k
Forks
907
Avg merge
1d 16h
Merged PRs (30d)
430

Description

Report

When viewing a merch product on iOS, pinch-zooming the product image inside the product modal can cause the page to reload and eventually crash.

URL
https://posthog.com/merch?product=james-hawkins-ultra-action-figure

Steps to reproduce

  1. Open the URL above on an iPhone.
  2. Pinch to zoom as far as you can

while the product modal is open.
3. The browser reloads the page.
4. After the page reloads and reopens the product modal, pinch to zoom again.

Actual result

  • Safari displays: A problem repeatedly occurred on "https://posthog.com/merch?product=james-hawkins-ultra-action-figure"
  • Chrome on iOS displays: Can't open this page

The behavior was reproducible across multiple attempts.

Technical info

  • Device: iPhone 17 Pro
  • Browsers: Safari and Chrome (iOS)
  • Page: /merch product modal opened via ?product=james-hawkins-ultra-action-figure

While investigating, I noticed the product page is rendered within a fixed-position modal containing a scrollable content area and image carousel. This may be related to how iOS WebKit handles pinch-zoom and viewport changes inside nested scroll containers, though I have not confirmed the root cause.

The product itself does not appear unusually large. The primary image is approximately 1250x1248 and ~2.5 MB, while other products contain more and larger images without obviously explaining the crash.

Expected outcome, or solution

Pinch-zooming a product image should either:

  • Work normally without reloading or crashing the page, or
  • Be gracefully constrained if zoom gestures are not supported within the modal experience.

Potential areas to investigate:

  • Interaction between the modal, scroll container, and iOS pinch-zoom behavior
  • Overscroll containment and scroll chaining on mobile Safari
  • Fixed-position modal sizing (100vw / transformed layouts) on iOS
  • Radix Dialog and ScrollArea behavior during visual viewport changes

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the /merch entry point with the product query parameter on an iPhone, reproduce the pinch-zoom failure, and inspect the fixed-position modal, scrollable content area, image carousel, and the mentioned Radix Dialog and ScrollArea behavior. Compare Safari and Chrome on iOS while checking viewport changes, overscroll containment, and scroll chaining; done means pinch-zooming no longer reloads or crashes the page, or is gracefully constrained.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend, web-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.