Back to Developer Logs

Build Log — March 30, 2026

Build Log — March 30, 2026

What We Shipped

Projected Training Stress on Workout Cards

Commit 4b554704 adds projected TSS (Training Stress Score) badges to upcoming workout cards. Before today, you'd only see load numbers after completing a workout — now the calendar shows an amber ~N TSS badge on each scheduled session, calculated client-side from structured workout data using calculateTrainingLoad().

This is a small but meaningful UX win. Athletes can glance at their week and immediately see the stress distribution before they train, not just after. The projection uses the same engine that scores completed workouts, applied to the structured intervals, sport type, and duration targets. Completed workouts continue showing compliance scores instead — no double-counting, no visual clutter.

Four tests updated (51 total passing).

Sentry Noise Reduction

Commit f33c294e adds ignoreErrors filters for two categories of non-actionable Sentry events:

  • DOM manipulation errors (appendChild, removeChild, insertBefore) — 194 of 231 errors last week were browser extensions injecting nodes during React hydration. Not our code, not our problem.
  • Partial chunk load errors (Unexpected EOF, end of input) — 71 events from flaky connections or stale service worker caches interrupting JS chunk downloads.

Combined, these accounted for the vast majority of Sentry volume. Filtering them out means the error dashboard actually surfaces real bugs again instead of being a wall of extension noise.

The Takeaway

A light Monday — two commits, but both sharpen the product. The TSS projection gives athletes better planning visibility, and the Sentry cleanup restores signal-to-noise on error monitoring. Quality over quantity.