From da0229911baed8a0d28e794320e6670a4b64ed7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Sat, 16 May 2026 18:03:51 +0200 Subject: [PATCH] docs(planning): IW7 implementation report for v1.4.33 --- .planning/round-v1433-iw7-report.md | 65 +++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 .planning/round-v1433-iw7-report.md diff --git a/.planning/round-v1433-iw7-report.md b/.planning/round-v1433-iw7-report.md new file mode 100644 index 000000000..2b3e58554 --- /dev/null +++ b/.planning/round-v1433-iw7-report.md @@ -0,0 +1,65 @@ +# v1.4.33 IW7 — menu structure polish + +## Scope + +Per `.planning/round-v1433-audit-menu.md` recommendations: rename items +to disambiguate duplicates, light Settings sidebar regrouping, and +mobile chip-strip polish. Touch-disjoint from IW2/IW5/IW9 (`src/lib/**`, +`src/components/insights/**`, `src/components/dashboard/**`). + +## Commits landed + +1. **`523ee0c7` `fix(notifications): disambiguate inbox vs channel-config naming`** + - `/notifications` (inbox) → `Notification Center` / `Benachrichtigungs-Center`. + - Settings → `Notification channels` / `Benachrichtigungs-Kanäle`. + - Sidebar user-card dropdown label, mobile top-bar dropdown, settings shell, and the page H1s all match. + - Breadcrumb strip added to both surfaces (`inbox -> channels` and `Settings -> channels -> inbox`). + - Locale parity de / en / es / fr / it / pl. + - Concurrent IW2/IW5 changes inadvertently rode along; no harm — all files renamed cleanly. + +2. **`432ebccd` `fix(i18n): drop the "KI"/"AI" prefix from user-facing copy`** + - `KI-Auswertungen` / `AI Insights` → `Auswertungen` / `Insights` (section title). + - Inner card heading retired; section H1 carries the only heading; Sparkles icon + provider-status badges remain on the card head. + - `KI-Insights`, `KI-Einschätzung`, `KI-Provider`, `KI-Qualität`, `Aktiver KI-Provider`, `KI-gestützte Einblicke`, `Admin-KI aktiv` all swept. + - English: `AI assessment`, `AI Quality`, `Active AI provider`, `AI-assisted insights`, `Admin AI active` swept. + - Sweep applied via `perl -i -pe` across de / en / es / fr / it / pl with JSON-validity check after. + - Provider product names (Anthropic, Claude, ChatGPT, OpenAI) unchanged — proper nouns, not "AI" label. + - Tests updated: `ai-section.test.tsx`, `ai-quality-section.test.tsx`, `sections.test.tsx` (admin + settings), `settings-shell.test.tsx`. + +3. **`972c8a56` `fix(nav): drop the redundant "Home" group label from the desktop sidebar`** + - The sidebar header used to read `HOME / Dashboard` with both pointing to `/`. Group label dropped; the collapse-toggle now anchors top-right of the (header-less) strip. + - `nav.home` retired from every locale bundle. + +4. **`0de1e2eb` `fix(settings): fold the About section into the user-card dropdown`** + - About removed from `SETTINGS_SECTIONS` (the navigable list). + - Slug `about` stays in `SETTINGS_SECTION_SLUGS` so `generateStaticParams()` keeps emitting the page and `/settings/about` continues to resolve. + - `Über HealthLog` / `About HealthLog` etc. added to the sidebar user-card dropdown (desktop) and mobile top-bar dropdown. + - Settings sidebar now 10 entries (was 11) on mobile chip-strip. + +5. **`81225a76` `fix(settings): scroll-snap on the mobile section strip`** + - `snap-x snap-mandatory` on the strip + `snap-start` on each chip. A swipe-flick now lands on the next chip's leading edge; the existing `scrollIntoView({inline: "center"})` effect on mount stays the canonical positioner for the active chip. + - `no-scrollbar` was already present from v1.4.25 A2. + +6. **`bafac84f` `chore(i18n): retire the now-orphan settings.kiInsights key`** + - The dedicated card H2 was retired in commit 2; the `settings.kiInsights` translation key it consumed had no remaining call-site. Dropped from all six locale bundles. + - `message-thread.test.tsx` updated to the new `"Insights provider"` copy. + +## Scope items explicitly NOT touched + +- `src/components/layout/bottom-nav.tsx` — IW8 already handled F14 there. +- `src/components/insights/**` — IW6 / IW5 / IW2 territory. +- `src/app/page.tsx`, `src/components/dashboard/**` — IW3 done. +- `src/components/settings/**` section content — IW4 done. I touched `settings-shell.tsx` (breadcrumb + scroll-snap + About removal) and `ai-section.tsx` (H2 removal) which the brief explicitly allowed for breadcrumb + AI rename work. +- `src/lib/**` — IW1 / IW2. +- `src/components/admin/admin-shell.tsx` — not in my brief; the same scroll-snap polish would apply identically and can be a v1.4.34 follow-up. + +## Test status + +`pnpm exec vitest run` ends at `383 passed | 1 failed | 4133 tests passed | 1 skipped`. The single failure is in `src/components/insights/__tests__/insights-structure.test.tsx:30` and asserts on the `from "@/components/insights/correlation-row"` static import literal — IW2 replaced the static imports with `next/dynamic` for below-the-fold blocks, so the assertion now reads against an outdated snapshot. Outside my scope. + +## Notes for the release brief + +- The Settings sidebar is back inside the "seven plus or minus two" comfort line (10 entries on mobile chip-strip, down from 11). +- The `nav.notifications` dropdown items now uniformly read `Notification Center` across desktop + mobile, with the settings entry below reading `Notification channels`. +- The full Sources → Thresholds merger and the Research-Modus relocation that the audit recommended were deliberately deferred to v1.4.34 / v1.5 — those changes need a design pass with screenshots, which the v1.4.33 polish-and-reliability scope does not include. +- The `settings.kiInsightsDescription` key is retained: it powers the per-card description paragraph below the (now-iconography-only) card header.