Skip to content

fix(android): don't auto-log yesterday's Journal answers on Insights open - #56

Closed
kvnloo wants to merge 1 commit into
sync/origin-20261018-8e4b0c1from
fix/android-journal-no-implicit-carry-20261019
Closed

kvnloo wants to merge 1 commit into
sync/origin-20261018-8e4b0c1from
fix/android-journal-no-implicit-carry-20261019

Conversation

@kvnloo

@kvnloo kvnloo commented Oct 19, 2026

Copy link
Copy Markdown
Owner

Problem

Android InsightsScreen silently copied all of yesterday's native Journal Yes/No answers into today when the screen was opened with an empty day. The copy was immediately persisted with upsertJournal, even though the user never confirmed those observations. Merely viewing Insights could manufacture intervention and explicit No control days, contaminating effect rankings and experiment baselines.

The Apple Insights screen does not auto-write previous-day answers; this also restores platform parity.

Fix

  • Keep a day empty until the wearer explicitly logs an answer.
  • Read the selected day's existing native answers through a pure helper; never infer Yes/No from yesterday.
  • Remove the misleading auto-prefill banner/state.
  • Add three JVM regression cases: no implicit carry of Yes or No, selected-day isolation, and year-boundary isolation.
  • Do not rewrite earlier Journal rows: past automatic copies cannot reliably be distinguished from genuinely logged answers without provenance.

Verification

  • Source-audited against pinned ryanbr/noop@8e4b0c16.
  • Three Android files only; no database migrations, BLE/scoring formula changes, new UI text/translation keys, server, telemetry, permission, or network changes.
  • Android app build + JVM tests pending current-head CI; no physical-device testing claimed.

Attribution and promotion

The original Journal system, native-vs-imported precedence, and explicit-No comparison semantics are NOOP maintainer work (including ryanbr's #1768, following digitalerdude #682). This corrects a missed screen-open call site without reimplementing those systems.

Fork-only draft, not an upstream request. Independent review, current-head CI and per-PR approval required. This project is PolyForm Noncommercial, not OSI-open-source.

kvnloo commented Oct 19, 2026

Copy link
Copy Markdown
Owner Author

Consolidating this parallel draft into the earlier, equivalent fork PR #53 rather than maintaining duplicate patches. The one additional New Year day-isolation regression was carried over in commit b307487 on #53. No upstream action, original branch and commits remain available for provenance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant