BugMojoBugMojoBugMojo
FeaturesPricingBlogGuidesAbout
Log inGet started
BugMojoBugMojo

Bug reports that actually help fix bugs — capture, replay, share.

Product

  • Features
  • Pricing
  • Get started
  • Log in

Resources

  • Blog
  • Guides
  • Compare
  • Glossary

Company

  • About
  • Contact
  • Privacy
  • Engineering
  • Playbooks
© 2026 BugMojo. All rights reserved.
AllGuidesEngineeringPlaybooksCompareGlossaryAlternativesBy roleBug tracking by framework
  1. Home
  2. Blog
  3. Bug tracking by framework
  4. Angular 19
Bug tracking by framework

Bug tracking for Angular — session replay, console + HAR (2026)

3 min read · TypeScript

An Angular-themed red gradient backdrop with abstract geometric shapes

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 our team has shipped through. Each one is hard to spot in a screenshot — easy to spot in a session replay.

  1. Signals + OnPush still need explicit reads

    High impact

    A signal read in a template auto-tracks. A signal read inside a method called from a non-template context (like an HTTP interceptor) does NOT. Bug: components with `ChangeDetectionStrategy.OnPush` go stale even though the signal updated.

  2. Standalone components silently bypass NgModule

    Medium impact

    Mixing standalone components with NgModule-based ones requires importing providers in two places. A missing provider in standalone bootstrap is a runtime error, not a compile error.

  3. RxJS subscriptions in ngOnInit must be torn down

    High impact

    Calling `.subscribe()` without storing the subscription leaks memory and causes ghost UI updates on later route changes. Use `takeUntilDestroyed()` (Angular 16+) or pipe through an async pipe in the template.

  4. ExpressionChangedAfterItHasBeenCheckedError in dev only

    Medium impact

    Angular's dev mode runs change detection twice; production runs it once. A bug that appears in dev but not prod is usually a Promise.resolve() inside ngAfterViewInit. The error name is intimidating but the fix is almost always `Promise.resolve().then(() => {...})`.

Common Angular bugs

Real bug patterns from Angular apps, with the symptom you’ll see in a bug 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 versions

BugMojo vs alternatives

The honest comparison — where BugMojo wins, and where another tool might serve you better.

CapabilityBugMojoAugury / 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❌

Frequently asked questions

Sources

  1. Angular Signals guide — angular.dev (2025)
Share:

More bug tracking by framework

Pick another stack — each guide has its own gotchas and fixes.

React 19
JavaScript
Vue 3.5
JavaScript
Next.js 15
JavaScript
SvelteKit 2 (Svelte 5)
JavaScript
Astro 5
JavaScript

On this page

  • What Angular teams ship with BugMojo
  • Angular gotchas
  • Common Angular bugs
  • Setup
  • BugMojo vs alternatives
  • FAQ