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
6e95180a3c
handle missing 'base_url' in travelynx.conf
2022-02-16 21:29:28 +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
6fc21cac41
Use correct base URL when running a command job (work/maintenance)
2022-02-14 21:41:32 +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
e8054faf76
checkout: throw an error when called with empty $station
2021-12-12 17:13:51 +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
79b55c430d
allow registration to be disabled via config
2021-09-12 08:15:59 +02:00
Daniel Friesel
9d4f3f8ce1
Ensure that database timezone matches IRIS time zone
...
All travelynx and IRIS timestamps are Europe/Berlin. And the DateTime objects
know that they are Europe/Berlin. However, when inserting into a timestamp with
time zone column, Mojo::Pg or one of the backend DBI/DBD libraries does not
respect the time zone. So, UTC+1 or UTC+2 timestamps are treated as UTC+0,
resulting in major mayhem.
2021-09-03 20:24:54 +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
08abde269b
user_status: Use first available dep_info
2021-06-12 17:33:16 +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