mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 04:32:42 +00:00
chore(release): v1.21.2.1
Hotfix: the Coach and daily briefing failed for ChatGPT-provider accounts — a provider tool-call rejection surfaced as a 500. Provider failures now degrade gracefully, the Codex tool-call wire format is corrected, and the provider error body is captured for diagnosis. Also: the thinking bubble shows only the animated dots.
This commit is contained in:
1 parent
61e21ea28b
commit
5142582d3d
5 files changed
+16
-6
No files matched your search
@@ -2,6 +2,18 @@
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [1.21.2.1] — 2026-06-27 — Coach + briefing provider hotfix
|
||||
|
||||
A hotfix. No migrations, no breaking changes.
|
||||
|
||||
### Fixed
|
||||
|
||||
- The Coach and the daily briefing failed for accounts signed in through the ChatGPT provider: the provider rejected the multi-step tool-call request, and the failure surfaced as a server error instead of a graceful message. A provider failure now always degrades to a clear in-chat notice — with the correct reconnect or rate-limit prompt where those apply — rather than a 500, and the provider request follows the documented tool-call wire format so the Coach's multi-round reasoning and the briefing generate again. The provider's own error detail is now captured for diagnosis.
|
||||
|
||||
### Changed
|
||||
|
||||
- While the Coach is thinking, the bubble shows only the three animated dots — the "Thinking…" word is gone (it remains for screen readers).
|
||||
|
||||
## [1.21.2] — 2026-06-27 — Ambient Coach presence
|
||||
|
||||
A patch release. The Coach surfaces what it already computes — at the metric, on the score, in the briefing — instead of waiting to be asked. No migrations, no breaking changes.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
openapi: 3.1.0
|
||||
info:
|
||||
title: HealthLog API
|
||||
version: 1.21.2
|
||||
version: 1.21.2.1
|
||||
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.21.2",
|
||||
"version": "1.21.2.1",
|
||||
"description": "Self-hosted personal-health-tracking PWA with Withings integration, AI insights, and doctor-report PDF export.",
|
||||
"license": "PolyForm-Noncommercial-1.0.0",
|
||||
"homepage": "https://healthlog.dev",
|
||||
|
||||
+1
-1
@@ -36,7 +36,7 @@ try {
|
||||
// v1.4.38.4 → v1.4.42. Do not hand-edit; bump `package.json` and rebuild.
|
||||
const CACHE_VERSION =
|
||||
(typeof self !== "undefined" && self.__APP_VERSION__) ||
|
||||
/* @sw-version-fallback */ "v1.21.2";
|
||||
/* @sw-version-fallback */ "v1.21.2.1";
|
||||
const STATIC_CACHE = `healthlog-static-${CACHE_VERSION}`;
|
||||
const PAGE_CACHE = `healthlog-pages-${CACHE_VERSION}`;
|
||||
// v1.18.6 — read-only data cache for a curated allowlist of safe GET `/api/*`
|
||||
|
||||
@@ -1107,9 +1107,7 @@ async function streamRefusal(args: {
|
||||
* GlitchTip path. Status mapping mirrors `AllProvidersFailedError`: 401/403 →
|
||||
* credential_expired, 429 → rate_limited, everything else → unavailable.
|
||||
*/
|
||||
function classifyBubblingProviderError(
|
||||
err: unknown,
|
||||
): {
|
||||
function classifyBubblingProviderError(err: unknown): {
|
||||
code: "credential_expired" | "rate_limited" | "unavailable";
|
||||
httpStatus: number | null;
|
||||
} | null {
|
||||
|
||||
Reference in new issue
Block a user