Aglet

How to diagnose a browser freeze caused by a long task

A browser freeze can look like a failed request even when the page has already received its data. This triage guide captures the blocked interaction, distinguishes main-thread work from network waiting, and identifies whether the freeze is tied to a route, input, dataset, or device.

Establish what is happening

  1. Record the interaction and visible freeze

    Choose one reproducible action, such as opening a filter or submitting a search, and record when the pointer or keyboard input begins. Capture the last visible update, the first responsive moment, dataset size, viewport, and device class. Preserve a screen recording only when it adds timing context.

  2. Capture a performance timeline around input

    Use a browser timeline with network activity, scripting, rendering, and input markers enabled. Identify long uninterrupted tasks, repeated layout work, garbage-collection gaps, and periods where the main thread is busy while the network is idle. Note stack names and timestamps without declaring them causal yet.

  3. Compare a smaller and neighboring case

    Repeat the same action with a small dataset and on a nearby route or control. Compare task duration, node count, script evaluation, layout, and response timing. If the freeze persists with no data change, shared event handling becomes a stronger investigation lead than list rendering.

What to carry forward

Return a scope statement naming the blocked interaction, timeline interval, affected conditions, and the first observed boundary. Classify the next handoff as main-thread work, network or server waiting, or unresolved. Keep stack attribution provisional until a controlled reproduction connects it to the visible freeze.

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