Commit graph

347 commits

Author SHA1 Message Date
Daniel Friesel
b3d06a8eb4
HAFAS: Borders may be annotated as (Gr) or ...(...)Gr 2022-07-10 20:07:02 +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
a88dea059b
Traewelling Pull: Only fetch most recent status
This feature was recently added to Traewelling and should improve
efficiency on all sides.
2022-07-09 23:10:56 +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
85f4e5b763
Traewelling: Custom log message für 409 Conflict; include raw error otherwise 2022-07-03 12:14:38 +02:00
Daniel Friesel
3082316697
Traewelling: Fix utf8 in log messages 2022-07-03 12:13:58 +02:00
Daniel Friesel
18c575f6fe
Traewelling: Use newly added EVA IDs for station mapping 2022-05-28 11:35:44 +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
5ff9e5c7a1
history map: allow filtering by train type 2022-04-02 18:14:21 +02:00
Daniel Friesel
5dfbdd8644
history map: add filter by date 2022-04-02 15:24:39 +02:00
Daniel Friesel
5cd25d442f
hafas: more generic fix for invalid XML 2022-03-30 18:29:00 +02:00
Daniel Friesel
13b4572a2f
limit password length to 10000 characters
that should be sufficient…
2022-03-07 18:12:43 +01:00
Daniel Friesel
e2e33de7e1
Traewelling: checkin: HTTP 401 is mostly harmless, too
401 typically indicates an expired login token
2022-03-06 23:13:51 +01:00
Daniel Friesel
01aec7e977
fix ajax refresh of public status card (trim .html suffix) 2022-02-20 21:45:51 +01:00
Daniel Friesel
209e291821
Move webhook database queries to Users model 2022-02-20 17:35:30 +01: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
167b01fa42
link traewelling profile from travelynx profile; show traewelling status 2022-02-16 20:56:28 +01:00
Daniel Friesel
ef3252863e
Traewelling::get: Use named args 2022-02-16 20:39:49 +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
170c7e420e Controller/Account: refactor mail notifications into separate functions 2022-01-19 19:25:03 +01:00
Daniel Friesel
1233796866
Traewelling: Use API v1 for pull sync
API v0 has occasional performance issues and is not a preferable
maintenance target
2022-01-08 14:36:31 +01:00
Daniel Friesel
71fa446800
traewelling sync: push first, then pull 2022-01-08 10:46:31 +01:00
Daniel Friesel
879b3b3815 fix caching fuckup introduced in 2e5a1b0a79 2021-12-12 17:24:24 +01:00
Daniel Friesel
2e5a1b0a79 DBDB: only use apps-bahn wagon order API for now 2021-12-12 16:38:26 +01:00
Daniel Friesel
ac3c70597d
Account: do not disclose denylist filename on open error 2021-10-30 10:03:40 +02:00
Daniel Friesel
ed0054fa50
Allow usage of custom hafas-rest-api instances 2021-10-30 10:02:58 +02:00
Daniel Friesel
3dc5575d5a
Switch from Geo::Distance (deprecated) to GIS::Distance 2021-10-23 22:20:41 +02: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
39ab6e57d3 allow registration to be denied for certain IPs, e.g. known spammers
(yes, there are actually spambots flooding people with unsolicited
registration e-mails)
2021-08-20 22:52:02 +02:00
Daniel Friesel
37a0b8f2ab Handle another case of funky HAFAS html ("foo <> bar") 2021-07-12 19:16:14 +02:00
Daniel Friesel
7b01cae7d5 Pass scheduled arrival and departure times to Traewelling API
This ensures unambiguous checkins for ring lines. See
eaf975a333
2021-07-01 19:44:09 +02:00
Daniel Friesel
255d0610f1 Journeys->add: Support complete routes, not just intermediate stops 2021-06-21 17:54:09 +02:00
Daniel Friesel
95674ee2ea Add explanation to name change page 2021-06-14 19:30:58 +02:00
Daniel Friesel
1803a1723c move user name validation to Users model 2021-06-13 08:48:08 +02:00
Daniel Friesel
581aae081d Model/Users: Remove superfluous "check_if_" prefix from check functions 2021-06-13 06:20:21 +02:00
Daniel Friesel
6cee1e20ef allow users to change their name 2021-06-12 19:00:42 +02:00
Daniel Friesel
9221ddce85 HAFAS: Work around yet another case of invalid XML 2021-06-05 14:17:49 +02:00
Daniel Friesel
16c1d12373 remove arbitrary HTML tags from HAFAS HIMMessage attribute content 2021-04-24 09:11:18 +02:00
Daniel Friesel
810945f8bc munin: add pending_user_count 2021-04-20 23:10:22 +02:00
Daniel Friesel
aad2a53459 attempt to prevent registration spam 2021-04-20 21:59:17 +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
11727e0f99 *sigh* oh hafas, you so hafas 2021-03-29 20:58:35 +02:00
Daniel Friesel
574e83d567 Move incomplete checkin removal from "maintenance" to "work" task 2021-03-07 19:06:21 +01:00
Daniel Friesel
a21826a055 Traewelling: Ignore HTTP 406 on checkin as well
HTTP 406 indicates that a user has not accepted the ToS / privacy policy
2021-02-21 21:13:09 +01:00
Daniel Friesel
3f33341a2e HAFAS: Remove all illegal linebreaks from attributes, not just the first 2021-02-06 18:06:09 +01:00
Daniel Friesel
6c015a91b8 Traewelling: Do not warn on 409 Conflict 2021-02-06 16:34:03 +01:00
Daniel Friesel
9223ba5fa1 fall back to apps-bahn if ist-wr does not know about a train 2021-02-06 12:31:35 +01:00
Daniel Friesel
5b1841ccce HAFAS: Handle <br> tags in HTML attributes 2021-02-06 12:13:25 +01:00
Daniel Friesel
0088f11eb0 Remove workaround for https://github.com/Traewelling/traewelling/issues/72
Issue has been fixed
2021-02-02 18:20:49 +01:00
Daniel Friesel
5bef0bdda9 Switch to a more performant wagon order backend 2021-02-02 18:17:45 +01:00
Daniel Friesel
a4ff5e8ad8 Switch to AGPL3+ 2021-01-29 18:32:13 +01:00
Daniel Friesel
db39b2a177 Handle invalid HAFAS XML containing "Wagen \d+ & \d+" 2021-01-05 22:27:46 +01:00
Daniel Friesel
8b86d0680a Helper/IRIS: fex error message encoding (use utf8) 2020-12-09 21:12:10 +01:00
Daniel Friesel
2613fc0e58 use stats-enabled list view for year list as well 2020-12-03 22:15:09 +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
0addce7bff month overview: distinguish between no stats and no journeys 2020-11-21 15:39:21 +01:00
Daniel Friesel
ccfdd8007e testing a more organized history navigation 2020-11-21 15:34:06 +01:00
Daniel Friesel
5e96745121 HAFAS: Distinguish between disguised HTTP 404 and invalid XML 2020-11-06 11:23:22 +01:00
Daniel Friesel
c70280a935 Merge HAFAS XML fix from DBF 2020-10-25 16:35:43 +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
8123797cf1 Traewelling: use the recently added login token expiry field 2020-10-17 11:03:47 +02:00
Daniel Friesel
e61550f751 Move remaining journeys queries to journeys model class 2020-10-11 21:08:22 +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
b6330217f0 calculate tripid from trainsearch.exe.
Removes the need for an additional transport.rest request.
2020-10-11 12:04:33 +02:00
Daniel Friesel
fffe8dcdfa Switch to transport.rest v5 for polyline requests 2020-10-11 11:34:39 +02:00
Daniel Friesel
4575beb6ff HAFAS: Turn backend warnings into info messages
We can't do anything about them, after all
2020-10-08 20:05:31 +02:00
Daniel Friesel
e8ff730320 Stats: Fix handling of negative cumulative arrival/departure delays 2020-10-06 19:28:00 +02:00
Daniel Friesel
9ad3b3c9e8 Traewelling can't seem to decide on date formats 2020-10-04 13:05:06 +02:00
Daniel Friesel
c56d126d89 Traewelling: Add missing "Accept: application/json" header to API requests 2020-10-04 12:59:08 +02:00
Daniel Friesel
e13b5afe4f Traewelling checkin: Handle invalid / revoked bearer tokens 2020-10-04 12:47:09 +02:00
Daniel Friesel
562dd7ccae add toot and tweet settings to traewelling checkin 2020-10-04 12:27:20 +02:00
Daniel Friesel
80b02a47b4 Traewelling: Warn when bearer token is about to expire 2020-10-04 10:38:09 +02:00
Daniel Friesel
5e2813e36e Traewelling: note that traewelling.de doesn't yet return statusId on checkin 2020-10-04 10:35:04 +02:00
Daniel Friesel
2cc31422b7 sync travelynx -> Träwelling: add comment 2020-10-03 14:33:56 +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
64c9b5b160 traewelling checkin: the time limitation isn't needed 2020-10-01 19:48:18 +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
952740969c add opengraph metadata output 2020-09-21 20:31:08 +02:00
Daniel Friesel
362db912fa add twitter card to public journey view 2020-09-21 20:15:01 +02:00
Daniel Friesel
870e4333a8 improve promise->reject error messages 2020-09-21 19:47:54 +02:00
Daniel Friesel
2788f97f32 get_stationinfo_p: cache negative replies 2020-09-20 09:55:28 +02:00
Daniel Friesel
874de11298 handle rejected promises; do not accidentally duplicate rejections 2020-09-10 21:20:26 +02:00
Daniel Friesel
eb93ee40c9 passengerrights: fix a typo 2020-09-08 21:15:46 +02:00
Daniel Friesel
4171fe22ca add DBDB helper for wagonorder and stationinfo 2020-09-06 12:55:25 +02:00
Daniel Friesel
a3149adddd Fix checkin via API. Broken by 717cc18a40
Closes #44
2020-09-05 21:51:52 +02:00
Daniel Friesel
7eb5f967f2 profile: limit history to four weeks by default 2020-09-04 18:38:35 +02:00
Daniel Friesel
482fa975b5 add public profile page and public journey details 2020-09-03 22:27:50 +02:00