- Redesign results table from 8 columns to 4 (National Rail, Transfer,
Eurostar, Total), making GWR and Eurostar legs consistent with each other
- Move CET label next to Paris arrival time; show duration · train number
on one line below
- Move "Too early" label into the National Rail column for unreachable rows
- Remove horizontal scrollbar (drop card-scroll / overflow-x: auto)
- Add DEFAULT_MIN_CONNECTION / DEFAULT_MAX_CONNECTION to config/default.py
(70 / 150 min); remove all hardcoded fallback values from app.py and
templates
- Redirect to clean URL when both connection params equal their defaults;
omit params from all generated links when at default values
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
config/default.py holds defaults using ~/lib/data/tfl (expanduser, so safe
to commit). app.py loads it then overlays config/local.py if present, pushing
paths into cache and circle_line modules. config/local.py is gitignored for
machine-specific absolute paths (e.g. on the server where www-data runs).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>