aboutsummaryrefslogtreecommitdiff
path: root/lib (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-05-10space time diagrams: real time & time zonesstuebinm3-86/+178
2024-05-09rough initial work on space-time diagramsstuebinm3-0/+107
this does svg templating with hamlet. It might be better to use a javascript library instead (templating svgs is a little confusing tbh), but for now i'll see how far i get with this.
2024-05-09restructure: split web frontend into several modulesstuebinm6-302/+479
2024-05-08restructure: split up the server modulestuebinm5-302/+394
2024-05-03fix: tripupdates should not contain old tripsstuebinm1-2/+2
apparently i forgot an if here?
2024-05-02restructure: get the tracker to work againstuebinm8-135/+268
This should hopefully be the final (major) part of the restructuring: a tracker no longer has to know which trip it is on (and indeed it has no idea for now), instead the server keeps state about which trips are currently running and will insert incoming pings in a hopefully reasonable manner, based on their geoposition & time. There's lots of associated TODO items here (especially there should be manual overrides for all this logic in the web ui), but that's work for a future me. (incidentally, this also adds support for sending all log messages out via ntfy-sh)
2024-04-24correct styling on mobile devicesstuebinm1-1/+4
2024-04-24restructure: save a ticket's stop in the databasestuebinm7-327/+502
now mostly independent of the gtfs, but still no live-reloading of it.
2024-04-20restructure: have "tickets" independent of gtfsstuebinm8-192/+305
this is mostly meant to guard against the gtfs changing under tracktrain, and not yet complete (e.g. a ticket does not yet save its expected stops, which it probably should).
2024-04-17general housekeepingstuebinm9-72/+29
jumps to GHC2021 as default language, adds in some fields, moves the old org mode glossary to markdown, etc.
2024-04-17replace protocol-buffers with proto-lensstuebinm3-282/+198
I do not really like either option, but at least the second one seems more likely to be maintained (and a little less clunky to use, too, for what it's worth).
2023-05-26change server timetables apistuebinm1-1/+2
2023-05-26expose sequence length of trip to onboard unitstuebinm1-0/+1
2023-05-23gtfs-rt: discard old trips from tripupdates feedstuebinm1-7/+12
google maps complains about it otherwise
2023-05-20expose the gtfs.zip used in the APIstuebinm5-29/+49
2023-03-11simple on-board toolsstuebinm2-10/+26
these are just enough to send train positions to tracktrain with the current API, but are somewhat brittle (e.g. will fail if not restarted between trips, etc.)
2023-02-23don't hardcode cssstuebinm4-68/+10
2023-01-28better web interface & cssstuebinm3-30/+84
2023-01-22switch to ghc 9.0.2stuebinm2-27/+46
this makes the nix builds /much/ nicer
2023-01-22oauth2 via uffdstuebinm4-48/+210
this is unfortunately uffd-specific, since oauth2 is apparently sort of a vague standard. But since it doesn't actually do much it should probably be possible to make it fully configurable & generic if needed.
2022-12-13simple realtime position mapstuebinm3-2/+58
(what was that about doing the realtime stuff somewhere else and /not/ in this monolithic server thingie? oh well …)
2022-12-12stylish-haskell runstuebinm3-6/+7
2022-12-12a subscribe websocket for real-time location infostuebinm2-7/+37
(for a leaflet map view or sth which isn't implemented yet)
2022-12-03gtfs-rt: set trip_descriptor.schedule_relationshipstuebinm1-1/+2
(hardcoded for now, since we don't have new trips)
2022-12-03unreasonably stupid and probably unnecessary codestuebinm2-5/+18
(but maybe google will like it)
2022-12-03set uncertainty in gtfs-rtstuebinm1-2/+2
2022-12-03always display secondsstuebinm1-2/+2
(this is a hack to make the gtfs rt valid)
2022-12-03this is almost certainly bullshitstuebinm1-6/+6
2022-12-03let's try something else as wellstuebinm1-1/+2
2022-12-03another gtfs rt thingie?stuebinm1-1/+2
2022-12-03fix google warningstuebinm1-1/+1
2022-11-29controlroom: show tripShortName instead of tripIdstuebinm2-8/+20
since the ids really should be internal to the gtfs, and not needed in "normal" contexts.
2022-11-29respect gtfs start/end datestuebinm1-1/+4
not only is this a surprisingly stupid bug, i distinctly remember writing these few lines sometime ago … but they're not in the commit history, so i guess they got lost somehow??
2022-10-16fix gtfs tripupdatesstuebinm1-83/+92
2022-10-16simple prometheus metricsstuebinm3-7/+35
2022-09-14remove some extrapolation bugsstuebinm4-61/+66
2022-09-11on-board-unit: display estimated delay etc.stuebinm3-6/+12
2022-09-11correct the generated openapi descriptionstuebinm2-5/+22
2022-09-10gtfs realtime: add tripUpdate feedstuebinm5-33/+104
2022-09-10use websockets for the on-board-unitstuebinm1-32/+31
2022-09-09fix the close-to-a-station bugstuebinm1-22/+31
(previously tracktrain could end up in a situation where the next and last station weren't actually adjacent stops, which messed up the prediction)
2022-09-03init onboard-unitstuebinm1-0/+21
2022-09-02reasonable delay forecastsstuebinm4-66/+96
2022-08-31guess at future delays (horrible, incorrect, and unfinished)stuebinm5-43/+95
2022-08-28some config thingyesodstuebinm6-29/+64
works kinda well, but doesn't complain about unknown config values in json, which is kinda hmpf tbh
2022-08-28this does way too much tbh (also functioning delays)stuebinm6-99/+346
most of it deals with timezones, and all the weird implications that has
2022-08-27controlroom: lots of pretty little knobsstuebinm7-123/+185
(also some database schema changes, for good measure)
2022-08-26controlroom: some stylingstuebinm1-37/+84
2022-08-14ControlRoom: default layoutstuebinm1-18/+30
2022-08-14control room: translations & form inputstuebinm5-201/+162
still basic, but works pretty well overall