Skip to content

fix: remove aborted tile loads from the image cache when they are aborted - #2286

Open
greensopinion wants to merge 1 commit into
pitch-3-fit-and-constraintsfrom
pitch-4-aborted-tile-loads
Open

greensopinion wants to merge 1 commit into
pitch-3-fit-and-constraintsfrom
pitch-4-aborted-tile-loads

Conversation

@greensopinion

@greensopinion greensopinion commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

An aborted load completes with a transparent image, and it was removed
from Flutter's image cache only after the abort error arrived. A tile
with the same URL created in between shared the load and showed the
transparent image until the tile was pruned.

Depends on #2285.

Screenshot showing the issue:

flutter_map-cancelled-tile

I wrote this with Claude Code (Claude Opus 5.5). I directed the design,
reviewed the code, and tested it on a Mac, an iPhone 13, an iPhone 15 Pro
Max, a Pixel 4a (5G), and in Chrome.

An aborted load completes with a transparent image, and it was removed
from Flutter's image cache only after the abort error arrived. A tile
with the same URL created in between shared the load and showed the
transparent image until the tile was pruned.

@JaffaKetchup JaffaKetchup left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey sorry, this one seems like a bit of an outlier. Could you please open a bug report (ideally with MRE or video), take this one out of the stack, and target master?

@JaffaKetchup
JaffaKetchup dismissed their stale review October 26, 2026 01:05

Decided that this can stay open in the stack since other tests from other PRs in the stack require it to pass, and a bug report has been opened for it.

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

A tile stays blank when it is recreated while its aborted request is still ending

2 participants