mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 20:42:43 +00:00
Largest feature delta in the v1.4.x line. Insights expands into seven dedicated metric sub-pages; GLP-1 medication tracking lands end-to-end (drug-level chart with Research Mode acknowledgment, EMA titration ladder, cadence + compliance, side-effect taxonomy, pen/vial inventory); cross-source priority becomes a two-axis resolver; per-user timezone threads through ten analytics surfaces; Withings activity + sleep v2 sync; onboarding rebuilt as a nested-route wizard; Personal Records ship end-to-end; Health Score provenance accordion; Coach runs native first-party prompts across six locales with a 1800-assertion refusal-probe matrix; OpenAPI drift gate hard-fails; multi-arch GHCR image. Migrations 0043 through 0060 are additive and forward-only. PROMPT_VERSION 4.24.0 → 4.25.0 with GROUND RULE 9 (refuses dose recommendations) and GROUND RULE 15 (refuses drug-level estimates with MDR + MDCG 2021-24 cites). See CHANGELOG.md for the full per-section delta.
24 lines
1.0 KiB
SQL
24 lines
1.0 KiB
SQL
-- v1.4.25 W7 — per-user timezone feature (Option B from
|
|
-- `.planning/feature-user-timezone.md`).
|
|
--
|
|
-- HealthLog already ships a `users.timezone` column (default
|
|
-- 'Europe/Berlin', NOT NULL) from the original schema, so the
|
|
-- per-user side of this feature is non-additive at the storage
|
|
-- layer: the existing column is the canonical "display timezone"
|
|
-- that the resolver in `src/lib/tz/resolver.ts` reads. No change is
|
|
-- required on `users`.
|
|
--
|
|
-- The admin-managed default for *new* accounts is the only new
|
|
-- column. It lives on the singleton `app_settings` row and is
|
|
-- nullable so the resolver can fall back to "Europe/Berlin" when an
|
|
-- operator never touches the setting. Validated against
|
|
-- `Intl.supportedValuesOf('timeZone')` upstream — the column is just
|
|
-- a varchar(64) bag.
|
|
--
|
|
-- Forward-only / additive: ALTER TABLE ADD COLUMN with a nullable
|
|
-- type and no default. Existing rows are untouched. Rollback would
|
|
-- be a manual DROP COLUMN.
|
|
|
|
ALTER TABLE "app_settings"
|
|
ADD COLUMN IF NOT EXISTS "default_user_timezone" VARCHAR(64);
|