Birte Kristina Friesel
f71348a8a8
Store journey backend; do not rely on '|' in ID to distinguish IRIS/HAFAS
...
This is in preparation for supporting multiple HAFAS backends, and possibly
EFA and RIS::Journeys.
2024-06-08 22:18:31 +02:00
Birte Kristina Friesel
c969424c2d
... derp
2024-06-06 19:40:59 +02:00
Birte Kristina Friesel
14023ad185
traewelling pull sync requires user_name to be set
2024-06-06 18:01:34 +02:00
Birte Kristina Friesel
c3a43725d4
traewelling: trace missing username bug
2024-06-06 06:41:52 +02:00
Birte Kristina Friesel
41cc5f3c25
work: check arr on arr, not on dep
2024-06-02 11:47:19 +02:00
Birte Kristina Friesel
f0e169cbfd
Profile: remove journeys from JSON fornow
2024-06-02 11:19:46 +02:00
Birte Kristina Friesel
7b8584473b
Profile: Add JSON renderer
2024-05-31 10:59:41 +02:00
Birte Kristina Friesel
5a72c60307
work: fix HAFAS arrival wagonorder/stationinfo request logic
2024-05-30 11:54:21 +02:00
Birte Kristina Friesel
918ed6ab1f
DBDB: Add some debug statements
2024-05-30 11:54:02 +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
4764fd9a6b
route_after: handle passing the same stop more than once
2024-05-22 19:08:35 +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
dc4f61c2aa
InTransit: postprocess: simplify DateTime handling a bit
2024-05-09 08:33:55 +02:00
Birte Kristina Friesel
6d07d0a180
/status: return JSON for 404 errors as well
2024-04-26 17:48:04 +02:00
Birte Kristina Friesel
a0bd839594
refactor polyline insertion into InTransit Model
2024-04-21 19:21:16 +02:00
Birte Kristina Friesel
2ff5f92bcc
Store HAFAS checkins with type/train/line number at checkin station
2024-04-16 18:08:21 +02:00
Birte Kristina Friesel
a72b6192ed
dumpstops: encode output as UTF-8
2024-04-07 11:23:47 +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
c9e5bfae62
store tz_offset in route data if present
2024-04-03 13:58:48 +02:00
Birte Kristina Friesel
6e42d1dc29
lesson learned: do not deploy from easterhegg
2024-03-31 21:22:50 +02:00
Birte Kristina Friesel
b978ba6bc0
oops
2024-03-31 21:21:59 +02:00
Birte Kristina Friesel
970e30202d
HAFAS departures: add earlier / later links
2024-03-31 14:44:37 +02:00
Birte Kristina Friesel
9f0d72b9d1
HAFAS: correctly pass lookahead on to backend library
...
Closes #126
Note that this is more of a hotfix -- the underlying bug is in
Travel::Status::DE::HAFAS
2024-03-30 09:58:06 +01:00
Birte Kristina Friesel
9e073a0fe8
Traveling: work around empty evas list in HAFAS result
2024-03-05 21:35:08 +01:00
Birte Kristina Friesel
ab14df0b16
Berlin Hbf is cursed.
2024-02-25 06:50:03 +01: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
4393751bcb
Journeys: adjust sanity_check for local transit stuff
2024-02-13 21:51:08 +01:00
Birte Kristina Friesel
39ebc84e5f
add dumpstops command
2024-02-09 19:09:16 +01:00
Birte Kristina Friesel
7eedd5149f
perltidy
2024-01-30 21:07:57 +01:00
Birte Kristina Friesel
40eb74887b
journey detail title: use departure date
2024-01-30 21:07:06 +01:00
Cassidy Dingenskirchen
5b3cfd3355
add title elements
...
(cherry picked from commit 5d8f6467dc00f03957784230983ed730ec421291)
Signed-off-by: Birte Kristina Friesel <derf@finalrewind.org>
2024-01-30 21:04:42 +01:00
Birte Kristina Friesel
827751e430
confirm_mail: work around funky MUAs
2024-01-14 13:33:14 +01:00
Birte Kristina Friesel
a474981f6a
work: Some HAFAS errors are not actionable and should not be logged as errors
2024-01-11 18:37:12 +01:00
Birte Kristina Friesel
1690a07d92
Rename filter_after/filter_before to filter_from/filter_to (they're inclusive)
2024-01-02 09:12:24 +01:00
Birte Kristina Friesel
2c229c0317
map: show year in headline if set
2024-01-01 12:58:59 +01:00
Birte Kristina Friesel
a2e1edbe8b
history_map: filter_until is inclusive
2023-12-31 12:24:51 +01:00
Birte Kristina Friesel
4d044fb98a
Fix connection display for Travel::Status::DE::HAFAS 5.x
2023-12-27 11:16:38 +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
6364751eb1
HAFAS: Use locationSearch rather than similar_stops_p
...
locationSearch uses mgate.exe, just like the regular departure board.
similar_stops_p relies on ajax-getstop.exe which may become unavailable sooner
rather than later.
2023-11-01 18:44:00 +01:00
Birte Kristina Friesel
fd43d818f9
increase level of caution
2023-10-01 10:51:58 +02:00
Birte Kristina Friesel
cbc433f76c
suggested connections: avoid fetching IRIS trains via HAFAS
2023-10-01 10:49:36 +02:00
Birte Kristina Friesel
4a2897c1f8
influxdb: add meta / related_stations count
2023-10-01 10:30:24 +02:00
Birte Kristina Friesel
aaeb81a5d2
store related stations; respect them when looking up connections
2023-10-01 07:11:58 +02:00
Birte Kristina Friesel
2638dd36fb
connections: do not show cancelled trains twice
2023-09-26 20:26:12 +02:00
Birte Kristina Friesel
e346f969b0
intransit: support HAFAS trains that do not have a type
2023-09-24 18:20:15 +02:00
Birte Kristina Friesel
de074342de
add support for HAFAS connection suggestions; drop manual destination list
...
Still TODO: handle stations that have several EVAs
2023-09-24 18:19:17 +02:00
Birte Kristina Friesel
8810acf742
/s: support filter by trip_id; only allow train filter in IRIS mode
2023-09-17 15:50:11 +02:00
Birte Kristina Friesel
8daf885ace
indicate whether current journey has realtime data
2023-09-09 10:06:31 +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
b410176e63
perltidy
2023-09-04 17:08:17 +02:00
Birte Kristina Friesel
55451b78f4
work: 'did not find $dep' is not actionable → change severity to debug
2023-09-04 17:05:50 +02:00
Birte Kristina Friesel
f4d71b4d9f
obtain autocompletion from database
2023-08-26 09:17:28 +02:00
Birte Kristina Friesel
559a1cedd7
manual station entry: fix HAFAS redirect
2023-08-26 09:15:33 +02:00
Birte Kristina Friesel
d313ca7fc1
resolve unknown/ambiguous stop into list of stops
2023-08-24 21:26:00 +02:00
Birte Kristina Friesel
9b66e2779d
geolocation: Fix 'hafas=undefined' links for iris stops
2023-08-24 21:11:45 +02:00
Birte Kristina Friesel
ecc419e646
select latest journey based on timestamp, not ID
...
This avoids manually added past journeys messing with the latest travel target
2023-08-22 09:21:02 +02:00
Birte Kristina Friesel
6ca55f83b1
Database: create index on real_departure to speed up latest journey queries
2023-08-22 09:10:54 +02:00
Birte Kristina Friesel
8f747fff91
sort HAFAS/IRIS stations by distance
2023-08-20 16:52:09 +02:00
Birte Kristina Friesel
b85e8a1e04
API: Support HAFAS checkin (via journeyID)
2023-08-19 12:43:43 +02:00
Birte Kristina Friesel
85022709d7
API: fix checkin with toStation and checkout endpoints
...
Broken by 38ad42b42c
2023-08-19 10:06:15 +02:00
Birte Kristina Friesel
54547eb3af
manual station entry: HAFAS support
2023-08-18 20:42:37 +02:00
Birte Kristina Friesel
654bde9278
geosearch: always query iris and hafas stops
2023-08-16 18:54:32 +02:00
Birte Kristina Friesel
5d330a7738
recent targets: distinguish hafas/iris
2023-08-16 09:31:01 +02:00
Birte Kristina Friesel
dfe820952f
station board: add iris / hafas links
2023-08-15 08:37:14 +02:00
Birte Kristina Friesel
8f377d4ee5
traveling: redirect hafas journeys to hafas=1
2023-08-14 12:35:22 +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
944688cfff
influxdb: add stations statistics
2023-08-13 10:55:32 +02:00
Birte Kristina Friesel
8ec002f041
Store traewelling refresh token in database
2023-08-09 19:28:36 +02:00
Birte Kristina Friesel
3ec9970f01
traewelling oauth: pass HTTP redirect_uri in development mode
2023-08-09 19:26:25 +02:00
Birte Kristina Friesel
db7e5faaf4
sort timeline (descending by checkin timestamp, so most recent checkins first)
2023-08-08 19:53:37 +02:00
Birte Kristina Friesel
a08a4be89e
Fix Traewelling OAuth2 behind reverse proxies
...
a reverse proxy makes mojolicious believe that it is using HTTP, even though
it is HTTPS.
2023-08-08 18:15:31 +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
9209cb292e
database: stations: make 'ds100' column optional.
...
HAFAS stations do not necessarily have ds100 codes
2023-07-22 18:03:46 +02:00
Birte Kristina Friesel
86ddfe5c97
Users->delete: delete relations as well
2023-07-19 09:17:19 +02:00
Birte Kristina Friesel
fef9ebe0b2
followee list: show if accounts are following back
2023-07-18 15:47:45 +02:00
Birte Kristina Friesel
19cd9f7a8d
account: add a list of sent follow requests
2023-07-16 23:01:23 +02:00
Birte Kristina Friesel
f9d1c266ce
action#checkin: re-add auto checkout
...
was removed from $self->checkin in 1074f248cc
2023-07-16 17:20:36 +02:00
Birte Kristina Friesel
b0bb69d87e
show followee checkins in departure board
2023-07-16 10:30:47 +02:00
Birte Kristina Friesel
40bec7774b
cleanup; perltidy
2023-07-16 10:30:23 +02:00
Birte Kristina Friesel
1cca278baa
add timeline / current checkins
2023-07-15 19:20:37 +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
5006bf6249
database: change maximum comment length
2023-07-15 17:10:24 +02:00
Birte Kristina Friesel
3c59efe2d4
timeline: minimum visibility is followers-only, not unlisted
2023-07-15 16:12:09 +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
d43c44e81c
add view for followees in transit
2023-07-15 08:36:26 +02:00
Birte Kristina Friesel
ca3cd1580f
Journeys->get_latest: Fix uninitialized value warning
2023-07-14 18:48:46 +02:00
Birte Kristina Friesel
5e74e35dfe
get_pushable_accounts: obtain all values from in_transit_str
2023-07-13 21:08:12 +02:00
Birte Kristina Friesel
83df6f41e2
perltidy
2023-07-13 20:56:30 +02:00
networkException
0c1993f28e
Checkin: Use correct visibility when pushing to Träwelling
2023-07-13 20:17:51 +02:00
Birte Kristina Friesel
8a422d16f7
Api: use get_departures_p
2023-07-09 19:23:11 +02:00
Birte Kristina Friesel
5b88a4bb3d
station board: fix HTTP status and IRIS error handling
2023-07-09 17:42:12 +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