Commit graph

811 commits

Author SHA1 Message Date
Derf Null
085d77a1fa
time to flush the name cache 2023-06-24 18:36:59 +02:00
Derf Null
ee6470e0d8
status card / profile: fix users being unable to see own travelynx-only status 2023-06-23 22:46:15 +02:00
Derf Null
c5957fbdfd
User: remove legacy public_level / is_public field 2023-06-23 22:43:41 +02:00
Derf Null
a249be1d8b
run webhook when updating checkin comment or visibility 2023-06-18 08:38:55 +02:00
Molly Miller
beb59221e7 Add app version to default stashed values.
This means that the version no longer needs to be passed to every version
manually, and is automatically populated in templates where the parameter is
not explicitly provided.
2023-06-12 20:48:01 +02:00
Derf Null
0516344ac0
login form: add hint about pages being only visibile after login 2023-06-09 07:55:59 +02:00
Derf Null
88ede7e308
update ice names 2023-06-08 12:44:04 +02:00
Derf Null
619646b533
warn when trying to check out at invalid unscheduled station
Closes #72
2023-06-08 10:20:13 +02:00
Derf Null
e275fc6dbe
Fix edge case that allowed in-transit journeys with invalid destinations 2023-06-07 23:04:00 +02:00
Derf Null
bdc05e0b8e
fix missing join condition in followers view 2023-06-04 22:59:22 +02:00
Derf Null
ee0480854f
show follower-only checkins and journeys when viewing own profile 2023-06-04 19:37:35 +02:00
Derf Null
ab04bc19b9
consistently return HTTP 404 on not found errors 2023-06-04 19:37:16 +02:00
Derf Null
c1635e24fb
use a separate bad_request page for CSRF errors 2023-06-04 19:25:24 +02:00
Derf Null
34665da2a0
do not accept follows / follow requests by default 2023-06-04 19:05:20 +02:00
Derf Null
42252ee96d
Account: add rel="me" to profile links 2023-06-04 18:56:43 +02:00
Derf Null
00eb6af1bd
expose follows / social interaction in frontend 2023-06-04 18:21:36 +02:00
Derf Null
0172f0ce8a
add profile editor 2023-06-04 14:28:04 +02:00
Derf Null
d4a6470141
Users: support notifications about pending follow requests 2023-06-03 10:42:14 +02:00
Derf Null
b2feb1b664
Users: Add unfollow action 2023-06-01 22:07:01 +02:00
Derf Null
9332f60a43
prepare for follow relations and follow-only checkins 2023-05-31 22:16:27 +02:00
Derf Null
0f9519c40b
get_user_status_json_v1: expose comment 2023-05-29 14:50:04 +02:00
Derf Null
aab9fa7fe2
Profile#user_status: use account.name, not just name 2023-05-29 14:45:02 +02:00
Derf Null
b3f36b750a
Profile#user_status: return 404 if the user does not exist 2023-05-29 14:44:10 +02:00
Derf Null
dadb94a473
Traveling: remove unused JSON import 2023-05-29 14:30:58 +02:00
Derf Null
7580497cea
get_user_status_json_v1: expose visibility 2023-05-24 21:41:51 +02:00
Derf Null
ac816c09b2
rename get_privacy_by_name to get_privacy_by, allow requests by uid 2023-05-24 21:36:06 +02:00
Daniel Friesel
68468379e5
user_status: request public json entry 2023-05-23 21:16:59 +02:00
Derf Null
9b83e1a8f1
/status/:user: respond to JSON 2023-05-21 19:57:56 +02:00
Derf Null
dbc5c38968
get_user_status_json_v1: add public flag to hide actionTime 2023-05-21 19:44:43 +02:00
Derf Null
2e10115072
user_status: return no status if visibility is insufficient 2023-05-21 19:26:30 +02:00
Derf Null
72f6c2ea2d
fix pride ICE not being indicated in public status card 2023-05-18 08:25:19 +02:00
Derf Null
671e518caf
get_user_status: expose lat/lon from database view, do not re-compute it 2023-05-16 20:02:20 +02:00
Derf Null
b7720a1acf
get_user_status: remove superfluous station requests 2023-05-16 19:56:02 +02:00
Derf Null
b9f8ccd82a
ajax route: handle missing schedule data 2023-05-11 18:32:27 +02:00
Derf Null
af3cdee113
route: only override delay if real-time data is not available 2023-05-01 11:38:11 +02:00
Derf Null
e4a07dc06c
journey: show times of intermediate stops, if available 2023-05-01 10:06:30 +02:00
Derf Null
796699a9c6
add_route_timestamps: keep real-time data where possible 2023-04-30 07:42:48 +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
c3c7a0c78b
stationboard: add HAFAS support 2023-03-27 21:03:25 +02:00
Derf Null
3acee2b285
API: import: fix get_api_token signature 2023-03-26 15:55:33 +02:00
Derf Null
402fcc4d6f
move profile / public data to a separate controller 2023-03-13 21:06:53 +01: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
609d7b3ebc remove unused journey_edit_mask attrs 2023-03-09 19:10:08 +01:00
Daniel Friesel
5d2bc54343 remve unused account_public_mask attr 2023-03-05 12:48:01 +01:00
Daniel Friesel
c0fb7c1b13
webfinger: adjust profile visibility 2023-03-04 13:23:19 +01:00
Daniel Friesel
5461326f01
always show /p/user if /status/user exists; only limit past journeys 2023-03-04 13:22:13 +01:00
Daniel Friesel
67dc1c203a
nvm -> dbf?hafas=1 2023-03-04 10:59:35 +01:00
Daniel Friesel
5d20bf155a
resolve_sb_template: escape / in station name 2023-03-04 10:55:05 +01:00
Daniel Friesel
26814aa470
user status: add footer 2023-03-04 09:33:44 +01:00
Daniel Friesel
e1231b88e2
status/profile: re-add ability to show latest checkout, if desired
got lost in 1.30.0
2023-03-04 09:03:50 +01:00
Daniel Friesel
2406fc4efe token: do not expose full checkin timestamp 2023-03-03 15:05:43 +01:00
Daniel Friesel
b725d7d52c set default visibility to unlisted 2023-03-03 15:05:28 +01:00
Daniel Friesel
a3cc2456a7
Travelynx journey_details: token is added by template 2023-03-02 22:04:23 +01:00
Daniel Friesel
aa56023788
user_status redirect: check visibility independent of token 2023-03-02 21:54:17 +01:00
Daniel Friesel
6a734a094b
visibility_form: use visibility_str 2023-03-02 21:20:59 +01:00
Daniel Friesel
f0e991a90d profile: respect profile visibility setting 2023-03-02 18:43:29 +01:00
Daniel Friesel
1c46f56b50 fix comment visibilitiy check 2023-03-02 18:34:01 +01:00
Daniel Friesel
792ab9fe23 journey details: require valid token if too old 2023-03-02 18:31:17 +01:00
Daniel Friesel
d35c49b55d user status: only redirect to journey if journey is visible 2023-03-02 17:54:09 +01:00
Daniel Friesel
09a4f1ce0b
User->add: set default privacy level to 'private' 2023-03-01 22:02:48 +01:00
Daniel Friesel
77ac39f389
user status: pass token to journey on redirect 2023-03-01 17:59:20 +01:00
Daniel Friesel
ae42028a71
Journeys->get: allow filtering by departure timestamp 2023-03-01 17:58:58 +01:00
Daniel Friesel
ba483a9daf
journey: add token to share link if non-public 2023-02-28 19:45:27 +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
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
e98fc8493f
annotate unused TRavelynx.pm components (todo) 2023-01-22 12:34:54 +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
113caf705d
base_url_for: fix config key (it's "base_url") 2023-01-08 09:59:18 +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
44ced8056c
add_route_timestamps: change log severity to debug
we cannot do much about backend errors
2022-12-23 21:22:03 +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
6594d74edd
show expected utilization alongsie train route 2022-11-12 11:10:58 +01:00
Daniel Friesel
2f7bdf99e8 Traewelling: Use API v1 for checkin as well 2022-11-10 17:50:31 +01:00
Daniel Friesel
fa94447f10 only show important HIM messages 2022-11-10 17:46:43 +01:00
Daniel Friesel
df74dd5cf9
route: handle stops without real-time data 2022-11-09 19:28:48 +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
e2214dfdcd
repair /offline.html 2022-07-15 19:27:47 +02:00
Daniel Friesel
5eab0c14f4
optionally link to external departure boards where sensible (WiP) 2022-07-11 22:09:26 +02:00
Daniel Friesel
4deb0bde0b
. 2022-07-11 22:08:02 +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
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