TemplateDocs

Bug report

A bug report template covering environment, exact repro steps, expected vs. actual behavior, severity with justification, and evidence.

Last updated

Fill in the blanks

Assembled in your browser — nothing you type is stored or sent anywhere.

Your document

# Bug: Export button freezes the page on large reports **Environment:** Chrome 128 on macOS 14, production, Enterprise plan · **Severity:** P1 - blocks a core workflow ## Steps to reproduce 1. Open a report with more than 5,000 rows 2. Click "Export to CSV" 3. Watch the page instead of a file downloading ## Expected behavior The CSV downloads within a few seconds and the page stays responsive while it generates. ## Actual behavior The page freezes completely for 45+ seconds, then the tab crashes with an out-of-memory error. No file downloads. ## Why this severity Marked P1 because it affects every Enterprise account - our largest reports are all above 5,000 rows - and there is no workaround, since export is the only way to get this data out. ## Evidence Screen recording: bug-export-freeze.mp4 (attached). Console log shows heap allocation climbing past 1.8GB before the crash.

How to use it well

  • →Repro steps only count if a stranger with no context can follow them and hit the bug - if a step relies on knowledge only you have, it isn't a reproduction, it's a memory.
  • →Justify the severity in the report itself. "P1" without a sentence explaining who it blocks and whether there's a workaround gets triaged on vibes and re-litigated later.
  • →One piece of concrete evidence - a recording, a log line, a stack trace - resolves more severity arguments than three paragraphs of description.

Part by part

**Environment:** {{environment}}
In the header, because it determines whether anyone can reproduce it. A bug that only appears on one browser is a different bug from one that appears everywhere.
## Steps to reproduce
The section that decides whether the report is actionable. Everything else can be inferred; this cannot.
## Why this severity
Justifies the rating rather than asserting it. A severity with reasoning can be argued with and adjusted; one without it is either accepted or ignored.
## Evidence
Screenshots, logs, a recording. Evidence is what converts a report someone believes into one they can start from.

Common mistakes

  • Steps that assume knowledge of the setup.

    A reproduction starting from a state only you have is not reproducible. Steps should begin from something anyone can reach — a fresh login, a known account, a specific URL.

  • Marking everything critical.

    Severity inflation destroys triage. If every report is critical, the genuinely critical one waits behind four that are not, and the person who inflated is the one who suffers.

  • Describing the expected behaviour and omitting the actual.

    Both are needed, because a surprising number of bugs turn out to be a disagreement about what should happen. Stating them separately surfaces that immediately.

Questions

How is this different from the bug-report prompt?

The prompt turns messy observations into this structure; this is the structure itself, for when you already know what happened. Use the template directly when you can and the prompt when the notes are scattered.

What if I cannot reproduce it reliably?

Say so and state how often, with what you were doing each time. An intermittent bug reported honestly is triageable; one described as reproducible and then failing to reproduce gets closed.

How much evidence is useful?

A screenshot for anything visual, and the relevant log lines rather than the whole file. A recording is worth more than several paragraphs for an interaction bug and takes less time to produce.

Should I diagnose the cause?

Include a hypothesis if you have one, clearly marked as such. A confident wrong diagnosis sends the investigation in the wrong direction, and it is hard to abandon once it is written down.

Related in Templates