feat(ops): Sentry error-monitoring (v1-readiness item 2)

Vier config-files volgens Next.js 15+ conventie:
- instrumentation.ts (root) → koppelt server/edge config aan runtime-hook
- instrumentation-client.ts → client-init + onRouterTransitionStart
- sentry.server.config.ts → node-runtime
- sentry.edge.config.ts → edge-runtime (proxy.ts)

next.config.ts gewrapped met withSentryConfig:
- Source-map-upload ALLEEN als SENTRY_AUTH_TOKEN gezet is
- Tunnel /monitoring omzeilt ad-blockers (*.sentry.io)
- Silent buiten CI

SDK is no-op zonder NEXT_PUBLIC_SENTRY_DSN — geen network/overhead in
dev of bij ontbrekende creds. Sample-rates conservatief: errors 100%,
performance 10% in productie / 100% in dev. Geen Replay (privacy-review
nodig + overkill voor MVP). sendDefaultPii uit.

.env.example gedocumenteerd; architectuur-doc bijgewerkt met nieuwe
sleutelbeslissing en file-tree-aanvulling. v1-readiness #1 verschoven
naar 'done', #2 hiermee in flight.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Janpeter Visser 2026-05-04 13:24:19 +02:00
parent 70c5be6750
commit ac11483c68
10 changed files with 2516 additions and 30 deletions

View file

@ -21,6 +21,7 @@ De kernfunctionaliteit (auth, producten, PBI/story/task-hiërarchie, sprints, so
## What's already done
- **#1 Edit-icoon op Product** (todo `cmoq3ox51`) — pencil-icoon op dashboard-card via PR [#83](https://github.com/madhura68/Scrum4Me/pull/83); product-detail-header behoudt tekst
- v0.9.0 ([release](https://github.com/madhura68/Scrum4Me/releases/tag/v0.9.0)): mobile-shell met landscape-lock (PBI-11, 7 stories, 21 tasks)
- v0.4.0 t/m v0.8.x: ondermeer sprint-screen filter-popover + edit-iconen, PBI/story/task edit-icons, code-velden verplicht, demo read-only, M11 Claude-vragen-kanaal, M10 QR-pairing
- CI op `main` en PR's: lint + typecheck + prisma validate + test + build via [`.github/workflows/ci.yml`](../../.github/workflows/ci.yml)
@ -33,14 +34,9 @@ De kernfunctionaliteit (auth, producten, PBI/story/task-hiërarchie, sprints, so
Korte lijst (3-5 items) die je vóór de v1.0-tag wil afronden. Deze blokkeren een betekenisvolle launch.
### 1. Edit-icoon op Product — todo `cmoq3ox51` ([dashboard + product-detail])
### 1. ~~Edit-icoon op Product~~ ✅ klaar in PR [#83](https://github.com/madhura68/Scrum4Me/pull/83)
`ProductDialog` en `updateProductAction` bestaan al (commits `4103e36`, `1b94f32`), maar er is **nergens een zichtbare edit-trigger** voor de eindgebruiker. Op story-niveau hetzelfde patroon als ST-1109 PBI/Story/Task edit-iconen die we deze sprint geshipt hebben.
Concreet:
- Pen-icoon in product-card ([components/dashboard/product-list.tsx](../../components/dashboard/product-list.tsx)) → opent `<ProductDialog mode="edit">` via `<EditProductButton>` (bestaat al, alleen niet zichtbaar voor non-owners?)
- Pen-icoon in product-header op `/products/[id]` is al aanwezig sinds PR#76 — verifieer of die voor de owner wel werkt en breed genoeg
- Demo-blok: `EditProductButton` heeft al `disabled={isDemo}`-check; verifieer
Verschoven naar *What's already done*. Pencil-icoon op dashboard-card; product-detail page-header behoudt tekst (matched naast andere text-acties).
### 2. Error monitoring (Sentry of vergelijkbaar)