Commit graph

344 commits

Author SHA1 Message Date
Birte Kristina Friesel
fbc21f45c8
API: Add departure and arrival platform
Closes #164
2024-09-18 19:01:31 +02:00
Birte Kristina Friesel
03fe2757f3
Replace ice_names.json with Travel::Status::DE::DBWagenreihung built-in list 2024-08-28 17:27:11 +02:00
Birte Kristina Friesel
f8542fffcd
map, get_travel_distance: Prefer EVA ID over name for route matches
Station names frequently change, so the EVA ID is more robust

Closes #160
2024-08-26 20:44:46 +02:00
Birte Kristina Friesel
6f3710c5cb
IRIS: Re-add support for stations unknown to T::S::DE::IRIS::Stations
This fixes a regression introduced by 47f76da4f8

Closes #159

Journeys logged with travelynx v2.8.0 through 2.8.30 are affected by this bug
and will contain incorrect data even after applying this patch – it only
fixes data for new entries.

To Do: See if affected entries can be repaired with a DB migration
2024-08-25 16:36:02 +02:00
Birte Kristina Friesel
d26953d13e
fix /cancelled.json
Closes #155
2024-08-25 10:34:38 +02:00
Birte Kristina Friesel
73030d2ae4
improve hafas checkin error message for route issues 2024-08-16 18:35:40 +02:00
Birte Kristina Friesel
9b7013907b
stats, map: deal with multiple EVA IDs mapping to the same station name 2024-08-15 17:38:13 +02:00
Birte Kristina Friesel
119f2ea96a
IRIS checkout: do not overwrite HAFAS route with IRIS route
The IRIS route may differ from the HAFAS route in case of diversions,
causing travelynx to lose real-time data, coordinates, and polyline when
the follow-up add_route_timestamps call is not made.
2024-08-14 22:18:21 +02:00
Birte Kristina Friesel
43fc820e0c
add_route_timestamps: do not re-request trip id if it is already known 2024-08-14 21:50:55 +02:00
Birte Kristina Friesel
45dc2e4e2a
Switch to new carriage formation API 2024-08-08 21:13:39 +02:00
Birte Kristina Friesel
47f76da4f8
Multi-backend support
Squashed commit of the following:

commit 92518024ba295456358618c0e8180bd8e996fdf1
Author: Birte Kristina Friesel <birte.friesel@uos.de>
Date:   Fri Jul 26 18:39:46 2024 +0200

    add_or_update station: remove superfluos 'new backend id := old backend id'

commit df21c20c6e4c86454f8a9ac69121404415217f2a
Author: Birte Kristina Friesel <birte.friesel@uos.de>
Date:   Fri Jul 26 18:35:51 2024 +0200

    revert connection targets min_count to 3

commit be335cef07d0b42874f5fc1de4a1d13396e8e807
Author: Birte Kristina Friesel <birte.friesel@uos.de>
Date:   Fri Jul 26 18:20:05 2024 +0200

    mention backend selection in API documentation

commit 9f41828fb4f18fd707e0087def3032e8d4c8d7d8
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Thu Jul 25 20:19:23 2024 +0200

    use_history: not all backends provide route data in departure monitor

commit 09714b4d89684b8331d0e96f564a4c7432318f70
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Thu Jul 25 20:11:44 2024 +0200

    disambiguation: pass correct hafas parameter

commit 8cdf1120fc32155dc6525be64601b7c10a9c7f52
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Thu Jul 25 20:11:28 2024 +0200

    _checked_in: hide Zuglauf link for non-db checkins

commit 7455653f541198e0e0a6d11aed421487ffdb6285
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Thu Jul 25 20:01:47 2024 +0200

    debug output

commit b9cda07f85601a58ea32dbdacdd5399f302db52b
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Thu Jul 25 19:09:07 2024 +0200

    fix remaining get_connection_targets / get_connecting_trains_p invocations

commit 2759d7258c37c7498905cfe19f6b4c4f6d16bd21
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Wed Jul 24 20:50:12 2024 +0200

    support non-DB HAFAS backends (WiP)
