Commit graph

188 commits

Author SHA1 Message Date
Derf Null
852c7797b0
Update HAFAS polylines prior to checkout
In case of diversions, the polyline fetched at checkin time may no longer be
accurate. Request a new polyline prior to checkout to address this.
Closes #66
2023-04-01 18:05:32 +02:00
Derf Null
abc1e4e3a8
work: avoid race conditions with frontend when calling checkout 2023-03-10 17:18:08 +01:00
Derf Null
f79e34fb62
worker: select on arr and dep eva for all arr/dep updates
still missing (TODO): add_route_timestamps
2023-03-10 16:57:31 +01:00
Daniel Friesel
b725d7d52c set default visibility to unlisted 2023-03-03 15:05:28 +01:00
Daniel Friesel
6d261197e3
set visibility per journey (wip)
some odds and ends left to polish, but ready for testing
2023-02-27 22:14:54 +01:00
Daniel Friesel
fb3878665b
update ze copyright 2023-02-19 09:35:38 +01:00
Daniel Friesel
3da22fc8f9
improve inconsistency list 2023-02-04 22:17:57 +01:00
Daniel Friesel
6b4a82da32
inconsistent journeys: link to journeys 2023-02-04 21:17:45 +01:00
Daniel Friesel
f115283cb8
account: implement immediate deletion 2023-01-22 13:07:59 +01:00
Daniel Friesel
3499311154
Move account deletion to Users model 2023-01-22 13:07:46 +01:00
Daniel Friesel
1c63574245
users: rename "add_user" to "add" and "get_data" to "get" 2023-01-22 12:44:19 +01:00
Daniel Friesel
3f08f86ac2
migration: only select required fields 2023-01-18 18:36:11 +01:00
Daniel Friesel
4abc43b72e
change route/stop layout to [name, eva, {data}] 2023-01-15 16:37:32 +01:00
Daniel Friesel
e42b7030d0
update integritycheck to use internal station database 2023-01-15 06:48:06 +01:00
Daniel Friesel
dbd9d9951f
decrease amount of traewelling get_status requests 2023-01-07 13:57:47 +01:00
Daniel Friesel
61b91fe4b2
log traewelling sync HTTP status to influxdb 2023-01-07 13:31:14 +01:00
Daniel Friesel
628bd319d6
work, traewelling: only push to influxdb in prod mode 2023-01-07 13:07:29 +01:00
Daniel Friesel
4c1ae6d045
influxdb command: directly write to db rather than stdout 2023-01-02 06:20:07 +01:00
Daniel Friesel
4b8fd09b27
move traewelling sync to a separate command 2023-01-02 05:59:38 +01:00
Daniel Friesel
c5969fc1dc
work: count errors 2022-12-30 19:49:17 +01:00
Daniel Friesel
7dc1b80ece
work: separate durations for main and traewelling 2022-12-30 16:46:18 +01:00
Daniel Friesel
59f844103d
worker: optionally publish influxdb stats 2022-12-30 16:27:51 +01:00
Daniel Friesel
09463d7d11
influxdb: report total checkins rather than windows 2022-12-28 17:41:17 +01:00
Daniel Friesel
c5ac07c375
add influxdb command 2022-12-28 16:04:45 +01:00
Daniel Friesel
73fa1a960c
work: Fix log invocation 2022-12-27 09:46:15 +01:00
Daniel Friesel
2534cae31f
work: not finding a departing train is not critical 2022-12-23 21:20:32 +01:00
Daniel Friesel
4b37560640
database migration: track previosu travelynx version; offer rollback hints 2022-12-12 22:35:08 +01:00
Daniel Friesel
2f7669a520
database IRIS sync: update ds100, name, lat, lon from IRIS DB 2022-12-12 20:21:44 +01:00
Daniel Friesel
54c46ac9f0
database: has-current-schema: check IRIS version 2022-12-12 20:13:07 +01:00
Daniel Friesel
5de6dfb4e1
database: refactor schema/iris version check 2022-12-11 20:10:58 +01:00
Daniel Friesel
afedcef266
get name/ds100 from db and lat/lon from dict
result: significant performance improvement for stats generation
2022-12-07 22:46:04 +01:00
Daniel Friesel
2f9ba6e017
switch to internal station database; add out-of-service stations for old journeys 2022-12-07 19:42:48 +01:00
Daniel Friesel
d791825123
maintenance: remove polyline code. polylines were added more than two years ago 2022-12-04 22:07:20 +01:00
Daniel Friesel
e2b756f06e
integritycheck: process journeys row by row rather than at once 2022-12-04 21:04:43 +01:00
Daniel Friesel
37cb85e60d
integritycheck: also check station names in routes 2022-12-04 20:57:27 +01:00
Daniel Friesel
8f1bf57a65
rename missingstations command to integritycheck 2022-12-04 18:52:01 +01:00
Daniel Friesel
22069102a7
add missingstations maintenance command 2022-11-25 18:26:32 +01:00
Daniel Friesel
e54130ad6e
optionally show local transit connections as well 2022-09-24 18:53:04 +02:00
marudor
dbe379a34d use bahn.expert as new domain for marudor.de 2022-08-19 18:13:13 +02:00
Daniel Friesel
5eab0c14f4
optionally link to external departure boards where sensible (WiP) 2022-07-11 22:09:26 +02:00
Daniel Friesel
af82619915
database: fix missing word in workflow example 2022-07-11 20:52:12 +02:00
Daniel Friesel
86e0108649
maintenance: traewelling and webhooks TODO has been resolved a while ago 2022-07-10 10:42:15 +02:00
Daniel Friesel
105fc8a4a1
maintenance: show details when about to delete a large amount of UIDs 2022-07-10 10:42:05 +02:00
Daniel Friesel
40ff05aefe
traewelling pull: skip API request for checked-in users 2022-07-09 19:39:01 +02:00
Daniel Friesel
7587cf4277
munin: add push sync stats 2022-07-09 16:16:08 +02:00
Daniel Friesel
e1a0a6e132
munin: add traewelling pull sync stats 2022-07-09 16:04:29 +02:00
Daniel Friesel
7f8e7a1a5f
limit number of concurrent traewelling requests to five per second 2022-05-27 12:04:51 +02:00
Daniel Friesel
0d108e4334
work: move DB manipulation to InTransit helper 2022-02-20 13:30:51 +01:00
Daniel Friesel
15b510de32
worker: run maintenance every 10 hours 2022-02-19 16:32:43 +01:00
Daniel Friesel
01053f9d41
maintenance: Log deletion notification to stdout 2022-02-18 17:21:49 +01:00
Daniel Friesel
582bfbe661
Traewelling: more consistent error messages 2022-02-17 21:40:47 +01:00
Daniel Friesel
8f906da9c2
traewelling: log an error if pull sync fails 2022-02-16 20:39:00 +01:00
Daniel Friesel
faf8952b87
Send inactivity notification prior to account deletion 2022-02-14 21:58:30 +01:00
Daniel Friesel
71fa446800
traewelling sync: push first, then pull 2022-01-08 10:46:31 +01:00
Daniel Friesel
a34a67b2f9
Add account add / delete CLI for sites with web registration disabled 2021-09-13 20:55:11 +02:00
Daniel Friesel
810945f8bc munin: add pending_user_count 2021-04-20 23:10:22 +02:00
Daniel Friesel
aabf3104b1 munin: Do not crash on CET -> CEST DST transition 2021-04-05 09:46:28 +02:00
Daniel Friesel
1f3b3c742c munin: fix date range calculation
TODO: handle CET -> CEST transition (there's a day each year where 2am does not
exist and DateTime does not like it)
2021-04-05 09:46:28 +02:00
Daniel Friesel
574e83d567 Move incomplete checkin removal from "maintenance" to "work" task 2021-03-07 19:06:21 +01:00
Daniel Friesel
a4ff5e8ad8 Switch to AGPL3+ 2021-01-29 18:32:13 +01:00
Daniel Friesel
a5ab4fa6a8 regularly generate statistics in the background 2020-12-03 21:42:17 +01:00
Daniel Friesel
77ecd6d034 move statistics cache to a separate model class 2020-11-28 21:03:51 +01:00
Daniel Friesel
b70ecc7c7c Add a bunch of licensing data 2020-11-27 22:12:56 +01:00
Daniel Friesel
dc7bc5a5f4 work: Fix travelynx->Traewelling sync when several users are checked in
I made a derp
2020-10-19 19:33:40 +02:00
Daniel Friesel
8abb8206ce maintenance: delete webhooks and traewelling entries 2020-10-11 20:10:14 +02:00
Daniel Friesel
b1348c7d4a move in_transit queries to an InTransit model class 2020-10-11 19:38:01 +02:00
Daniel Friesel
e8ff730320 Stats: Fix handling of negative cumulative arrival/departure delays 2020-10-06 19:28:00 +02:00
Daniel Friesel
b0de6628b3 ooopsie 2020-10-01 19:55:06 +02:00
Daniel Friesel
8d53f7f5c8 log error when trip_id is missing 2020-10-01 19:52:11 +02:00
Daniel Friesel
07e0f89706 allow checking into traewelling 2020-10-01 19:36:35 +02:00
Daniel Friesel
89e709d8d5 Allow linking a Träwelling account, auto-sync Träwelling→travelynx
travelynx→Träwelling is still work-in-progress

