mapbox / mapbox/mapbox-gl-js

Crash/page reload on mobile with flyTo animation after some time while easeTo does not

Open
#13,148 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

auto-triaged bug :lady_beetle:
Dominant language
TypeScript
Stars
12.4k
Forks
2.4k
PR merge metrics
No merged PRs in 30d

Description

**mapbox-gl-js version**:
3.3.0

**browser**:
CapacitorJS webview on iOS

### Steps to Trigger Behavior
This quite hard to say. In my app I animate a location indicator on the map with `flyTo`.

Using `flyTo`, it takes between 2 and 3 minutes to trigger a complete page refresh. There are no error messages in the console, the app does not crash, it just refreshes the page.

When I replace `flyTo` with `easeTo` there is no issue at all. I can run the animation for at least 5 minutes.

Some things I researched:
- mapbox-gl 2.2.12, refreshes page after 3:30 mins
- mapbox-gl 3.1.10, refreshes page after 2-3 mins
- `flyTo` worked about a year ago (I guess I was using iOS 16 at the time), could be an issue which is new in iOS 17
- `essential: true` or `essential: false` parameter did not affect the refresh.
- The random refresh does not occur in Chrome on macOS, only on iOS
- Could be related to https://github.com/mapbox/mapbox-gl-js/issues/11954

Contributor guide

Open the contributing guide

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 by reproducing the reported flyTo animation in a CapacitorJS iOS webview with mapbox-gl-js 3.3.0, comparing it with easeTo and reviewing the referenced issue #11954. Done means identifying a reproducible cause and confirming that sustained flyTo no longer triggers a page refresh on iOS.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, typescript
Domain
frontend, mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.