| Commit message (Collapse) | Author | Files | Lines |
|
can't believe it was this simple … but seems to be all that was wrong.
Tracktrain should now automatically remove tripUpdates for tickets whose
trip has ended more than five minutes ago (taking delay into account).
Nothing in the gtfs-rt spec says you should do this, but google likes to
complain if one doesn't do this.
|
|
also make the code generally look nicer. Turns out I made a lot more
fragile assumptions than I thought I did.
|
|
now takes all potential stops along each trip into account when guessing
tickets; also checks if a ticket is still likely in case the tracker
switched its direction. This should solve many cases where a tracker is
accidentally turned off or falls asleep halfway before the last station
of one trip, then wakes up in the middle of the next.
|
|
|
|
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.
|
|
|
|
|
|
apparently i forgot an if here?
|
|
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)
|
|
|
|
now mostly independent of the gtfs, but still no live-reloading of it.
|
|
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).
|
|
jumps to GHC2021 as default language, adds in some fields, moves the old
org mode glossary to markdown, etc.
|
|
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).
|
|
google maps complains about it otherwise
|
|
|
|
|
|
|
|
this makes the nix builds /much/ nicer
|
|
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.
|
|
(what was that about doing the realtime stuff somewhere else and /not/
in this monolithic server thingie? oh well …)
|
|
|
|
(hardcoded for now, since we don't have new trips)
|
|
(but maybe google will like it)
|
|
|
|
|
|
|
|
|
|
|
|
since the ids really should be internal to the gtfs, and not needed in
"normal" contexts.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
works kinda well, but doesn't complain about unknown config values in
json, which is kinda hmpf tbh
|
|
most of it deals with timezones, and all the weird implications that has
|
|
(also some database schema changes, for good measure)
|
|
|
|
|
|
still basic, but works pretty well overall
|
|
aka use something meant for webapps to write the webapp
|
|
|
|
(it can do useful stuff! but it also still breaks on some things!)
|
|
tbh i've kinda lost track at what has all been changed in this, but the
control room form handling now works, and i can write announcements into
the database. Now on to making it do useful things!
|
|
this does some GHC generics witchery, now in its own module!
|
|
just causes pain and isn't really useful for anything since it's a
webform API meant to be used by the web frontend, not by other
applications.
|
|
this automatically derives lucid html versions of ADTs which are
hopefully compatible with the FormUrlEncoded type class
|