2024-07-26 18:55:58 +02:00
Birte Kristina Friesel
fa20c21ec2
Add lat/lon to pre-2.7.8 journeys; add eva where missing
This speeds up the map significantly and makes coordinates_by_station obsolete
2024-07-21 19:22:52 +02:00
Birte Kristina Friesel
07ab3f4e9b
store lat/lon along with route
This increases resilience against EVA ID reuse
2024-07-08 21:05:21 +02:00
Birte Kristina Friesel
1184d84827
always use HAFAS for traewelling → travelynx 2024-06-23 10:28:51 +02:00
Birte Kristina Friesel
bd24f1f2f4
oopsie
Closes #144
2024-06-21 20:43:36 +02:00
Birte Kristina Friesel
cb8964fb3c
add_route_timestamps: use $train->id rather than in_transit id
this avoids a race condition when the worker requests all current checkins and
takes a while before getting to update the data
2024-06-21 18:27:37 +02:00
Birte Kristina Friesel
d7fd521899
InTransit: allow setting data in add call 2024-06-15 22:03:36 +02:00
Birte Kristina Friesel
9b256f0f02
remove service / sb_template selection; hardcode DBF with variable hafas flag 2024-06-15 17:50:56 +02:00
Birte Kristina Friesel
40cbfd62df
allow force checkouts even in case of route mismatches 2024-06-06 17:57:15 +02:00
Birte Kristina Friesel
7b8584473b
Profile: Add JSON renderer 2024-05-31 10:59:41 +02:00
Birte Kristina Friesel
9442572084
DBDB: use realtime cache for carriage composition requests 2024-05-30 11:53:33 +02:00
Birte Kristina Friesel
2576a463db
perform stationinfo requests for hafas checkins 2024-05-30 11:25:52 +02:00
Birte Kristina Friesel
85c7861bc1
request wagon orders for HAFAS checkins 2024-05-29 21:49:31 +02:00
Birte Kristina Friesel
1ad8fa3a51
Move wagonorder request to a separate helper
This is in preparation for HAFAS wagonorder support
2024-05-29 20:17:01 +02:00
Birte Kristina Friesel
5a2285bd59
check train/trip id when updating associated data
this avoid race conditions when a user changes their checkin between the time
of request (old trip id) and the time of data update (new trip id). These
could lead to funny effects such as buses suddenly having S-Bahn carriage
formations.
2024-05-24 21:39:09 +02:00
Birte Kristina Friesel
f7a9213961
add_route_timestamps: IRIS route may be shorter than HAFAS route 2024-05-22 19:20:39 +02:00
Birte Kristina Friesel
cd6df2aa9b
Use HAFAS routes as single source of truth. Overwrite initial IRIS route. 2024-05-22 19:04:57 +02:00
Birte Kristina Friesel
0a85971565
/status: respond to .json as well as "Accept: application/json" 2024-04-26 17:47:32 +02:00
Birte Kristina Friesel
a0bd839594
refactor polyline insertion into InTransit Model 2024-04-21 19:21:16 +02:00
Birte Kristina Friesel
875ec1c3e5
Request polylines for HAFAS journeys as well; only store sensible ones
Decreases severity of #99
Fixes #108
2024-04-07 11:18:04 +02:00
Birte Kristina Friesel
dafeb838dc
Use journeyMatch rather than legacy trainsearch.exe API to find tripIDs 2024-02-24 20:11:11 +01:00
Birte Kristina Friesel
d47195a0cf
Switch to Travel::Status::DE::HAFAS 5.x 2023-12-27 10:59:35 +01:00
Birte Kristina Friesel
04c8d7672a
journey: show distances below 10km with 100m resolution (and <1km with 1m) 2023-09-16 22:23:44 +02:00
Birte Kristina Friesel
434eb5a18d
map: use high beeline opacity if no polylines are available 2023-09-12 18:26:15 +02:00
Birte Kristina Friesel
2e14c2e3e4
Fix intermediate stop display for journeys without real-time data, e.g. H-Bahn 2023-09-07 21:19:43 +02:00
Birte Kristina Friesel
26ebd3d644
API: Expose HAFAS JourneyID, if available (#85) 2023-08-30 21:54:05 +02:00
Birte Kristina Friesel
f4d71b4d9f
obtain autocompletion from database 2023-08-26 09:17:28 +02:00
Birte Kristina Friesel
b85e8a1e04
API: Support HAFAS checkin (via journeyID) 2023-08-19 12:43:43 +02:00
Birte Kristina Friesel
293f0c7577
synchronize non-train checkins from traewelling to travelynx 2023-08-13 20:18:40 +02:00
Birte Kristina Friesel
0604dd80f8
WIP: HAFAS support 2023-08-13 12:51:15 +02:00
Birte Kristina Friesel
52c0da3f46
Traewelling: replace legacy password login with OAuth2
This is a breaking change insofar as that traewelling support is no longer
provided automatically, but must be enabled by providing a traewelling.de
application ID and secret in travelynx.conf. However, as traewelling.de
password login is deprecated and wil soon be disabled, travelynx would break
either way. So we might or might not see travelynx 2.0.0 in the next days.

Automatic token refresh is still todo, but that was the case for password
login as well.

Closes #64
2023-08-07 21:17:10 +02:00
Birte Kristina Friesel
38ad42b42c
convert checkout to promises (checkout_p) 2023-07-23 20:18:10 +02:00
Birte Kristina Friesel
13277ad770
checkout: remove with_related special case
travelynx now always calls checkout with the database-provided arr_eva,
so the edge case in which it provided a station that is not actually on the
route of a train can no longer appear.
2023-07-23 12:21:37 +02:00
Birte Kristina Friesel
9df937c890
remove debug output 2023-07-15 23:23:11 +02:00
Birte Kristina Friesel
1cca278baa
add timeline / current checkins 2023-07-15 19:20:37 +02:00
Birte Kristina Friesel
bee67f096a
get_user_status: fix stop_before_dest calculation 2023-07-15 19:16:01 +02:00
Birte Kristina Friesel
40cd1d06fe
postprocess timeline; move user-related parts to get_user_status 2023-07-15 19:07:21 +02:00
Birte Kristina Friesel
cdce746afd
increase maximum comment length 2023-07-15 16:11:21 +02:00
Birte Kristina Friesel
b446b68e67
Move InTransit post-processing to InTransit module 2023-07-15 13:28:54 +02:00
Birte Kristina Friesel
2123a67ba0
IRIS->get_departures_p: return string in first rejection argument
This is consistent with other promises within travelynx
2023-07-09 17:41:51 +02:00