Hygiene: event-modal debug console.logs ship to prod + 6 templates spam NG8011 projection warnings every build #761

Open
opened 2026-07-21 03:00:04 +00:00 by spikerj · 2 comments
Owner

Two small hygiene items observed repeatedly during the #722 E5 gates:

  1. event-modal logs form contents to the console — ~10 console.logs ("Modal received startDate", "Form values before processing", extracted times, the full event payload incl. title/description/location). Per the #463 lesson, esbuild does NOT strip console.* in prod builds, so user event data lands in the browser console in production. Delete them (the component is now fully signal-model driven; they've lost their debugging value anyway).

  2. NG8011 warnings ×6 on every single build — mat-icon inside a multi-node @if/@else block can't project into MatButton's icon slot: child-account-review (122), book-upload (282, 285), contact (229), geography-explorer (596), info-vault (605). Each is a one-line <ng-container> wrap per the warning text. Six warnings × every build/test invocation is real noise that trains people to ignore compiler output.

Two small hygiene items observed repeatedly during the #722 E5 gates: 1. **event-modal logs form contents to the console** — ~10 `console.log`s ("Modal received startDate", "Form values before processing", extracted times, the full event payload incl. title/description/location). Per the #463 lesson, esbuild does NOT strip `console.*` in prod builds, so user event data lands in the browser console in production. Delete them (the component is now fully signal-model driven; they've lost their debugging value anyway). 2. **NG8011 warnings ×6 on every single build** — mat-icon inside a multi-node `@if`/`@else` block can't project into MatButton's icon slot: child-account-review (122), book-upload (282, 285), contact (229), geography-explorer (596), info-vault (605). Each is a one-line `<ng-container>` wrap per the warning text. Six warnings × every build/test invocation is real noise that trains people to ignore compiler output.
Author
Owner

Board-sweep verification (2026-07-22): still open and still real — event-modal.component.ts carries 18 console.log calls on current master. Note for whoever picks this up: the event-modal is being actively reworked under epic #781 (recurring events UI just merged), so coordinate with that work rather than patching in parallel — but the hygiene issue did NOT get cleaned up by the #781 changes so far.

Board-sweep verification (2026-07-22): still open and still real — event-modal.component.ts carries 18 console.log calls on current master. Note for whoever picks this up: the event-modal is being actively reworked under epic #781 (recurring events UI just merged), so coordinate with that work rather than patching in parallel — but the hygiene issue did NOT get cleaned up by the #781 changes so far.
Author
Owner

Re-verified against origin/masterNOT DONE, both items.

Item 1 — debug logs: projects/spikersoft/src/app/_components/calendar/event-modal/event-modal.component.ts still contains 18 console.log calls, unchanged from the 2026-07-22 board-sweep count. Notable because epic #781's recurrence work has been actively touching this component since — so the file has been edited without the logs being cleaned up.

Item 2 — NG8011 projection warnings: the sites are still unwrapped. mat-icon sits directly inside @if/@else blocks alongside sibling text or interpolation, with no <ng-container>:

  • admin/child-account-review/child-account-review.component.html ~119-124
  • book-upload/book-upload.component.html ~281-287 (both branches)
  • contact/contact.component.html ~224-232
  • learning/info-vault/info-vault.component.html ~603-607
  • plus the geography-explorer site (the 764-line geography-explorer.component.html; I did not individually confirm that line)

Coordination note: epic #781 is actively reworking event-modal.component.ts, so item 1 should either go in with that work or wait for it — a standalone PR deleting 18 lines is a near-certain conflict. Item 2 touches five unrelated templates and has no such dependency, so it can go independently.

Small but worth doing: the NG8011 warnings fire on every build, so this is noise every developer sees constantly. That kind of persistent warning is what trains people to stop reading build output — which is how the #823 strictTemplates error (now gated by #824) got through in the first place.

Re-verified against `origin/master` — **NOT DONE, both items.** **Item 1 — debug logs:** `projects/spikersoft/src/app/_components/calendar/event-modal/event-modal.component.ts` still contains **18** `console.log` calls, unchanged from the 2026-07-22 board-sweep count. Notable because epic #781's recurrence work has been actively touching this component since — so the file has been edited without the logs being cleaned up. **Item 2 — NG8011 projection warnings:** the sites are still unwrapped. `mat-icon` sits directly inside `@if`/`@else` blocks alongside sibling text or interpolation, with no `<ng-container>`: - `admin/child-account-review/child-account-review.component.html` ~119-124 - `book-upload/book-upload.component.html` ~281-287 (both branches) - `contact/contact.component.html` ~224-232 - `learning/info-vault/info-vault.component.html` ~603-607 - plus the geography-explorer site (the 764-line `geography-explorer.component.html`; I did not individually confirm that line) **Coordination note:** epic #781 is actively reworking `event-modal.component.ts`, so item 1 should either go in with that work or wait for it — a standalone PR deleting 18 lines is a near-certain conflict. Item 2 touches five unrelated templates and has no such dependency, so it can go independently. Small but worth doing: the NG8011 warnings fire on **every build**, so this is noise every developer sees constantly. That kind of persistent warning is what trains people to stop reading build output — which is how the #823 strictTemplates error (now gated by #824) got through in the first place.
Sign in to join this conversation.