Bug tracking for Angular — session replay, console + HAR (2026)
Angular bug-reporting guide for QA + dev teams: framework-specific gotchas, common bugs, and how to capture them with BugMojo session replay.
What Angular teams ship with BugMojo
Angular 19 (with Signals, standalone components, and the new control-flow syntax `@if`/`@for`/`@switch`) is a different framework than Angular 14 — but most production Angular bugs in 2026 still trace back to one of three sources: change detection running too often, RxJS subscriptions never cleaning up, or NgZone confusion around async work. Each shows up as performance regressions or memory leaks rather than visible UI errors.
A useful Angular bug report includes the component selector, the change-detection strategy, and the open subscriptions at the moment of failure. BugMojo captures the DOM + console + network HAR — the console part is critical, because Angular's development build is loud with diagnostics that point straight at the root cause.
This guide walks through the most common Angular 19 bug classes, how to capture them, and how to wire BugMojo into an Angular team's Jira workflow.
Angular gotchas
Framework-specific failure modes engineers actually ship through. Each is hard to spot in a screenshot and obvious in a session replay.
Common Angular bugs
Real Angular bug patterns — the symptom you will see in a report and the fix that actually works.
@for without trackBy re-creates DOM on every update
Symptom: List of items flickers / loses focus on every data update.
Fix: The new `@for` control flow REQUIRES `track` (no longer optional). Provide a stable key.
@for (user of users; track user.id) {
<user-card [user]="user" />
}HTTP interceptor runs outside NgZone
Symptom: A request succeeds, you call `set()` on a signal, but the UI never updates.
Fix: Run the signal update inside NgZone, OR avoid runOutsideAngular calls that bleed into your code path.
Module-level Provider not picked up by lazy route
Symptom: A service is null when a lazy-loaded component tries to inject it.
Fix: Providers must be in `providedIn: "root"` or in the route's `providers` array. Lazy routes don't inherit the parent module's providers.
Setup
# Install BugMojo from the Chrome Web Store — works with all Angular versionsBugMojo vs alternatives
The honest comparison — where BugMojo wins, and where another tool might serve you better.
| Feature | BugMojo | Augury / Angular DevTools |
|---|---|---|
| Replay the bug for a teammate | ✅ | ❌ |
| Capture change-detection cycles | ⚠️ (via console) | ✅ live profiler |
| Network HAR + console capture | ✅ | ⚠️ live only |
| Wired to Jira/Linear | ✅ one-click | ❌ |
| MCP integration for AI coding agents | ✓ | — |
| Zero-setup Quick Capture | No project, no SDK | Account / SDK required |
BugMojo records the DOM, console, and network — then ships a one-click ticket with the full replay attached. No SDK, no setup.
Try BugMojo freeFrequently asked questions
Frequently asked questions
Sources
- Angular Signals guide — angular.dev (2025)

