mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 12:32:43 +00:00
chore(release): v1.30.32 — consent that stays withdrawn; quotes that come from the document
This commit is contained in:
1 parent
0627648bea
commit
2ab21bb433
2 files changed
+51
-2
No files matched your search
@@ -2,6 +2,48 @@
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [1.30.32] — 2026-07-19
|
||||
|
||||
- **A withdrawn AI consent stays withdrawn.** Opening the AI settings
|
||||
granted consent again if you had taken it back, and recorded it as
|
||||
though you had done it yourself. A withdrawal is now a standing
|
||||
decision that only an explicit act can lift.
|
||||
- **The web can withdraw AI consent at all.** Until now only the app
|
||||
could; on the web, consent could be given and never taken back. The AI
|
||||
settings show what currently stands and offer the control that changes
|
||||
it. Withdrawing takes effect immediately and deletes nothing you have
|
||||
recorded.
|
||||
- **Documents get read after you switch automatic reading on.** Reading
|
||||
was only ever started at upload, so documents already in your vault
|
||||
stayed unread no matter what the setting said. Turning it on now works
|
||||
through what is already there, in batches, asking the same permission
|
||||
as any other read.
|
||||
- **A quoted passage in a document review is the document's own text.**
|
||||
The quote shown for a finding was the wording that came back from the
|
||||
read, not the line it was taken from — so it could be a paraphrase of
|
||||
your own record presented as a verbatim quote. The passage is now
|
||||
looked up in the document itself, and a finding whose source cannot be
|
||||
located says so instead of showing a quote you cannot check.
|
||||
- **Pages that arrive with your data pre-loaded now say so on the wire.**
|
||||
They were never cacheable in practice, but nothing stated it. Anything
|
||||
behind the sign-in wall is now marked private and uncacheable at the
|
||||
edge, so no proxy or future change can hold one person's record and
|
||||
hand it to someone else.
|
||||
- **Deleting your last reading of a kind no longer leaves stale weekly,
|
||||
monthly and yearly figures.** The daily figure went; the longer spans
|
||||
kept the old aggregate indefinitely.
|
||||
- **The documented API matches what the endpoints return.** Twenty
|
||||
corrections, including a total that the measurements list reports in a
|
||||
different place than the specification claimed, four medication figures
|
||||
named wrongly, a missing intake source, and eleven error codes that
|
||||
were never written down.
|
||||
- **A retry after an unusable AI answer asks for the right shape.** The
|
||||
correction prompt demanded fields that do not exist and named none of
|
||||
the ones actually required, so the one corrective attempt steered away
|
||||
from the contract instead of towards it.
|
||||
|
||||
No migrations. No breaking changes.
|
||||
|
||||
## [1.30.31] — 2026-07-19
|
||||
|
||||
- **Today shows a dose before it is late.** The card only surfaced a
|
||||
|
||||
@@ -107,12 +107,19 @@ describe("PATCH /api/auth/me/documents-auto-ai-read — catch-up scheduling", ()
|
||||
});
|
||||
|
||||
it("still mints the consent receipt on the flip that schedules the pass", async () => {
|
||||
// The catch-up rides the same act of consent, never around it.
|
||||
// The catch-up rides the same act of consent, never around it. The mint
|
||||
// is marked `affirmative` because switching the toggle on IS the consent
|
||||
// act: unlike the settings-mount heal, it may lift an earlier
|
||||
// withdrawal, which is the user deciding again rather than the page
|
||||
// deciding for them.
|
||||
withPrevious(false);
|
||||
|
||||
await PATCH(mkPatch(true));
|
||||
|
||||
expect(ensureWebAiConsentReceipt).toHaveBeenCalledWith("user-1");
|
||||
expect(ensureWebAiConsentReceipt).toHaveBeenCalledWith(
|
||||
"user-1",
|
||||
"affirmative",
|
||||
);
|
||||
});
|
||||
|
||||
it("persists the flag field-by-field", async () => {
|
||||
|
||||
Reference in new issue
Block a user