Squashed commit of the following:

commit 97faa6e2e6c8d20fba30f2d0f6e78187ceeb72e6
Author: Daniel Friesel <derf@finalrewind.org>
Date:   Wed Sep 30 18:50:05 2020 +0200

    improve traewelling log and tx handling

commit 487d7dd728b9d45b731bdc7098cf3358ea2e206e
Author: Daniel Friesel <derf@finalrewind.org>
Date:   Wed Sep 30 18:02:41 2020 +0200

    add missing traewelling template

commit 0148da2f48d9a52dcddc0ab81f83d8f8ac3062ab
Author: Daniel Friesel <derf@finalrewind.org>
Date:   Wed Sep 30 18:02:35 2020 +0200

    improve traewelling pull sync

commit 4861a9750f9f2d7621043361d0af6b0a8869a0df
Author: Daniel Friesel <derf@finalrewind.org>
Date:   Tue Sep 29 22:14:24 2020 +0200

    wip checkin from traewelling

commit f6aeb6f06998a2a7a80f63a7b1b688b1a26b66bd
Author: Daniel Friesel <derf@finalrewind.org>
Date:   Tue Sep 29 18:37:53 2020 +0200

    refactor traewelling integration. login and logout are less of a hack now.

    checkin and checkout are not supported at the moment.
