Commit graph

210 commits

Author SHA1 Message Date
749064ce59 Bump version (build.sh output) 2026-09-22 21:09:13 +03:00
5f58eabcc5 Gap-fill: re-sequence the session by ts on save (filled points landed at the front on merged/split tracks with NULL seq) 2026-09-22 20:58:06 +03:00
514ff4edb3 Docs: versions table to build 473 (deployed to router + VPS) 2026-09-22 11:49:48 +03:00
862b1ffc96 Bump version (build.sh output) 2026-09-22 11:32:19 +03:00
5d24f8c3a3 Keep scroll position across same-screen re-renders (day nav, add food) instead of jumping to top 2026-09-22 11:31:37 +03:00
bb9f03131d Bump version (build.sh output) 2026-09-22 11:19:37 +03:00
dff9342c0d Balance/trend/charts follow the selected day; kcal weight is per-ride (stored) and settings weight auto-syncs to the latest weigh-in 2026-09-22 11:12:24 +03:00
6534d6601c Docs: bump versions table to build 471 (deployed to router + VPS) 2026-09-21 20:40:49 +03:00
3ba8751664 Bump version (build.sh output) 2026-09-21 20:31:34 +03:00
685151b76b Repeat analysis: sweep the hot-cell threshold and keep the most passes (out-and-back reps were lost when a twice-ridden approach inflated the reference) 2026-09-21 20:30:38 +03:00
c84767fc9e Today: 7-day balance trend really covers 7 days (-7 days is an 8-day inclusive range) 2026-09-21 20:11:10 +03:00
b379160ff5 Bump version (build.sh output) 2026-09-21 13:49:27 +03:00
c913cc530c DB restore: drop unreliable auto-restart, ask user to reopen the app (reliable, restore applies on next launch) 2026-09-21 13:48:47 +03:00
ea7c6e68a8 Bump version (build.sh output) 2026-09-21 13:45:36 +03:00
492c54990f DB restore: restart via AlarmManager (startActivity+exit raced, app just closed) 2026-09-21 13:44:54 +03:00
ae90b4368b Bump version (build.sh output) 2026-09-21 13:36:43 +03:00
9e0910a35f DB backup: drop data_dir writes, use native_root only (match gps_service_read_points pattern) 2026-09-21 13:36:17 +03:00
d4faed200d Bump version to 0.1.467 (build.sh output) 2026-09-21 13:22:50 +03:00
d0abb72aba DB backup: use native_root() for the app root (not app_data_dir parent chain) - the fix we already made for point files 2026-09-21 13:22:05 +03:00
5b3239258f Bump version to 0.1.466 (build.sh output) 2026-09-21 13:20:10 +03:00
bb8a739b7e DB backup: write export/staging next to baldav.db (app_data_dir can be the app root; ../.. hit unwritable /data/user) 2026-09-21 13:19:18 +03:00
263163cf52 Bump version to 0.1.465 (build.sh output) 2026-09-21 13:05:34 +03:00
682bee6e9a Full DB backup: export all data to a file and restore it (swap DB on next launch) 2026-09-21 13:03:32 +03:00
75eca0e501 Docs: current versions table in README; note router deploy of build 464 2026-09-21 12:43:49 +03:00
d6139a99f7 Docs: repeat-detection findings and interval backlog notes 2026-09-21 12:42:57 +03:00
db62d52650 Bump version to 0.1.464 (build.sh output) 2026-09-21 12:36:51 +03:00
15a2881c6d Split a track at a point; block merging tracks with different bikes 2026-09-21 12:36:03 +03:00
44bb08e81e Bump version to 0.1.463 (build.sh output) 2026-09-21 11:28:37 +03:00
ea462ad9c4 Repeat analysis: detect a segment ridden twice (minPasses 3 -> 2); count no longer blocks 2-rep sessions 2026-09-21 11:27:24 +03:00
c5386ae22b Bump version to 0.1.462 (build.sh output) 2026-09-18 00:09:14 +03:00
cfadad4690 Merge rides: long-press to multi-select tracks and combine them into one (reversible via orig_session_id) 2026-09-18 00:08:25 +03:00
4895cbb042 Bump version to 0.1.461 (build.sh output) 2026-09-17 23:49:12 +03:00
2ffaf1581d Repeat analysis: project onto the reference line (lateral drift no longer truncates a rep); pass time counts moving seconds only 2026-09-17 23:46:32 +03:00
de93f77c3a Bump version to 0.1.460 (build.sh output) 2026-09-17 23:20:37 +03:00
7d2581dc2d Repeat analysis: bridge a stop inside a pass, count 70%+ passes (dropped-seat rep now counts) 2026-09-17 23:17:47 +03:00
1a57f36621 Bump version to 0.1.459 (build.sh output) 2026-09-17 22:51:10 +03:00
0d8b5f97b9 Repeat analysis: pick the longest corridor traversal as reference (fix short segment) 2026-09-17 22:50:24 +03:00
b2defb4564 Bump version to 0.1.458 (build.sh output) 2026-09-17 22:12:18 +03:00
7717a73129 Repeat/interval analysis: auto-find repeated segments in one ride, table + last/first verdict 2026-09-17 22:11:10 +03:00
6dfe262801 Docs: ridden-roads router, share field selection, segments accordion 2026-09-14 13:44:09 +03:00
d79a9f217a Bump version to 0.1.457 (build.sh output) 2026-09-14 13:28:11 +03:00
4f31088af9 Track detail: fold the segment list into an accordion so action buttons stay reachable 2026-09-14 13:27:29 +03:00
0be980849c Bump version to 0.1.456 (build.sh output) 2026-09-14 13:08:17 +03:00
d9a3254ffb Share image: pick which fields go on the picture (remembered), add max speed 2026-09-14 13:07:32 +03:00
999361a2e9 Bump version to 0.1.455 (build.sh output) 2026-09-14 12:58:33 +03:00
eb2aab3e6b Share modal joins the window stack so back closes it, not the screens behind 2026-09-14 12:57:52 +03:00
a2cc150298 Bump version to 0.1.454 (build.sh output) 2026-09-14 12:47:04 +03:00
a30c742bc6 Ridden-roads-preferred router: plan over your own tracks first
Planner now tries a route over roads you have actually ridden before
falling back to BRouter public data:
- Rust get_ride_graph(min_speed): nodes snapped to ~20m grid (walk=1
  points excluded), edges between consecutive same-session points with
  weight = node-to-node distance (consecutive-point distance loses
  intra-cell travel and makes Dijkstra underestimate).
- JS loadRideGraph cache, grid-indexed nearest-node, Dijkstra, rideRoute
  (snap <=60m, drop if >2.5x straight line).
- routeDirty: rideRoute first, BRouter(+nogos) in the gaps. Ridden leg
  has no elevation -> thin line; BRouter -> casing (visually distinct).
- formatDistance now rounds metres (was 966.145...m).
2026-09-14 12:35:39 +03:00
c564c419db Walk detection in rides: colour it, keep it out of the ridden roads
Stage B of the ridden-roads work. GPS.detectWalk() flags contiguous low-speed
runs (< walkDetectKmh, or the single-speed 30-rpm push speed, for >= walkMinRunSec)
as walking inside a bike/other ride. Persisted per point (gps_points.walk, via
DB.setWalkFlags in recalculateSession + recomputeAllStats). rebuild_roads maps a
walk point to atype 'walk' so it colours as walking and is not treated as a
rideable road. Track detail colours walk runs and shows 'пешком: N мин / X км'.
Verified detectWalk on real tracks: 98% on a mostly-pushed 4km ride vs 1% on a
normal 16km ride.
2026-09-14 12:14:04 +03:00
abdcb94f55 Bump version to 0.1.453 (build.sh output) 2026-09-14 11:53:11 +03:00