Skip to content

BayesianBahn 0.1.2

Choose a tag to compare

@github-actions github-actions released this 17 Aug 12:27
· 115 commits to main since this release

Changed

  • The journey search picks transfer stations by how close they are to the
    destination instead of by how big they are. It used to spend its limited
    search budget on the largest station on a train's route — for Ulm →
    Türkheim (Bay) that meant Stuttgart Hbf, 130 km the wrong way, and the
    change at Memmingen that works was reached only on the fourth of six
    attempts. The bundled station list now carries coordinates for this.

  • The journey search tries up to 8 transfer stations instead of 6. Measured
    over 44 journeys that provably have a one-transfer connection, 6 attempts
    find 93% of them and 8 find 98%, with no further gain up to 12.

  • "No plannable trains found" now says what it means: only direct journeys and
    journeys with one change are searched, so DB's apps may still find a route
    with more changes. The restriction is also stated in the results list, the
    README and the store description.

Fixed

  • Journeys to stations whose name differs between data sources ("Türkheim (Bay)
    Bahnhof" in the station list, "Türkheim(Bay)Bf" in DB's route data) reported
    "No plannable trains found" even for routes served every hour. Stations are
    now identified by their EVA number, asking DB which name it uses, instead of
    by comparing spellings. On a sample of 100 stations, about one in five is
    spelled too differently for any string comparison to match.
  • "Plan a connection from this train" no longer dead-ends with Transfer station "..." not found. The transfer stations it offers are named by DB's
    route data ("Frankfurt(M) Flughafen Regionalbf") while the station list
    spells them out ("Frankfurt (Main) Flughafen Regionalbahnhof"); they are now
    matched by station number.
  • Refreshing the delay history retries a reset connection instead of showing an
    error. A 15 MB download hit by an HTTP/2 stream reset used to fail the tap,
    and worked when tapped again.
  • Searching a date more than a day ahead says what it is doing and that it can
    take a few minutes, instead of showing a bare spinner that looks like a hang.
  • Losing the network no longer ends a search with a raw socket error. The
    downloaded history is a timetable in its own right, so the search falls back
    to it and says that the times carry no live delays.