2020-09-30 19:12:29 +02:00
Daniel Friesel
717cc18a40 Move get_departures to a separate IRIS helper 2020-08-06 16:04:12 +02:00
Daniel Friesel
a3ea4fde95 fix a typo 2020-04-16 16:52:19 +02:00
Daniel Friesel
da05a0e981 maintenance: backpropagate polylines to route entries using pre-1.9.4 format 2020-04-16 16:29:34 +02:00
Daniel Friesel
4cc510d710 use polyline when computing monthly/yearly distance travelled
Closes #40
2020-04-14 18:22:49 +02:00
Daniel Friesel
2652ea6bab auto-checkout for cancelled departure: guard against destination changes 2020-02-18 17:38:53 +01:00
Daniel Friesel
cc7439dd5e handle departure cancellation after checkin 2020-02-17 21:13:07 +01:00
Daniel Friesel
6cbbc2b16f avoid stale data when marking cancelled arrivals 2020-02-13 18:35:42 +01:00
Daniel Friesel
a830acc698 Handle cancelled arrival at checkout when departure at checkin is not cancelled 2020-02-12 20:38:24 +01:00
Daniel Friesel
7564ec34db munin: Add polyline compression ratio 2020-02-10 20:06:55 +01:00
Daniel Friesel
c2e0f377be maintenance: consider station renames whan backpropagating polylines 2020-02-06 17:54:23 +01:00
Daniel Friesel
0457a53f65 maintenance: only fetch polylines from journeys which were not edited 2020-02-04 21:23:22 +01:00
Daniel Friesel
7e92e6b5d4 retroactively add polylines to non-polyline journeys 2020-01-30 18:06:04 +01:00
Daniel Friesel
297718603c munin: return number of stored polylines 2020-01-27 20:33:35 +01:00
Daniel Friesel
b47a29d484 Store journey polylines in DB
Squashed commit of the following:

