Commit graph

328 commits

Author SHA1 Message Date
Birte Kristina Friesel
3ec9970f01
traewelling oauth: pass HTTP redirect_uri in development mode 2023-08-09 19:26:25 +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
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
cdce746afd
increase maximum comment length 2023-07-15 16:11:21 +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
1074f248cc
use promises for checkin and traewelling_to_travelynx 2023-07-09 14:46:28 +02:00
Birte Kristina Friesel
b5723264a7
HAFAS station board: fix station name display 2023-07-09 07:07:31 +02:00
Derf Null
c9bae6fcee
journeys: simplify visibily check 2023-07-03 18:12:34 +02:00
Derf Null
a608ca6781
update ALL the copyright notices! 2023-07-03 17:59:25 +02:00
Derf Null
66e8dcb925
Profile: remove unused compute_effective_visibility function 2023-06-30 19:58:37 +02:00
Derf Null
0e4bafafd8
Profile: refactor visibility checks 2023-06-30 19:58:12 +02:00
Derf Null
a73e2edc86
profile: use effective visibility from journey object 2023-06-29 21:54:25 +02:00
Derf Null
f794d3c0a4
profile: treat self as follower 2023-06-29 21:52:18 +02:00
Derf Null
0702a0edca
Move hash_password to Model/Users 2023-06-26 19:50:49 +02:00
Derf Null
05924f2c67
Login: return HTTP 400 on invalid password or unconfirmed account 2023-06-25 23:28:38 +02:00
Derf Null
b44b770ec3
fine-graned visibility selection of history / past checkins
most notably, adds a 'history for followers only' mode
2023-06-24 21:25:14 +02:00
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
619646b533
warn when trying to check out at invalid unscheduled station
Closes #72
2023-06-08 10:20:13 +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
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
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
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
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
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
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
77ac39f389
user status: pass token to journey on redirect 2023-03-01 17:59:20 +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
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
e937324617
landing page: show past stops if geolocation is unavailable 2023-01-18 18:13:35 +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
04d096014e
Api: Fix 'uninitialized value' warning when no token is set 2023-01-03 10:12:53 +01:00
Daniel Friesel
dc53e4774b
review: shop travelynx version 2022-12-30 16:46:56 +01:00
Daniel Friesel
ccc93413a2
review: link to list of all single-trip checkins 2022-12-29 14:14:12 +01:00
Daniel Friesel
3abe6aed5c
it's a secret to everybody. 2022-12-27 11:07:16 +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
2f9ba6e017
switch to internal station database; add out-of-service stations for old journeys 2022-12-07 19:42:48 +01:00
Daniel Friesel
90d2e0357c
show expected load of suggested connections, if available 2022-11-12 18:37:00 +01:00
Daniel Friesel
c26c8820f2
Switch to internal HAFAS client for connection details 2022-11-09 18:14:07 +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
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