Local session store and lenient in-session detection

commit

2026-02-22 · schuss

Big day. Added LocalSessionStore so runs, GPS playback, and aggregate stats persist on disk and the activity views aren't empty when the API is down or slow, with a merge step that lets the backend overwrite local once it confirms sync. Rewrote activity classification to take a sessionActive fast path in both the foreground classifier and BackgroundActivityInference: once we know the user is at a resort, descending means skiing and ascending only counts as a lift if the speed actually looks lift-like, which should stop the herringbone-equals-gondola problem. Also fixed the run state machine so transition/unknown blips don't break skiing→lift detection, gave ActivitiesView and ActivityDetailView a pass with the SchussCard wrapper, and wrestled the Nest backend into a Vercel serverless handler across two "try to fix backend" commits. The backend fix I am only cautiously optimistic about.

4 commits across 1 repo (schuss: 4). 15 files changed. Diff was truncated for summarization.

Related