Aglet

Triage preview memory growth after repeated file selection

A preview can retain decoded pixels, object URLs, workers, canvases, or event references after its file is removed. Triage should record the selection sequence, preview type, removal action, and memory evidence. The aim is to identify a retained resource without treating normal allocation during rendering as a leak.

Establish what is happening

  1. Define the repeatable sequence

    Record file dimensions, preview format, number of select-remove cycles, navigation state, and the exact removal action. Keep one small file and one large file so memory growth can be compared with legitimate decode cost.

  2. Observe lifecycle evidence

    At selection, render, replacement, removal, and page exit, record preview nodes, URLs, decoded resources, worker activity, and references that remain reachable. Pair observations with memory samples taken after the interface settles.

  3. Classify retained work

    Classify the case as expected cache, delayed release, detached resource, listener reference, or unknown. Note whether memory returns after a full page exit and whether the visible preview disappears while hidden work remains.

What to carry forward

Triage is complete when a repeated sequence, resource type, and post-removal observation are recorded. If memory does not return during the chosen observation window, preserve the timing and avoid naming a leak until retained resources are identified.

Technical background: MDN reference.

Keep the decision with the work.

Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.

Create an account See the product workflow