Skip to content

Waykeep v1.0.0-beta.2

Pre-release
Pre-release

Choose a tag to compare

@IntegerAlex IntegerAlex released this 30 Oct 10:10
· 88 commits to main since this release

Debug-signed installable APK (irreproducible flavor, package com.waykeep.app.debug).

Second beta — adds local diagnostics and track recovery. Highlights since v1.0.0-beta.1:

Diagnostics (on-device only)

  • Every recording now keeps a private event journal: raw GPS fixes and the accuracy decision before filtering, merged trackpoints and storage decisions, database write results, recording lifecycle, markers, device state (battery, power saver, idle, screen, network transport, location permission/provider), crashes, and the previous process-exit reason on Android 11+.
  • Bounded retention: 30 days / 20 MiB total, 4 MiB per session; the active session is never pruned. Nothing is uploaded.

Share diagnostics

  • New overflow action shares only the latest session as a ZIP (manifest.json + session.jsonl) through the Android Sharesheet.
  • Both the manifest and share text warn that exact GPS coordinates and possibly fitness data are included. Old share ZIPs are purged.

Recovered track copy

  • If Android kills the recorder, the track list offers Recover copy. It builds a separate Recovered — <date> track from the journal, keeping valid fixes that the accuracy filter had rejected and merging available sensor data.
  • The original track and its rows are never modified, and retries cannot create duplicates.

Verification

  • 27 JVM tests cover writer ordering/isolation/durability, retention, archive contents, payload privacy, recovery parsing/idempotence, torn lines, and prompt gating.
  • Device-verified on a POCO 25028PC03I (Android 15): journal events, share archive, previous-exit event, recovery prompt, separate copy, and no duplicate re-offer.

Known limitations

  • Recovery only uses fixes Android delivered and the app durably logged; it cannot reconstruct missing locations.
  • Instrumented tests still cannot compile because of pre-existing stale AggregatedStatisticsTest constructors.
  • Debug-signed: Play Store / F-Droid builds need a release keystore.