commit d60c7d3c98d88a8f5b0e3ced6c11b56053e1e44b
Author: Daniel Friesel <derf@finalrewind.org>
Date:   Mon Jan 27 20:22:46 2020 +0100

    fix bugs related to users without past journeys

commit 707fcc937ac7f6bc3dc29024273f5e74963f7f15
Author: Daniel Friesel <derf@finalrewind.org>
Date:   Mon Jan 27 20:19:14 2020 +0100

    work around Cache::file turning floats into strings

commit 55831121eb30bc30ed20134bbb48e4bee9772feb
Author: Daniel Friesel <derf@finalrewind.org>
Date:   Mon Jan 27 19:43:29 2020 +0100

    store journey polylines for later use

commit 1971d511037ff2b8fbc9699cb98e4f8fd51261e5
Author: Daniel Friesel <derf@finalrewind.org>
Date:   Sat Jan 25 16:49:48 2020 +0100

    set preliminary database schema for polyline storage.

    deduplication will follow at a later stage
2020-01-27 20:32:15 +01:00
Daniel Friesel
75363c35cc work: Fix race condition
When a user changes their destination station or checks into a new train
while work is updating data for their in_transit entry, values for no longer
valid database entrie would be entered.
2020-01-23 17:14:01 +01:00
Daniel Friesel
f9f1eec499 Use EVA IDs instead of travelynx-internal station IDs. Not 100% tested yet. 2019-12-23 22:57:45 +01:00
Daniel Friesel
c6634b4097 maintenance: remove checkins which were entered more than 48 hours ago 2019-12-20 18:56:57 +01:00
Daniel Friesel
b0ddada5d1 munin: Add 'currently checked in' counter 2019-12-19 19:22:56 +01:00
Daniel Friesel
cabf159f46 Handle Berlin Ringbahn and other transfer-at-destination trains
Requires Travel::Status::DE::IRIS v1.38 (not released yet)
2019-12-15 13:42:11 +01:00
Daniel Friesel
6d45533c14 mark cancelled stops in checkin view 2019-10-04 23:27:45 +02:00
Daniel Friesel
8c160f6854 Fix wagon order and direction display
This was broken by a database migration introduced in
commit f6d56d3134
2019-08-31 09:18:49 +02:00
Daniel Friesel
f6d56d3134 Add proper journey comment support 2019-08-23 10:34:02 +02:00
Daniel Friesel
e259a5e5dd Fix beeline distance calculation when start/stop has no geo-coordinates 2019-08-13 21:30:59 +02:00
Daniel Friesel
0bbdd768f4 prepare for wagon order support 2019-06-17 20:59:57 +02:00
Daniel Friesel
b54c977e08 increase checkout delay to work around IRIS information lag 2019-06-10 18:09:54 +02:00
Daniel Friesel
7be3a4219e checked in: Show QoS messages before departure and HIM messages at all times 2019-06-04 21:12:36 +02:00
Daniel Friesel
f355a8d95e disappearing trains are no longer critical with the latest change 2019-06-01 12:38:26 +02:00
Daniel Friesel
b1591eed54 show current/next stop while checked in 2019-05-31 20:18:22 +02:00
Daniel Friesel
7fe95532c1 Use JSON for messages and route storage, prepare for extended route data 2019-05-26 17:28:21 +02:00