mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-07 04:12:04 +00:00
chore(release): v1.15.15 — one warm, motivating assistant voice
This commit is contained in:
1 parent
e3bb33f4f0
commit
d51e569c59
5 files changed
+74
-3
No files matched your search
@@ -2,6 +2,12 @@
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [1.15.15] — 2026-06-07 — one warm, motivating assistant voice
|
||||
|
||||
### Changed
|
||||
|
||||
- **The whole assistant speaks in one voice.** The daily briefing, key findings, the insight write-ups, and the Coach now share the same warm, motivating, advisory tone the metric and wellness assessments adopted last release — encouraging and grounded in your data, honest about what needs attention, never generic. (Already-generated briefing text refreshes within about a day; the Coach speaks the new way immediately.)
|
||||
|
||||
## [1.15.14] — 2026-06-07 — manage every detail page, calmer mood charts
|
||||
|
||||
### Added
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
openapi: 3.1.0
|
||||
info:
|
||||
title: HealthLog API
|
||||
version: 1.15.14
|
||||
version: 1.15.15
|
||||
description: >-
|
||||
Self-hosted personal-health-tracking PWA — public API surface for the iOS native client and external ingest.
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "healthlog",
|
||||
"version": "1.15.14",
|
||||
"version": "1.15.15",
|
||||
"description": "Self-hosted personal-health-tracking PWA with Withings integration, AI insights, and doctor-report PDF export.",
|
||||
"license": "AGPL-3.0-only",
|
||||
"homepage": "https://healthlog.dev",
|
||||
|
||||
@@ -14,7 +14,7 @@ BEGIN;
|
||||
|
||||
-- ── User (FEMALE, USER role) ──────────────────────────────────────
|
||||
INSERT INTO users (id, username, email, password_hash, role, height_cm, date_of_birth, gender, timezone, locale, onboarding_completed_at, created_at, updated_at)
|
||||
SELECT 'usr_demo_' || replace(gen_random_uuid()::text, '-', ''),
|
||||
SELECT 'usr_demo_cf31025295714ece8d91f5af13afd76d',
|
||||
'demo', 'demo@healthlog.app',
|
||||
'$argon2id$v=19$m=19456,t=2,p=1$3KvrEIuI5UnwG53GPbS71w$mL8ZQotIXn9iLFIw3yHXbh6SitX1w7TXKI5ahWcKkF8',
|
||||
'USER', 168, TIMESTAMP '1992-03-15', 'FEMALE', 'Europe/Berlin', 'en', NOW(), NOW(), NOW()
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
-- HealthLog demo medications for apps01 — canonical ids the 1-year extender
|
||||
-- (scripts/seed-demo-extend-1y.sql) references for its intake history.
|
||||
-- Idempotent. Creates the two demo meds + schedules so the extender's
|
||||
-- medication_intake_events FK resolves and the medication cards/compliance
|
||||
-- surfaces populate. Demo user id is the canonical seeded id.
|
||||
--
|
||||
-- Run: ssh apps-01 'docker exec -i <db-container> psql -U healthlog -d healthlog' < scripts/seed-demo-meds-apps01.sql
|
||||
|
||||
BEGIN;
|
||||
|
||||
DO $$
|
||||
BEGIN
|
||||
IF NOT EXISTS (SELECT 1 FROM users WHERE id = 'usr_demo_cf31025295714ece8d91f5af13afd76d') THEN
|
||||
RAISE EXCEPTION 'seed-demo-meds: demo user not found';
|
||||
END IF;
|
||||
END $$;
|
||||
|
||||
-- ── Med A — Mounjaro (GLP-1, weekly on Sundays @ 08:00) ────────────
|
||||
INSERT INTO medications
|
||||
(id, user_id, name, dose, treatment_class, doses_per_unit, active, notifications_enabled, starts_on, created_at, updated_at)
|
||||
VALUES
|
||||
('cmq2lzjqh005x01nrys2crzg9', 'usr_demo_cf31025295714ece8d91f5af13afd76d',
|
||||
'Mounjaro', '5 mg', 'GLP1', 4, true, true,
|
||||
(NOW() - INTERVAL '380 days')::date, NOW() - INTERVAL '380 days', NOW())
|
||||
ON CONFLICT (id) DO UPDATE SET
|
||||
name = EXCLUDED.name, dose = EXCLUDED.dose, treatment_class = EXCLUDED.treatment_class,
|
||||
doses_per_unit = EXCLUDED.doses_per_unit, active = true, starts_on = EXCLUDED.starts_on,
|
||||
updated_at = NOW();
|
||||
|
||||
INSERT INTO medication_schedules
|
||||
(id, medication_id, window_start, window_end, label, times_of_day, days_of_week, rrule)
|
||||
VALUES
|
||||
('sched_demo_medA_mounjaro', 'cmq2lzjqh005x01nrys2crzg9',
|
||||
'08:00', '10:00', 'Wöchentlich', ARRAY['08:00'], '7', 'FREQ=WEEKLY;BYDAY=SU')
|
||||
ON CONFLICT (id) DO UPDATE SET
|
||||
window_start = EXCLUDED.window_start, window_end = EXCLUDED.window_end,
|
||||
label = EXCLUDED.label, times_of_day = EXCLUDED.times_of_day,
|
||||
days_of_week = EXCLUDED.days_of_week, rrule = EXCLUDED.rrule;
|
||||
|
||||
-- ── Med B — Ramipril (twice daily @ 08:00 + 18:00) ─────────────────
|
||||
INSERT INTO medications
|
||||
(id, user_id, name, dose, treatment_class, active, notifications_enabled, starts_on, created_at, updated_at)
|
||||
VALUES
|
||||
('cmq2m0mzk006101nrdpijbij0', 'usr_demo_cf31025295714ece8d91f5af13afd76d',
|
||||
'Ramipril', '5 mg', 'GENERIC', true, true,
|
||||
(NOW() - INTERVAL '380 days')::date, NOW() - INTERVAL '380 days', NOW())
|
||||
ON CONFLICT (id) DO UPDATE SET
|
||||
name = EXCLUDED.name, dose = EXCLUDED.dose, treatment_class = EXCLUDED.treatment_class,
|
||||
active = true, starts_on = EXCLUDED.starts_on, updated_at = NOW();
|
||||
|
||||
INSERT INTO medication_schedules
|
||||
(id, medication_id, window_start, window_end, label, times_of_day, days_of_week, rrule)
|
||||
VALUES
|
||||
('sched_demo_medB_ramipril', 'cmq2m0mzk006101nrdpijbij0',
|
||||
'08:00', '18:00', 'Morgens & Abends', ARRAY['08:00','18:00'], NULL, 'FREQ=DAILY')
|
||||
ON CONFLICT (id) DO UPDATE SET
|
||||
window_start = EXCLUDED.window_start, window_end = EXCLUDED.window_end,
|
||||
label = EXCLUDED.label, times_of_day = EXCLUDED.times_of_day,
|
||||
days_of_week = EXCLUDED.days_of_week, rrule = EXCLUDED.rrule;
|
||||
|
||||
COMMIT;
|
||||
|
||||
\echo === demo meds ===
|
||||
SELECT id, name, dose, treatment_class, active FROM medications
|
||||
WHERE user_id = 'usr_demo_cf31025295714ece8d91f5af13afd76d' ORDER BY name;
|
||||
Reference in new issue
Block a user