From b94101d0fe91ea81de3eb91a3e842e45794e553e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Fri, 9 Oct 2026 16:57:08 +0200 Subject: [PATCH] chore(i18n): drop the keys of the removed count line, usual label and open-day link The day's count line, the usual-range label beside the focus value and the selection bar's "Open " link are gone, and so are their strings in all seven bundles. The pulse latest-day read is listed in the dense read guard with why it stays bounded: one type over one day, the rows the day view reads anyway. The summaries test's database stub answers that read. --- messages/de.json | 5 ----- messages/en.json | 5 ----- messages/es.json | 5 ----- messages/fr.json | 5 ----- messages/it.json | 5 ----- messages/ko.json | 5 ----- messages/pl.json | 5 ----- src/__tests__/dense-measurement-read-guard.test.ts | 2 ++ src/lib/analytics/__tests__/summaries-slice.test.ts | 2 +- 9 files changed, 3 insertions(+), 36 deletions(-) diff --git a/messages/de.json b/messages/de.json index ef9723d48..9fab5ac2f 100644 --- a/messages/de.json +++ b/messages/de.json @@ -12251,15 +12251,11 @@ "rugLegend": "Punkte unter der Achse markieren Tage mit Einträgen, ein Ring einen auffälligen Tag.", "sheetExpand": "Auf volle Höhe aufziehen", "sheetShrink": "Verkleinern", - "usualLabel": "Deine 30 Tage davor", "valuesLegend": "Punkt für diesen Tag, Strich für die 30 Tage davor", "valuesAllOne": "Alle Werte", "valuesAllFew": "Alle {count} Werte", "valuesAllOther": "Alle {count} Werte", "valuesFewer": "Weniger Werte", - "countValuesOne": "1 Wert", - "countValuesFew": "{count} Werte", - "countValuesOther": "{count} Werte", "countEntriesOne": "1 Eintrag", "countEntriesFew": "{count} Einträge", "countEntriesOther": "{count} Einträge", @@ -12299,7 +12295,6 @@ "subtitle": "Was wann war, neben deinen Werten.", "standing": "Dauerhaft", "startUnknown": "Beginn unbekannt", - "openDay": "{date} öffnen", "zoom": { "all": "Alles", "year": "12 Monate", diff --git a/messages/en.json b/messages/en.json index db71a233a..aefe9bdb4 100644 --- a/messages/en.json +++ b/messages/en.json @@ -12251,15 +12251,11 @@ "rugLegend": "Dots under the axis mark days with entries, a ring marks a notable day.", "sheetExpand": "Expand to full height", "sheetShrink": "Shrink", - "usualLabel": "Your 30 days before", "valuesLegend": "Dot for this day, bar for the 30 days before", "valuesAllOne": "All values", "valuesAllFew": "All {count} values", "valuesAllOther": "All {count} values", "valuesFewer": "Fewer values", - "countValuesOne": "1 value", - "countValuesFew": "{count} values", - "countValuesOther": "{count} values", "countEntriesOne": "1 entry", "countEntriesFew": "{count} entries", "countEntriesOther": "{count} entries", @@ -12299,7 +12295,6 @@ "subtitle": "What happened when, beside your values.", "standing": "Ongoing", "startUnknown": "start unknown", - "openDay": "Open {date}", "zoom": { "all": "All", "year": "12 months", diff --git a/messages/es.json b/messages/es.json index 8058c4f6e..cb8e91d56 100644 --- a/messages/es.json +++ b/messages/es.json @@ -12251,15 +12251,11 @@ "rugLegend": "Los puntos bajo el eje marcan días con entradas, y un anillo, un día destacado.", "sheetExpand": "Ampliar a toda la altura", "sheetShrink": "Reducir", - "usualLabel": "Tus 30 días anteriores", "valuesLegend": "Punto para este día, barra para los 30 días anteriores", "valuesAllOne": "Todos los valores", "valuesAllFew": "Los {count} valores", "valuesAllOther": "Los {count} valores", "valuesFewer": "Menos valores", - "countValuesOne": "1 valor", - "countValuesFew": "{count} valores", - "countValuesOther": "{count} valores", "countEntriesOne": "1 entrada", "countEntriesFew": "{count} entradas", "countEntriesOther": "{count} entradas", @@ -12299,7 +12295,6 @@ "subtitle": "Qué pasó y cuándo, junto a tus valores.", "standing": "Permanente", "startUnknown": "inicio desconocido", - "openDay": "Abrir {date}", "zoom": { "all": "Todo", "year": "12 meses", diff --git a/messages/fr.json b/messages/fr.json index bbe854727..8a794596c 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -12251,15 +12251,11 @@ "rugLegend": "Les points sous l’axe marquent les jours avec entrées, un anneau un jour remarquable.", "sheetExpand": "Agrandir en pleine hauteur", "sheetShrink": "Réduire", - "usualLabel": "Vos 30 jours précédents", "valuesLegend": "Point pour ce jour, barre pour les 30 jours précédents", "valuesAllOne": "Toutes les valeurs", "valuesAllFew": "Les {count} valeurs", "valuesAllOther": "Les {count} valeurs", "valuesFewer": "Moins de valeurs", - "countValuesOne": "1 valeur", - "countValuesFew": "{count} valeurs", - "countValuesOther": "{count} valeurs", "countEntriesOne": "1 entrée", "countEntriesFew": "{count} entrées", "countEntriesOther": "{count} entrées", @@ -12299,7 +12295,6 @@ "subtitle": "Ce qui s’est passé et quand, à côté de vos valeurs.", "standing": "Permanent", "startUnknown": "début inconnu", - "openDay": "Ouvrir le {date}", "zoom": { "all": "Tout", "year": "12 mois", diff --git a/messages/it.json b/messages/it.json index c105c9930..8546f5ae0 100644 --- a/messages/it.json +++ b/messages/it.json @@ -12251,15 +12251,11 @@ "rugLegend": "I punti sotto l’asse indicano i giorni con voci, un anello un giorno rilevante.", "sheetExpand": "Espandi a tutta altezza", "sheetShrink": "Riduci", - "usualLabel": "I tuoi 30 giorni precedenti", "valuesLegend": "Punto per questo giorno, barra per i 30 giorni precedenti", "valuesAllOne": "Tutti i valori", "valuesAllFew": "Tutti i {count} valori", "valuesAllOther": "Tutti i {count} valori", "valuesFewer": "Meno valori", - "countValuesOne": "1 valore", - "countValuesFew": "{count} valori", - "countValuesOther": "{count} valori", "countEntriesOne": "1 voce", "countEntriesFew": "{count} voci", "countEntriesOther": "{count} voci", @@ -12299,7 +12295,6 @@ "subtitle": "Cosa è successo e quando, accanto ai tuoi valori.", "standing": "Permanente", "startUnknown": "inizio sconosciuto", - "openDay": "Apri {date}", "zoom": { "all": "Tutto", "year": "12 mesi", diff --git a/messages/ko.json b/messages/ko.json index b6b009b0b..1ee04f932 100644 --- a/messages/ko.json +++ b/messages/ko.json @@ -12251,15 +12251,11 @@ "rugLegend": "축 아래 점은 기록이 있는 날을, 고리는 눈에 띄는 날을 표시해요.", "sheetExpand": "전체 높이로 펼치기", "sheetShrink": "줄이기", - "usualLabel": "직전 30일", "valuesLegend": "점은 이 날, 막대는 직전 30일", "valuesAllOne": "모든 수치", "valuesAllFew": "수치 {count}개 모두", "valuesAllOther": "수치 {count}개 모두", "valuesFewer": "수치 줄여 보기", - "countValuesOne": "수치 1개", - "countValuesFew": "수치 {count}개", - "countValuesOther": "수치 {count}개", "countEntriesOne": "기록 1개", "countEntriesFew": "기록 {count}개", "countEntriesOther": "기록 {count}개", @@ -12299,7 +12295,6 @@ "subtitle": "언제 무엇이 있었는지, 내 수치와 나란히.", "standing": "지속", "startUnknown": "시작일 미상", - "openDay": "{date} 열기", "zoom": { "all": "전체", "year": "12개월", diff --git a/messages/pl.json b/messages/pl.json index 9e87a3880..9337bc1b8 100644 --- a/messages/pl.json +++ b/messages/pl.json @@ -12251,15 +12251,11 @@ "rugLegend": "Punkty pod osią oznaczają dni z wpisami, pierścień dzień godny uwagi.", "sheetExpand": "Rozwiń na pełną wysokość", "sheetShrink": "Zmniejsz", - "usualLabel": "Twoje 30 dni wcześniej", "valuesLegend": "Punkt to ten dzień, pasek to 30 dni wcześniej", "valuesAllOne": "Wszystkie wartości", "valuesAllFew": "Wszystkie {count} wartości", "valuesAllOther": "Wszystkie {count} wartości", "valuesFewer": "Mniej wartości", - "countValuesOne": "1 wartość", - "countValuesFew": "{count} wartości", - "countValuesOther": "{count} wartości", "countEntriesOne": "1 wpis", "countEntriesFew": "{count} wpisy", "countEntriesOther": "{count} wpisów", @@ -12299,7 +12295,6 @@ "subtitle": "Co i kiedy się działo, obok Twoich wartości.", "standing": "Stałe", "startUnknown": "początek nieznany", - "openDay": "Otwórz {date}", "zoom": { "all": "Wszystko", "year": "12 miesięcy", diff --git a/src/__tests__/dense-measurement-read-guard.test.ts b/src/__tests__/dense-measurement-read-guard.test.ts index 7b5c01433..fa81848b6 100644 --- a/src/__tests__/dense-measurement-read-guard.test.ts +++ b/src/__tests__/dense-measurement-read-guard.test.ts @@ -81,6 +81,8 @@ const DENSE_TYPES: ReadonlySet = new Set([ * list, keyed `::`, with why each stays bounded. */ const ALLOWED: Record = { + "lib/analytics/summaries-slice.ts::(shorthand)": + "one hourly-mean type (pulse) over one local day, the latest: the same rows the day view reads for that day, bounded by a day, not by the sampling history", "lib/insights/comprehensive-generate.ts::(shorthand)": 'Only reached for SLEEP_DURATION (guarded by `type === "SLEEP_DURATION"`); a few stage rows per night.', "lib/insights/derived/vascular-age.ts::VASCULAR_AGE_TYPE": diff --git a/src/lib/analytics/__tests__/summaries-slice.test.ts b/src/lib/analytics/__tests__/summaries-slice.test.ts index f6b58107c..b7e3551df 100644 --- a/src/lib/analytics/__tests__/summaries-slice.test.ts +++ b/src/lib/analytics/__tests__/summaries-slice.test.ts @@ -20,7 +20,7 @@ vi.mock("@/lib/db", () => ({ // `sourcePriorityJson` to build the rank ladders. `null` here → // default ladders. user: { findUnique: vi.fn() }, - measurement: { findFirst: vi.fn() }, + measurement: { findFirst: vi.fn(), findMany: vi.fn(async () => []) }, // v1.4.36 — slim slice reads DAY buckets from `measurement_rollups` // on the happy path. The freshness watermark inside // `ensureUserRollupsFresh` also pokes `measurementRollup.findFirst`;