The README already names this as "the most likely first addition, and the one that would make the widget actively useful rather than merely informative." Headway currently tells you when the train arrives; it does not tell you when to leave.
What it needs. A per-station walking time. Two ways in, cheapest first:
- a
walkMinutes field per saved station, edited from the panel and persisted in headway.json
- derived from the station coordinates already in
StationData.js plus the user's location, which Stations.search already uses for its distance sort
What is already in place. nowSec ticks every second, so a countdown crossing a threshold is detectable without refetching. The notification queue in Service.qml is a real queue rather than a single slot, and already handles a three-message burst — so adding a third notification type does not reintroduce the dropped-message bug documented there.
Design question worth settling first: whether "leave now" fires once per arrival or once per departure window, and what happens when two saved routes at one station qualify at the same moment.
The README already names this as "the most likely first addition, and the one that would make the widget actively useful rather than merely informative." Headway currently tells you when the train arrives; it does not tell you when to leave.
What it needs. A per-station walking time. Two ways in, cheapest first:
walkMinutesfield per saved station, edited from the panel and persisted inheadway.jsonStationData.jsplus the user's location, whichStations.searchalready uses for its distance sortWhat is already in place.
nowSecticks every second, so a countdown crossing a threshold is detectable without refetching. The notification queue inService.qmlis a real queue rather than a single slot, and already handles a three-message burst — so adding a third notification type does not reintroduce the dropped-message bug documented there.Design question worth settling first: whether "leave now" fires once per arrival or once per departure window, and what happens when two saved routes at one station qualify at the same moment.