fix: memory leak in image carousel editor - #333981
Open
Simon Siefke (SimonSiefke) wants to merge 2 commits into
Open
fix: memory leak in image carousel editor#333981Simon Siefke (SimonSiefke) wants to merge 2 commits into
Simon Siefke (SimonSiefke) wants to merge 2 commits into
Conversation
Copilot started reviewing on behalf of
Simon Siefke (SimonSiefke)
September 2, 2026 12:49
View session
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
In-flight reads can still create leaked URLs after cache cleanup.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Prevents duplicate blob URLs during concurrent image loading.
Changes:
- Rechecks the blob URL cache after loading.
- Adds concurrency and revocation coverage.
File summaries
| File | Description |
|---|---|
imageCarouselEditor.ts |
Reuses concurrently cached URLs. |
imageCarouselEditor.test.ts |
Tests concurrent URL reuse and revocation. |
Review details
- Files reviewed: 2/2 changed files
- Comments generated: 1
- Review effort level: Balanced
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Details
The image carousel loads an image and its thumbnail at the same time. Both requests could create a blob URL before either request populated the cache, so one URL was replaced without being revoked when the editor closed.
Change
Check the string cache again after the image data loads so concurrent requests reuse the first URL instead of creating another one.
Before
Across 37 runs, 114 object URLs were created, 75 released, and 39 remained unreleased (black: released, red: unreleased):

After
Across the same 37 runs, all 75 created object URLs were released and none remained unreleased:

Test Video
The seven-run Images Preview scenario completes with every object URL revoked:
test-video.webm