- GET /api/directions proxies OSRM (OSRM_URL env, default public demo
server) with validation, Leaflet-order geometry, 24h capped cache
- Map draws straight lines first, then upgrades ground legs to
road-following polylines with routed km (marked road) as directions
arrive; silent fallback to great-circle on failure; air legs unchanged
- README documents OSRM_URL
- Type set is now activity/stay/transport/flight/rental/note; hotel, travel
and immigration are removed with idempotent startup data migrations
(hotel->stay, travel->transport, immigration->activity with flag prefix)
- Transport entries carry an optional mode (train/bus/ferry/taxi/drive/other)
that drives the chip/map icon; route stops expose transport_mode
- Creating a stay auto-creates a bridging transport to its neighbouring
stays unless a transport/flight already covers the gap (one-shot)
- Summary: transports count replaces hotels/travelLegs