Repository navigation
Conversation
3 of 4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem (upstream)
On the current ryanbr/noop Android Insights Journal, opening a blank today silently saves yesterday's Yes and No as native today's answers. A screen visit fabricates controls/observations for behavioural correlations. This is distinct from the already-merged never-answered partition fix ryanbr/noop#682 and its subsequent #1768 work. Originating fork tracker: kvnloo/noop#70.
Supersedes #53. The old fork PR was against
8e4b0c1; this successor applies only its three-file diff tokvnloo/noop mainat2a1de7609843b095505274ad6fc811757210be80(identical to upstream main when read), not its stale ancestry.Root cause (at
2a1de7609843b095505274ad6fc811757210be80)android/app/src/main/java/com/noop/ui/InsightsScreen.kt:242-268: the read effect falls back tojournalDayKey(1L)and callsvm.repo.upsertJournalwhenever native today is empty; the screen's read causes a durable write before an explicit tap.InsightsScreen.kt:341-350: the pre-filled notice implies a harmless suggestion, although rows were already saved.android/app/src/main/java/com/noop/ui/JournalLog.kt:91-108: merge and day-key helpers exist; the screen needs a selection-only day-answer helper, not an implicit backfill.Change
falseversus no row and last same-day edit.JournalExplicitDayAnswersTestJUnit regressions.Tests
Not run on this successor head
68c7ccfa53c2ef01abaef9e9fe907076dcc79194: GitHub Actions is disabled for this fork; no run dispatched. Original #53's October 19 PASS belonged to the old headd58cd99b5d934ea91ca43144c4bc659065983922, not this head.Five JVM cases (hand-checked expectations):
false; a yesterday-only Yes never enters today.false.2028-02-28 + 1 day = 2028-02-29,2028-02-29 + 1 day = 2028-03-01; Mar 1 empty, explicit Feb 29 No retained.Exact-head command:
cd android && ./gradlew --no-build-cache --rerun-tasks testFullDebugUnitTest compileFullDebugKotlin assembleFullDebug.Applicable upstream checks for
android/**(read directly from workflow YAML at the base SHA): Android CI / build-and-test, i18n Coverage / check, Source Hygiene / doc-comments, Tools Python CI / linux-capture. Swift Packages CI and App build (macOS + iOS) are not triggered by these Android-only paths.Hardware needed
No physical strap or BLE hardware: this is local Journal display/persistence. Optional Android device QA: open a fresh day, confirm no fabricated row; explicitly tap Yes and No and re-open/restart; cross midnight, year, and leap-day wake-key boundaries.
Upstream readiness
One concern; original three-file patch reproduced on current upstream-mirrored main (4/36 screen, +13 helper, +70 test lines); all written files re-read identically. Upstream PR searches for Journal/Insights/prefill/carry-forward found no matching open duplicate; upstream #2765 is an unrelated SwiftUI Today-card load fix. Fork #56 was closed as a duplicate of original #53; fork #58 proposes a different opt-in copy UI and is not included.
Pending independent exact-head Android/JVM run, Android UI QA and owner review. This is a downstream-only Draft; do not open or comment upstream without separate owner approval.
Implemented by ChatGPT (mobile app, GitHub connector) for Kevin's NOOP factory.