Skip to content

[Bug]: iOS PR image previews take ~20 seconds to open and are difficult to zoom or dismiss #26662

Closed as duplicate

Description

@theophanemayaud

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/mobile

Problem

On my iPhone, reviewing screenshots in an in-app PR description is much harder than on GitHub web. Tapping an image appears to do nothing, then the viewer opens roughly 20 seconds later. Zooming into large screenshots and getting back out of the image are awkward. On GitHub web, I can simply pinch-zoom the page and keep reviewing.

The investigation below found a concrete gallery-wide loading gate that explains an apparent unresponsive tap. The exact 20-second duration and zoom/dismissal difficulties are my device observations; the agent verified the code path, not an on-device gesture reproduction.

Steps to reproduce

  1. Open a PR in the iOS app whose description has many distinct large screenshots. My affected description has 24 images.

  2. Use ordinary image Markdown, with blank lines around each image so this is independent of caption/inline-image rendering:

    Before
    
    ![](UPLOAD_URL_1)
    
    After
    
    ![](UPLOAD_URL_2)

    Replace the URLs with real uploaded PNG/JPEG attachments, and repeat with distinct screenshots.

  3. On a cold load or slower mobile connection, tap one screenshot to inspect fine details.

  4. Observe how long it takes before the viewer appears, then try zooming, panning and dismissing it.

  5. A useful controlled case for maintainers: make a non-selected gallery image slow while keeping the selected image fast. The current implementation still waits for the slow sibling before presenting the selected image.

Expected behavior

A tap gives immediate feedback and opens the selected image as soon as that image is ready. Other gallery items should load lazily or in the background. There should be visible progress and a way to cancel pending opening. Zoom/pan and returning to the PR should be reliable and easy.

Actual behavior

The preview can take around 20 seconds to appear on my phone, making the tap look broken. Inspecting images and returning to the description is frustrating enough that I switch to GitHub web.

Investigation

Checked pingdotgg/t3code main at 9826dbb9904b2591bfbf60d1317486b59132f56b:

This verifies a real source-level cause of slow opening and absent loading feedback. It does not establish a separate pinch-zoom implementation bug or the precise cause of the dismissal difficulty: iOS uses Quick Look and has dismissal code. Those interactions still need a native-device repro.

Related: #26663 covers images disappearing when a caption has no blank line before the image. The reproduction above uses blank lines to keep this viewer issue independent.

Impact

Major degradation or frequent failure when reviewing screenshot-heavy PRs on mobile.

Version or commit

Source investigated: main @ 9826dbb9904b2591bfbf60d1317486b59132f56b (2026-10-28). The affected iOS app's exact version/build has not yet been recorded.

Environment

T3 Code iOS app on iPhone. Screenshot-heavy GitHub PR descriptions. Exact iPhone model and iOS version not yet recorded. Native device automation was unavailable for the investigation.

Workaround

Open the PR on GitHub web, where page pinch-zoom works well. An optional mobile-only preference to open PR links externally would also help while the in-app viewer is being fixed.


Investigated and submitted by the reporter's agent: GPT-6.1 Sol in T3 Code, Codex harness. Device observations are from the reporter; source analysis is from the agent.

Activity

  1. ceolinwill commented on Nov 9, 2026

    @ceolinwill

    Note

    🤖 Claude Opus 5.5 commenting on this issue on behalf of Will

    I'm seeing this on the latest iOS app too, and for me it's often worse than slow. When I tap an image in a PR description, it either takes a very long time to open or fails outright with:

    Could not open preview
    The file could not be opened. Check the connection and try again.
    [Cancel]

    That dialog text looks like it comes from the code before #29044. Before that PR, an image gallery error went through nativeViewerErrorMessage (apps/mobile/src/lib/attachmentDownload.ts), which is where this text is. After it, iOS image errors say "The file could not be loaded. Please try again." instead. In the old path, presentFiles downloads every image in the description one by one before showing anything, so one slow or failed sibling download makes the whole preview fail with this dialog. That fits both the long wait and the failure.

    So #29044 probably fixes the slow part and most of the failures, but it isn't in the iOS build I'm on yet. It also only says "Refs" this issue, so this issue stays open.

  2. juliusmarminge commented on Nov 12, 2026

    @juliusmarminge
    Member

    This is the same problem as #29044, so I'm closing it in favour of that one. If it is different, say how and it will be reopened.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions