Commit graph

192 commits

Author SHA1 Message Date
Derf Null
d4a6470141
Users: support notifications about pending follow requests 2023-06-03 10:42:14 +02:00
Derf Null
9332f60a43
prepare for follow relations and follow-only checkins 2023-05-31 22:16:27 +02:00
Daniel Friesel
f681aa41db
Perl is hard 2023-04-06 15:16:52 +02:00
Daniel Friesel
3b6297b785
work: real_arr_ts may be undefined 2023-04-02 17:05:13 +02:00
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