Skip to content

Refresh paged history after local mutations - #12

Open
AKolenda wants to merge 3 commits into
Tricked-dev:masterfrom
AKolenda:fix/paged-history-sync-recovery
Open

Refresh paged history after local mutations#12
AKolenda wants to merge 3 commits into
Tricked-dev:masterfrom
AKolenda:fix/paged-history-sync-recovery

Conversation

@AKolenda

@AKolenda AKolenda commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Refresh paged Track history from Room after a local stop, delete, or undo so entries update without reopening the app.
  • Preserve pending-delete intent when a sync conflict is captured and label the Review action as "Delete entry".
  • Clarify sync recovery guidance in English, Dutch, and Japanese.
  • Keep retention tests off shared disk-backed DataStore state so concurrent CI host gates complete reliably.

Scope and acceptance criteria

  • A stopped entry appears in a paged history window after Room publishes the completed entry.
  • A deleted entry leaves a paged history window, and undo restores it.
  • Sync recovery distinguishes deletion conflicts from update conflicts.
  • Focused repository, history-window, and ViewModel tests cover the changed behavior.

Validation

.\gradlew.bat --no-daemon :app:testDebugUnitTest --tests "dev.tricked.solidverdant.ui.tracking.TrackingViewModelMutationTest" --rerun-tasks -> BUILD SUCCESSFUL
.\gradlew.bat --no-daemon spotlessCheck testDebugUnitTest lintDebug assembleDebug assembleDebugAndroidTest --rerun-tasks -> BUILD SUCCESSFUL

Verification status by scope:

  • Host/unit/lint: Green locally and on all three GitHub runners.
  • Screenshot/UI: Green through the full local JVM test suite. No screenshot baseline changed.
  • Device/E2E: Partial. GitHub shard 0 passed. Shards 1 and 2 failed on mixed emulator UI timing failures.
  • Backend/server evidence: Not run. The production change updates local Room-driven presentation and conflict labeling.

Evidence and remaining gaps

The first GitHub run exposed disk-backed DataStore timeouts in TrackingViewModelMutationTest. The tests now inject deterministic cached values and flows. All three GitHub host gates pass after that change.

The remaining red checks are instrumentation-only. Failures span unrelated search, calendar, external-timer, sync-navigation, and immediate-stop UI waits. The upstream repository does not allow the fork owner to rerun failed jobs; a maintainer can rerun jobs 1 and 2 from the latest workflow run.

Safety and working tree

  • No tokens, work data, or machine-specific paths are included.
  • Unrelated changes were preserved.
  • Generated artifacts are intentional and reviewed.

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