Skip to content

Pico Transit v0.2.3

Pre-release
Pre-release

Choose a tag to compare

@CJFData CJFData released this 18 Aug 05:12
· 28 commits to pico-transit since this release

Pre-release, built for real-world testing -- not a final/stable cut.

What's new

  • STM Montréal crash fixes: confirmed OOM crashes on real hardware, both during download (Ktor buffered the whole response into memory before writing to disk -- now streams straight to disk) and during parsing (one SQLite transaction held open for the whole ~5.1M-row feed -- now commits in 50,000-row batches per table).
  • "Only download over Wi-Fi" setting (on by default) -- schedule downloads and update checks wait for Wi-Fi, so a refresh never surprises you with cellular data usage. Falls back to your last-downloaded schedule in the meantime, and resumes automatically the moment Wi-Fi reconnects.
  • "Clear schedule cache" Settings action -- frees up space by deleting every agency's downloaded schedule, then re-downloads your current one right away. Useful if a schedule ever ends up in a bad state.
  • 12 new agencies, static schedules only for now: BART, SFMTA Muni, AC Transit, Caltrain, VTA, LA Metro (bus+rail merged into one entry), CTA, Metra, Pace, NYC Subway, LIRR, and Metro-North. LIRR and Metro-North also have live vehicle tracking wired in; the other 10 are labeled "(No Live)" in the agency picker so it's clear upfront they're schedule-only for now -- most either need an API key we haven't obtained yet, or don't publish a compatible live feed at all.

Known limitations in this build

  • The 10 "(No Live)" agencies are static-schedule-only -- no live vehicle tracking or live ETAs yet.
  • CTA's feed is large (~6M rows, similar scale to STM's) -- confirmed it ingests successfully on a test device, but if you hit anything slow or crash-y on first schedule download, that's exactly the kind of report we want.
  • A comment-audit pass over this release's changes is in progress and revisions will land in a near-term follow-up commit -- doesn't affect app behavior, just internal code documentation.

Testing this build

This APK is signed with the Light SDK's own dev-testing key (same one every Light SDK tool uses locally), not an official Light-signed release. Install via Obtainium (or sideload directly) and try switching between agencies, especially the new ones -- feedback on crashes, slow ingests, or anything that looks wrong is very welcome.