Daniel Friesel
|
978c7b03c2
|
journey: add share button
|
2023-02-15 20:01:43 +01:00 |
|
Daniel Friesel
|
1e1c71cfd8
|
journey details: include delay and distance in og card
|
2023-02-14 21:31:46 +01:00 |
|
Daniel Friesel
|
192af42d04
|
DBDB: apps-bahn wagenreihung no longer exists
|
2023-02-13 18:27:26 +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
|
8e94fcea5f
|
move token type to ID map from Travelynx.pm to Model/Users
|
2023-01-22 12:33:02 +01:00 |
|
Daniel Friesel
|
59e9a24aa6
|
move get_api_token to users model
|
2023-01-22 11:34:53 +01:00 |
|
Daniel Friesel
|
af82c46d57
|
get latets stations: remove duplicates
|
2023-01-22 10:32:06 +01:00 |
|
Daniel Friesel
|
3e2491a9bc
|
API documentation: do not perform database requests from template helpers
|
2023-01-21 08:36:25 +01:00 |
|
Daniel Friesel
|
9b205229a3
|
latest checkout stations: order by journey id rather than timestamp
|
2023-01-18 18:48:32 +01:00 |
|
Daniel Friesel
|
3f08f86ac2
|
migration: only select required fields
|
2023-01-18 18:36:11 +01:00 |
|
Daniel Friesel
|
e937324617
|
landing page: show past stops if geolocation is unavailable
|
2023-01-18 18:13:35 +01:00 |
|
Daniel Friesel
|
eb1ed1bb48
|
do not overwrite route timestamps when updating route data
|
2023-01-17 19:11:38 +01:00 |
|
Daniel Friesel
|
1be5d4d0b0
|
Journeys: perltidy
|
2023-01-15 20:29:30 +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
|
9b57a74831
|
webfinger: remove superfluous acct: in response
|
2023-01-08 10:02:45 +01:00 |
|
Daniel Friesel
|
ad253e48e8
|
webfinger queries are prefixed with acct:
|
2023-01-08 10:01:51 +01:00 |
|
Daniel Friesel
|
04817690e8
|
... derp
|
2023-01-08 10:00:42 +01:00 |
|
Daniel Friesel
|
6c96626214
|
webfinger: obtain base urls
|
2023-01-08 09:58:58 +01:00 |
|
Daniel Friesel
|
7b2cd23c39
|
add webfinger "profile-page" support (for public profiles only)
|
2023-01-08 09:40:49 +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
|
5c9adc4710
|
Traewelling: fix 'already checked in' error for API v1
|
2023-01-07 12:32:57 +01:00 |
|
Daniel Friesel
|
57a1ecbf76
|
traewelling checkin: add missing ibnr field to API payload
|
2023-01-07 12:29:56 +01:00 |
|
Daniel Friesel
|
04d096014e
|
Api: Fix 'uninitialized value' warning when no token is set
|
2023-01-03 10:12:53 +01:00 |
|
Daniel Friesel
|
cf7f993309
|
review: skip journeys with negative duration
|
2023-01-02 15:05:37 +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
|
dc53e4774b
|
review: shop travelynx version
|
2022-12-30 16:46:56 +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
|
ccc93413a2
|
review: link to list of all single-trip checkins
|
2022-12-29 14:14:12 +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
|
18bb069da3
|
review: fix percentage locale
|
2022-12-27 22:22:34 +01:00 |
|
Daniel Friesel
|
3fa9df942f
|
derp #2
|
2022-12-27 22:17:08 +01:00 |
|
Daniel Friesel
|
2eed83e02a
|
derp
|
2022-12-27 22:15:24 +01:00 |
|
Daniel Friesel
|
34a19ee1bf
|
top trips: handle return trips
|
2022-12-27 22:12:15 +01:00 |
|
Daniel Friesel
|
3156d5f372
|
review: add top and bottom trips
|
2022-12-27 22:04:09 +01:00 |
|
Daniel Friesel
|
9dfe1c60ab
|
review: hide blocks without data
|
2022-12-27 17:56:44 +01:00 |
|
Daniel Friesel
|
ed63cae012
|
year in review: further delay stats
|
2022-12-27 17:29:34 +01:00 |
|
Daniel Friesel
|
e586fd4020
|
compute_review: handle duplicate iris messages; german locale for numbers
|
2022-12-27 11:19:25 +01:00 |
|
Daniel Friesel
|
3abe6aed5c
|
it's a secret to everybody.
|
2022-12-27 11:07:16 +01:00 |
|
Daniel Friesel
|
73fa1a960c
|
work: Fix log invocation
|
2022-12-27 09:46:15 +01:00 |
|
Daniel Friesel
|
68bc276bff
|
connecting trains: fix warning when encountering unknown platforms
|
2022-12-26 20:47:43 +01:00 |
|
Daniel Friesel
|
d256a1956a
|
history: return 404 if no journeys have been logged for requested period
|
2022-12-26 16:50:39 +01:00 |
|
Daniel Friesel
|
f12bec530a
|
yearly/monthly history: return 404 for invalid dates
|
2022-12-26 15:35:33 +01:00 |
|
Daniel Friesel
|
e15778be0d
|
always store traewelling errors in debug mode
for the most part, they're not actionable. also, they're already available in
user logs.
|
2022-12-23 21:30:28 +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
|
aa4e408df8
|
change 'ignoring polyline' log severity to debug
|
2022-12-12 20:00:48 +01:00 |
|
Daniel Friesel
|
e91495775c
|
Journeys: Handle "Betriebsstelle nicht bekannt"
|
2022-12-12 19:57:14 +01:00 |
|
Daniel Friesel
|
fc9562f790
|
Improve "Betriebsstelle nicht bekannt" handling
|
2022-12-12 18:20:40 +01:00 |
|
Daniel Friesel
|
5de6dfb4e1
|
database: refactor schema/iris version check
|
2022-12-11 20:10:58 +01:00 |
|
Daniel Friesel
|
115e07f35c
|
move grep_unknown_stations to Stations model
|
2022-12-08 18:22:09 +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
|
3851f05518
|
get_travel_distance: warn about removed stations (TODO: re-add them)
|
2022-11-24 21:26:45 +01:00 |
|
Daniel Friesel
|
90d2e0357c
|
show expected load of suggested connections, if available
|
2022-11-12 18:37:00 +01:00 |
|
Daniel Friesel
|
2f7bdf99e8
|
Traewelling: Use API v1 for checkin as well
|
2022-11-10 17:50:31 +01:00 |
|
Daniel Friesel
|
fd805597f5
|
HAFAS: filter out border stations
|
2022-11-09 18:17:05 +01:00 |
|
Daniel Friesel
|
d75ae5eb45
|
travelynx no longer requires XML::LibXML
|
2022-11-09 18:15:18 +01:00 |
|
Daniel Friesel
|
c26c8820f2
|
Switch to internal HAFAS client for connection details
|
2022-11-09 18:14:07 +01:00 |
|
Daniel Friesel
|
528f59dbd2
|
obtain polylines via mgate (T-S-DE-HAFAS)
|
2022-11-05 22:01:51 +01:00 |
|
Daniel Friesel
|
087d3871e1
|
Use Travel::Status::DE::HAFAS instead of traininfo.exe for journey details
|
2022-11-05 19:19:52 +01:00 |
|
Daniel Friesel
|
bde6346401
|
Traewelling: Use API v1 for login/logout. v1 checkin does not work yet.
|
2022-10-31 20:58:27 +01:00 |
|
Daniel Friesel
|
6f107754fb
|
get_connecting_trains: departure delay is relevant for connecting trains
|
2022-09-28 19:40:31 +02:00 |
|
Daniel Friesel
|
9f06b52a00
|
get_connecting_trains_p: leave loops when done
|
2022-09-28 19:37:20 +02:00 |
|
Daniel Friesel
|
f3ad5a5ef3
|
connecting trains: HAFAS: Handle delay and pass it to frontend
|
2022-09-25 16:54:06 +02:00 |
|
Daniel Friesel
|
e54130ad6e
|
optionally show local transit connections as well
|
2022-09-24 18:53:04 +02:00 |
|
Daniel Friesel
|
e83cfc5303
|
connections: show expected arrival at destination
|
2022-09-24 16:11:51 +02:00 |
|
Daniel Friesel
|
208b818d7c
|
HAFAS->get_json_p: accept cache and encoding parameters
|
2022-09-24 15:01:24 +02:00 |
|
Daniel Friesel
|
906a8a4f55
|
departure board: add footer
|
2022-09-23 19:25:17 +02:00 |
|
Daniel Friesel
|
8198c9fe23
|
Static: remove unused $travelynx_version
|
2022-09-23 19:22:22 +02:00 |
|
Daniel Friesel
|
4367085887
|
add legend (not referenced yet)
|
2022-09-23 17:35:02 +02:00 |
|
Daniel Friesel
|
6bae226d5c
|
always show 'run' icon when an interchange is short
|
2022-09-23 17:32:27 +02:00 |
|
Daniel Friesel
|
8c511f955c
|
Controller/Traveling: perltidy
|
2022-09-07 18:08:27 +02:00 |
|
Daniel Friesel
|
ffeeb11e5a
|
get_connecting_trains_p: remove trains with identical routes to current one
|
2022-09-05 21:06:05 +02:00 |
|
Daniel Friesel
|
0a7188d2e2
|
get_connecting_trains_p: use has_str_in_list helper more often
|
2022-09-05 21:00:20 +02:00 |
|
Daniel Friesel
|
3b9db4bfd4
|
get_connecting_trains_p: handle uninitialized arr_countdown
|
2022-09-03 17:58:12 +02:00 |
|
Daniel Friesel
|
dd151dc686
|
get_connecting_trains_p: we're doing boolean arithmetic here
(fixes 'useless use of numeric lt in void context' warning)
|
2022-09-03 16:58:54 +02:00 |
|
Daniel Friesel
|
2f2624a80a
|
get_connecting_trains: set lookahead to (expected arrival // now) + 40 minutes
|
2022-09-03 16:46:48 +02:00 |
|
Daniel Friesel
|
6aca1692e4
|
get_connecting_trains_p: increase lookahead to 60
|
2022-08-26 18:56:50 +02:00 |
|
Daniel Friesel
|
ff317c5c2a
|
show connections up to 40 minutes before arrival (rather than just 20)
|
2022-08-26 18:38:54 +02:00 |
|
Daniel Friesel
|
e0d2c42a39
|
sb_templates: name/key can be changed as well
|
2022-08-19 18:13:13 +02:00 |
|
marudor
|
dbe379a34d
|
use bahn.expert as new domain for marudor.de
|
2022-08-19 18:13:13 +02:00 |
|
Daniel Friesel
|
0e14df21d2
|
traewelling: more detailed error messages
|
2022-08-17 21:51:24 +02:00 |
|
Daniel Friesel
|
1a2ff8262d
|
... 'status' is a reserved renderer key. oops.
|
2022-08-04 14:07:25 +02:00 |
|
Daniel Friesel
|
d0c061569d
|
Traveling: Rename log_action to travel_action
|
2022-08-02 22:22:10 +02:00 |
|
Daniel Friesel
|
c348b2dff8
|
log requested station when throwing an ambiguous station name error
|
2022-08-01 20:03:34 +02:00 |
|
Daniel Friesel
|
d3c8daf84c
|
fetch connecting trains asynchronously
|
2022-08-01 10:07:24 +02:00 |
|
Daniel Friesel
|
c06d653195
|
Traveling: sort helpers <-> controllers
|
2022-07-30 10:47:18 +02:00 |
|
Daniel Friesel
|
de73024f1b
|
Passengerrights: section headers; perltidy
|
2022-07-30 10:45:18 +02:00 |
|
Daniel Friesel
|
aa19f4b00c
|
Api: section headers for helpers / controllers; perltidy
|
2022-07-30 10:42:21 +02:00 |
|
Daniel Friesel
|
0e01485952
|
Account: Move helpers to a separate section
|
2022-07-30 10:41:31 +02:00 |
|
Daniel Friesel
|
83954508f0
|
move get_connecting_trains helper to Traveling controller
|
2022-07-30 10:27:57 +02:00 |
|
Daniel Friesel
|
1712694011
|
mov get_connection_targets helper to Journeys Model
|
2022-07-29 10:10:34 +02:00 |
|
Daniel Friesel
|
2da48e05be
|
move get_connecting_trains call from _checkeed_in to controller
|
2022-07-27 13:54:20 +02:00 |
|
Daniel Friesel
|
52ff756577
|
only show cancellation alternatives at original station
|
2022-07-26 15:36:45 +02:00 |
|
Daniel Friesel
|
1594ba9327
|
_checked_out: move get_connecting_trains call to controller
|
2022-07-26 15:36:22 +02:00 |
|
Daniel Friesel
|
960de27f0e
|
move get_connecting_trains out of _cancelled_departure template
|
2022-07-26 14:51:57 +02:00 |
|
Daniel Friesel
|
35338125bc
|
departure board: move get_connecting_trains call to controller
this is in preparation for turning it into a promise
|
2022-07-26 13:19:29 +02:00 |
|
Daniel Friesel
|
e0b824693f
|
Users: update DBF from 'show_realtime=1' to 'rt=1'
|
2022-07-26 12:48:08 +02:00 |
|
Daniel Friesel
|
bb6acc0c6b
|
Use async IRIS API for /s/
|
2022-07-26 10:41:44 +02:00 |
|
Daniel Friesel
|
116becccb0
|
.
|
2022-07-16 20:34:11 +02:00 |
|
Daniel Friesel
|
ff290c78e0
|
services: add marudor.de/regional
|
2022-07-16 13:55:36 +02:00 |
|
Daniel Friesel
|
8c15966bd1
|
dbf: link to currently checked in train
|
2022-07-15 22:26:50 +02:00 |
|
Daniel Friesel
|
c756f045b2
|
Users: use_external_services: correctly handle := 0
|
2022-07-15 21:01:34 +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
|
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 |
|
Daniel Friesel
|
47b957361e
|
Move most journey code to newly introduced Journey model
|
2020-08-16 21:20:23 +02:00 |
|
Daniel Friesel
|
717cc18a40
|
Move get_departures to a separate IRIS helper
|
2020-08-06 16:04:12 +02:00 |
|
Daniel Friesel
|
adaf65dc63
|
HAFAS: Error handling, perltidy
|
2020-07-28 14:19:55 +02:00 |
|
Daniel Friesel
|
56c275875c
|
Move HAFAS helpers to a separate Helper module
|
2020-07-28 13:01:44 +02:00 |
|
Daniel Friesel
|
f08bdaca5c
|
Move user model to a separate module
|
2020-07-27 18:53:22 +02:00 |
|
Daniel Friesel
|
f5fd6d42e1
|
Add CSV Export
|
2020-04-19 18:26:20 +02:00 |
|
Daniel Friesel
|
346f1474bb
|
commute stats: attempt to weed out non-work stations for auto-fill
|
2020-04-19 17:49:14 +02:00 |
|
Daniel Friesel
|
5ce4bc6995
|
improve commute station heuristic
Select top station on work days (Mo .. Fr) with arrival < 13:00 or
departure >= 13:00.
|
2020-04-19 17:40:39 +02:00 |
|
Daniel Friesel
|
94ea5a089f
|
Commute stats: count days, not journeys
|
2020-04-19 17:03:02 +02:00 |
|
Daniel Friesel
|
94932c4102
|
add commute stats. not linked from nav yet.
|
2020-04-19 16:49:31 +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
|
56f355741c
|
Well, that was stupid
|
2020-03-14 14:57:30 +01:00 |
|
Daniel Friesel
|
e7a6cfa931
|
Correctly encode non-ASCII e-mail content. Fixes spamfilter issues.
New dependency: MIME::Entity
|
2020-03-14 14:56:02 +01:00 |
|
Daniel Friesel
|
871a44f15e
|
Do not hardcode From mail address
|
2020-03-13 18:28:13 +01:00 |
|
Daniel Friesel
|
d7f251e51f
|
public user status: show polyline if available
|
2020-02-26 18:43:34 +01:00 |
|
Daniel Friesel
|
5c05ed609f
|
journey details: show route on map if available
|
2020-02-23 19:04:05 +01:00 |
|
Daniel Friesel
|
82f043e734
|
Move map data generation to a global helper function
|
2020-02-23 18:35:56 +01:00 |
|
Daniel Friesel
|
a15dc1791c
|
calculate journey distance using polyline, if available
|
2020-02-21 23:31:50 +01:00 |
|
Daniel Friesel
|
0011e4a18d
|
user_status: Improve TS lookup performance
|
2020-02-20 20:58:58 +01:00 |
|
Daniel Friesel
|
57f686b688
|
allow showing past journeys on shared status page
|
2020-02-19 20:58:38 +01: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
|
a1865fa69e
|
add privacy setting for showing history and latest arrival timestamp
|
2020-02-14 16:29:44 +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 |
|