Commit graph

330 commits

Author SHA1 Message Date
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
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
796699a9c6
add_route_timestamps: keep real-time data where possible 2023-04-30 07:42:48 +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
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
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
5d20bf155a
resolve_sb_template: escape / in station name 2023-03-04 10:55:05 +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
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
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
4abc43b72e
change route/stop layout to [name, eva, {data}] 2023-01-15 16:37:32 +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
7b2cd23c39
add webfinger "profile-page" support (for public profiles only) 2023-01-08 09:40:49 +01:00
Daniel Friesel
3abe6aed5c
it's a secret to everybody. 2022-12-27 11:07:16 +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
fc9562f790
Improve "Betriebsstelle nicht bekannt" handling 2022-12-12 18:20:40 +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
6594d74edd
show expected utilization alongsie train route 2022-11-12 11:10:58 +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
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
4367085887
add legend (not referenced yet) 2022-09-23 17:35:02 +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
d0c061569d
Traveling: Rename log_action to travel_action 2022-08-02 22:22:10 +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
116becccb0
. 2022-07-16 20:34:11 +02:00
Daniel Friesel
8c15966bd1
dbf: link to currently checked in train 2022-07-15 22:26:50 +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
13b4572a2f
limit password length to 10000 characters
that should be sufficient…
2022-03-07 18:12:43 +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
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
6fc21cac41
Use correct base URL when running a command job (work/maintenance) 2022-02-14 21:41:32 +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
e8054faf76 checkout: throw an error when called with empty $station 2021-12-12 17:13:51 +01:00
Daniel Friesel
ed0054fa50
Allow usage of custom hafas-rest-api instances 2021-10-30 10:02:58 +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
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
0358cd51d5 also show wagon order when sections are unknown 2021-03-08 21:02:19 +01:00
Daniel Friesel
9666a2c6bc Do not warn on HAFAS "extra content at the end" (that's just an in-band 404) 2021-02-08 18:08:19 +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
a4ff5e8ad8 Switch to AGPL3+ 2021-01-29 18:32:13 +01:00
Daniel Friesel
5e29b99d61 remove superfluous ->app call 2020-12-17 20:58:47 +01:00
Daniel Friesel
2ee5332ee5 warn if a connecting train may not be reached 2020-12-07 19:44:18 +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
bed4ebe4cc another log level adjustment 2020-11-09 22:58:56 +01:00
Daniel Friesel
c8832e410e add_route_timestamps: adjust log severity
we can't do anything about "trainlink not found", so it really shouldn't be
a warning.
2020-11-08 18:44:32 +01:00
Daniel Friesel
e61550f751 Move remaining journeys queries to journeys model class 2020-10-11 21:08:22 +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
3ca18af9b6 make unknown stations warning more helpful 2020-10-08 20:04:25 +02:00
Daniel Friesel
e8ff730320 Stats: Fix handling of negative cumulative arrival/departure delays 2020-10-06 19:28:00 +02:00
Daniel Friesel
9acc9822e4 also allow regionalExpress, just to be safe 2020-10-04 13:09:47 +02:00
Daniel Friesel
ce88fe440c HAFAS "national" trips are also trains 2020-10-04 13:04:52 +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
e27e37190e add explicit empty return statements to promise handlers 2020-09-20 10:01:03 +02:00
Daniel Friesel
874de11298 handle rejected promises; do not accidentally duplicate rejections 2020-09-10 21:20:26 +02:00
Daniel Friesel
4171fe22ca add DBDB helper for wagonorder and stationinfo 2020-09-06 12:55:25 +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
d9624ee308 Remove now-useless include 2020-08-15 08:25:24 +02:00
Daniel Friesel
717cc18a40 Move get_departures to a separate IRIS helper 2020-08-06 16:04:12 +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
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
a3cfa598a6 use german locale in epoch_to_dt helper 2020-04-19 17:09:02 +02:00
Daniel Friesel
0a87135e35 get_top_destinations: order by count desc
order is ascending by default, resulting in flop instead of top destinations.
2020-04-19 16:50:50 +02:00
Daniel Friesel
94932c4102 add commute stats. not linked from nav yet. 2020-04-19 16:49:31 +02:00
Daniel Friesel
ac2a23c3fa Fix occasionally incorrect TripIDs (and thus incorrect polylines)
Until now, tripIDs were cached based on station and departure timestamp.
These are identical for any two trains departing at the same time at the same
station, leading to one of those getting being assigned a wrong tripID.

From now on, only the JSON reported by transport.rest is cached -- tripIDs
are always recomputed based on it.
2020-04-16 09:47:31 +02:00
Daniel Friesel
d66cf00d9d log train number when encountering a timestamp error 2020-04-16 04:55:04 +02:00
Daniel Friesel
e5f273ced3 ignore missing timestamps when performing a force checkout 2020-04-16 04:54:41 +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
6826c03386 show select past departures in checkin suggestion list
Previously, for each destination, up to two departures between now and
now + 40 minutes were shown.

When performing a fresh checkin (i.e., the has not logged a journey in the
past few minutes and is not currently checked in), the departure list now
additionally contains all departures between now - 5 minutes and now.

When checking in from a train (i.e., the user has recently checked out at
the station or is still checked in), it additionally contains all departures
between arrival time and now.

Closes #33
2020-04-14 17:45:09 +02:00