Commit graph

659 commits

Author SHA1 Message Date
Derf Null
57afb8c748
checked_in: also add link for follower-only checkins 2023-06-16 17:49:20 +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
619646b533
warn when trying to check out at invalid unscheduled station
Closes #72
2023-06-08 10:20:13 +02:00
Derf Null
cc4feebe2c
social: -v 2023-06-04 22:59:55 +02:00
Derf Null
b99620a283
release assets 2023-06-04 20:49:56 +02:00
Derf Null
c1635e24fb
use a separate bad_request page for CSRF errors 2023-06-04 19:25:24 +02:00
Derf Null
8cef56a940
landingpage: mention sharing and (optional) public history 2023-06-04 19:07:19 +02:00
Derf Null
34665da2a0
do not accept follows / follow requests by default 2023-06-04 19:05:20 +02:00
Derf Null
c420994a6f
social_list: follow requests: add accept all / reject all buttons 2023-06-04 18:55:01 +02:00
Derf Null
cede1f9b10
update changelog 2023-06-04 18:47:20 +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
f3ae26374b
release assets 2023-05-29 17:19:20 +02:00
Derf Null
a3c97a17a8
comment editor, share button: fix comment visibility check 2023-05-29 15:24:51 +02:00
Derf Null
24584f71b1
update API documentation 2023-05-29 15:06:28 +02:00
networkException
47b4aa5f63 fix excess column in history statistics
This patch fixes a typo in the history stats template.

Previously, the HTML parser would close the travel time table data cell
element but also create a new, empty table data cell in the process.
This empty excess cell would create a new column in the table, causing
all other rows to be shifted in the layout.

Now the open travel time data cell element gets closed properly without
creating a new cell, allowing the whole table to right align neatly.
2023-05-23 18:22:46 +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
851be46754
release assets 2023-05-07 09:56:07 +02:00
Derf Null
eb5f4b06cd
release assets 2023-05-03 19:55:38 +02:00
Derf Null
6452d5f3a7
Release v1.31 2023-05-01 11:39:05 +02:00
Derf Null
d18d068894
journey: shorten headers; remove realtime from journey 2023-05-01 10:49:17 +02:00
Derf Null
e4a07dc06c
journey: show times of intermediate stops, if available 2023-05-01 10:06:30 +02:00
Derf Null
e4e660e839
login: verify username patterns 2023-03-31 18:42:43 +02:00
Derf Null
0e2e976072
Release assets 2023-03-31 17:46:51 +02:00
Derf Null
2171317bad
move local.css to sass 2023-03-31 17:40:53 +02:00
Derf Null
c3c7a0c78b
stationboard: add HAFAS support 2023-03-27 21:03:25 +02:00
Derf Null
3a3a7bfeda
only show passenger rights link on own journeys 2023-03-24 17:49:53 +01:00
Derf Null
36eee924aa
add optional announcements to travelynx.conf 2023-03-19 12:20:30 +01:00
Derf Null
1dae686bda
history_map: fix CSS 2023-03-11 11:51:42 +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
a7c31b6436
_public_status_card: correctly calculate token 2023-03-04 10:25:16 +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
9abdaefaf5 release assets 2023-03-03 15:05:58 +01:00
Daniel Friesel
2406fc4efe token: do not expose full checkin timestamp 2023-03-03 15:05:43 +01:00
Daniel Friesel
ad544949ad
changelog 2023-03-02 22:13:32 +01:00
Daniel Friesel
1c46f56b50 fix comment visibilitiy check 2023-03-02 18:34:01 +01:00
Daniel Friesel
41985327e4 privacy template: same default setting for current and past checkin(s) 2023-03-02 18:28:43 +01:00
Daniel Friesel
5d021c4ec9
oops. 2023-03-01 21:37:04 +01:00
Daniel Friesel
d1a3176edf
journey template: $journey_visibility may be unset 2023-03-01 17:51:43 +01:00
Daniel Friesel
becd6943f7
add missing edit_visibility template 2023-02-28 19:45:33 +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
978c7b03c2
journey: add share button 2023-02-15 20:01:43 +01:00
Daniel Friesel
3da22fc8f9
improve inconsistency list 2023-02-04 22:17:57 +01:00
Daniel Friesel
16cdc3d10a
release assets 2023-02-04 21:21:36 +01:00
Daniel Friesel
6b4a82da32
inconsistent journeys: link to journeys 2023-02-04 21:17:45 +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
72c50a7cc8
share button: show expected arrival time if status is not public 2023-01-20 18:38:07 +01:00
Daniel Friesel
2a3dd77d27
release assets 2023-01-18 18:17:17 +01:00
Daniel Friesel
e937324617
landing page: show past stops if geolocation is unavailable 2023-01-18 18:13:35 +01:00
Daniel Friesel
4abc43b72e
change route/stop layout to [name, eva, {data}] 2023-01-15 16:37:32 +01:00
Daniel Friesel
95d8474a30
traewelling: Kein Beta-Feature mehr, aber weiterhin eingeschränkt 2023-01-08 09:48:16 +01:00
Daniel Friesel
dbd9d9951f
decrease amount of traewelling get_status requests 2023-01-07 13:57:47 +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
d779cfab39
Release v1.29 2022-12-28 12:13:16 +01:00
Daniel Friesel
7af8750714
review: a bit more emphasis 2022-12-28 12:09:06 +01:00
Daniel Friesel
530bc7137b
release assets 2022-12-28 12:01:00 +01:00
Daniel Friesel
c68552c753
review: formatting nit 2022-12-27 22:34:06 +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
9058a0be9d
review: there may be less than three messages 2022-12-27 11:19:51 +01:00
Daniel Friesel
5ede5ebf63
release assets 2022-12-27 11:07:57 +01:00
Daniel Friesel
3abe6aed5c
it's a secret to everybody. 2022-12-27 11:07:16 +01:00
Daniel Friesel
127b40c27a
not_found: allow custom error message 2022-12-26 16:48:11 +01:00
Daniel Friesel
f12bec530a
yearly/monthly history: return 404 for invalid dates 2022-12-26 15:35:33 +01:00
Daniel Friesel
d0973a9d8d
release assets 2022-12-26 12:44:56 +01:00
Daniel Friesel
187f7bf7ca
history_stats: remove number of journeys; will be shown in review 2022-12-25 22:45:52 +01:00
Daniel Friesel
5879d66714
release assets 2022-12-12 20:08:19 +01:00
Daniel Friesel
73dd23e422
changelog: fix mixed up icons 2022-12-07 21:45:35 +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
7a42a2afe0
about: use activitypub for contact and homepage for derf link 2022-11-24 21:45:54 +01:00
Daniel Friesel
4b4c975978
Release v1.27 2022-11-21 20:16:49 +01:00
Daniel Friesel
731eb7eb99
indicate hidden departures in station board 2022-11-21 20:02:18 +01:00
Daniel Friesel
77292c938c
registration page: accounts will be notified before inactivity deletion 2022-11-21 19:59:02 +01:00
Daniel Friesel
36d1f653d3
about: activitypub -> skyshaper.org 2022-11-21 19:43:13 +01:00
Daniel Friesel
500f555da6
about: twitter -> mastodon 2022-11-20 09:18:42 +01:00
Daniel Friesel
d0b89ba6d3
Handle missing arrival times in route (indicates 'entry only' stops) 2022-11-19 21:37:49 +01:00
Daniel Friesel
285c83c7c0
release assets 2022-11-12 20:20:06 +01:00
Daniel Friesel
1671666d06
fix load icon alignment in stop list 2022-11-12 20:19:36 +01:00
Daniel Friesel
13fdbdc798
Release v1.26 2022-11-12 18:39:29 +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
c92b6bc949
status card: handle missing realtime data 2022-11-11 19:01:24 +01:00
Daniel Friesel
91db3834ae release v1.25 2022-11-10 18:03:14 +01:00
Daniel Friesel
8936d70cc1 traewelling: add note about unstable API 2022-11-10 17:51:45 +01:00
Daniel Friesel
df74dd5cf9
route: handle stops without real-time data 2022-11-09 19:28:48 +01:00
Daniel Friesel
fc05987b14 traewelling: we now accept name or e-mail for login 2022-11-07 18:23:05 +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
sp8c3
fddd5c55be change apple-touch-icon to non transparent 2022-10-07 23:25:39 +02:00
Daniel Friesel
eddd3a0651
release assets 2022-10-03 12:08:23 +02:00
Daniel Friesel
6284360e80 connections: show platform above train line 2022-09-29 18:28:31 +02:00
Daniel Friesel
1e7fa039c5
changelog 2022-09-28 19:56:51 +02:00
Daniel Friesel
383ec3feb3
connections: platform on the left, times on the right; similar to departure board 2022-09-25 17:11:54 +02:00
Daniel Friesel
4a96cf1f47
connections: link for departure time 2022-09-24 18:57:23 +02:00
Daniel Friesel
e54130ad6e
optionally show local transit connections as well 2022-09-24 18:53:04 +02:00
Daniel Friesel
1c7779e94e
connections: move departure time to line
this way, departure time is left of arrival at destination, hopefully
minimizing confusion
2022-09-24 18:51:23 +02:00
Daniel Friesel
cd99bd6354
_checked_in: move interchange icon to train icons
now all icons are located next to the destination stop
2022-09-24 18:09:06 +02:00
Daniel Friesel
e83cfc5303
connections: show expected arrival at destination 2022-09-24 16:11:51 +02:00
Daniel Friesel
d8cbd9cd6c
connections: always use three-column view 2022-09-24 15:01:02 +02:00
Daniel Friesel
0e801e4797
footer: add legend link 2022-09-23 19:26:20 +02:00
Daniel Friesel
906a8a4f55
departure board: add footer 2022-09-23 19:25:17 +02: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
5bf1318cf5
connections: do not allow checkin while still in transit
fixes bug introduced by f01f108f94
2022-08-17 21:45:43 +02:00
Daniel Friesel
e01e6a43d1
release assets 2022-08-04 14:08:01 +02:00
Daniel Friesel
1a2ff8262d
... 'status' is a reserved renderer key. oops. 2022-08-04 14:07:25 +02:00
Daniel Friesel
adf2df3a3b
landingpage: $status is not always set 2022-07-28 09:34:32 +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
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
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
74123bbcc0
_checked_in: indentation fix 2022-07-15 22:37:02 +02:00
Daniel Friesel
79e141ae2e
departure board: replace 'info' symbol with 'train' symbol 2022-07-15 22:30:53 +02:00
Daniel Friesel
8c15966bd1
dbf: link to currently checked in train 2022-07-15 22:26:50 +02:00
Daniel Friesel
84730c98a1
release assets 2022-07-15 21:39:07 +02:00
Daniel Friesel
da5d9a27d0
changelog 2022-07-15 21:38:13 +02:00
Daniel Friesel
8bc32dd034
show infobox in destination list 2022-07-15 21:00:38 +02:00
Daniel Friesel
4d04ee9069
release assets 2022-07-14 21:08:19 +02:00
Daniel Friesel
f01f108f94
increased click area for checkin 2022-07-14 21:05:07 +02:00
Daniel Friesel
e361d39c0a
whoops 2022-07-13 21:41:29 +02:00
Daniel Friesel
1f673db4ea
update assets 2022-07-13 21:38:34 +02:00
Daniel Friesel
795136d868
increase clickable area in destination selection 2022-07-13 21:35:59 +02:00
Daniel Friesel
5eab0c14f4
optionally link to external departure boards where sensible (WiP) 2022-07-11 22:09:26 +02:00
Leonard Janis Robert König
3468e2ef36 landingpage: Fix typo 2022-04-17 19:16:47 +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
13b4572a2f
limit password length to 10000 characters
that should be sufficient…
2022-03-07 18:12:43 +01:00
Daniel Friesel
209e291821
Move webhook database queries to Users model 2022-02-20 17:35:30 +01:00
Daniel Friesel
ea32573758
changelog: add base_url note 2022-02-18 17:28:08 +01:00
Daniel Friesel
6d3a0f8649
prepare changelog for v1.22 2022-02-16 21:40:13 +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
Kristian Stöckel
0117a04266 Fix url 2021-12-01 18:27:32 +01:00
Daniel Friesel
a64fcc4c08
traewelling: clarify that we're only syncing _future_ checkins 2021-10-30 10:07:08 +02:00
Daniel Friesel
2f01ea6f0d Update station name autocompletion for T-S-DE-IRIS 1.60 2021-09-12 10:09:46 +02:00
Daniel Friesel
79b55c430d
allow registration to be disabled via config 2021-09-12 08:15:59 +02:00
Daniel Friesel
564f2fb354 update changelog 2021-08-20 22:54:59 +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
f9b25a56b3 footer: move "travelynx" link to the left 2021-08-08 09:39:32 +02:00
Daniel Friesel
84afb1bc2c departures: show annotation if no realtime data is available 2021-07-18 20:43:55 +02:00
Daniel Friesel
0d2a53c80d Update station autocompletion for T-S-DE-IRIS v1.56 2021-06-20 12:19:26 +02:00
Daniel Friesel
f1f475f26f v1.20 2021-06-14 19:35:46 +02:00
Daniel Friesel
95674ee2ea Add explanation to name change page 2021-06-14 19:30:58 +02:00
Daniel Friesel
bccdefbb7d add missing change_name template 2021-06-13 08:19:29 +02:00
Daniel Friesel
6cee1e20ef allow users to change their name 2021-06-12 19:00:42 +02:00
Daniel Friesel
aad2a53459 attempt to prevent registration spam 2021-04-20 21:59:17 +02:00
Daniel Friesel
74ae9825bf marudor.de train link: Use ISO8601 datetime; specify station eva id 2021-03-08 21:02:39 +01:00
Daniel Friesel
93ca0e6e75 link to source code on about page 2021-02-02 18:43:48 +01:00
Daniel Friesel
5b7086bcd9 update station list for autocompletion 2020-12-13 21:51:59 +01:00
Daniel Friesel
6ed840eb6a Release v1.19.0 2020-12-09 21:26:36 +01:00
Daniel Friesel
2ee5332ee5 warn if a connecting train may not be reached 2020-12-07 19:44:18 +01:00
Daniel Friesel
c509703ce5 oopsie 2020-12-03 22:16:54 +01:00
Daniel Friesel
2613fc0e58 use stats-enabled list view for year list as well 2020-12-03 22:15:09 +01:00
Daniel Friesel
025b58126f _history_years: remove redundant SQL request 2020-12-03 22:01:39 +01:00
Daniel Friesel
0addce7bff month overview: distinguish between no stats and no journeys 2020-11-21 15:39:21 +01:00
Daniel Friesel
ccfdd8007e testing a more organized history navigation 2020-11-21 15:34:06 +01:00
Daniel Friesel
88d3e67474 Fix navbar titles 2020-11-21 10:53:01 +01:00
Daniel Friesel
7d528e3eb6 remove superfluous "()" in function call 2020-11-21 10:35:18 +01:00
Daniel Friesel
f31fdb62d8 Fix Model::Journey usage in add_journey template (add missing uid) 2020-10-17 16:27:53 +02:00
Daniel Friesel
5bc78117d9 fix a typo introduced in 8170ce5 2020-10-17 16:25:44 +02:00
Leah (ctucx)
8170ce5cd9 disable browser-autocompletion on station-inputs 2020-10-17 16:17:10 +02:00
Daniel Friesel
e61550f751 Move remaining journeys queries to journeys model class 2020-10-11 21:08:22 +02:00
Daniel Friesel
e8ff730320 Stats: Fix handling of negative cumulative arrival/departure delays 2020-10-06 19:28:00 +02:00
Daniel Friesel
a6bbd6302c about/Kontakt: Link to finalrewind.org 2020-10-05 23:09:15 +02:00
Daniel Friesel
0b6df3859c It's Public Beta Time! 2020-10-04 12:50:41 +02:00
Daniel Friesel
7ef1fe06b9 /account/traewelling: show warning when login token is expired/expiring 2020-10-04 11:51:22 +02:00
Daniel Friesel
80b02a47b4 Traewelling: Warn when bearer token is about to expire 2020-10-04 10:38:09 +02:00
Daniel Friesel
64c9b5b160 traewelling checkin: the time limitation isn't needed 2020-10-01 19:48:18 +02:00
Daniel Friesel
07e0f89706 allow checking into traewelling 2020-10-01 19:36:35 +02:00
Daniel Friesel
590d3de518 Template adjustments; hide traewelling from public view for now 2020-09-30 19:46:54 +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
952740969c add opengraph metadata output 2020-09-21 20:31:08 +02:00
Daniel Friesel
39e12ec32e landingpage: hide button icon names from accessibility tools 2020-09-05 14:15:50 +02:00
Daniel Friesel
1b457f60e4 Release v1.17 2020-09-04 18:42:10 +02:00
Daniel Friesel
7eb5f967f2 profile: limit history to four weeks by default 2020-09-04 18:38:35 +02:00
Daniel Friesel
482fa975b5 add public profile page and public journey details 2020-09-03 22:27:50 +02:00
Daniel Friesel
51af59647e edit_journey: users can edit data, not just times 2020-08-23 16:41:01 +02:00
Daniel Friesel
47b957361e Move most journey code to newly introduced Journey model 2020-08-16 21:20:23 +02:00
Daniel Friesel
f08bdaca5c Move user model to a separate module 2020-07-27 18:53:22 +02:00
Daniel Friesel
cdb7469f00 webhooks: Add a missing </div> 2020-07-11 23:41:35 +02:00
Daniel Friesel
e27ac328e6 release 1.16 2020-04-19 18:38:07 +02:00
Daniel Friesel
1a79efda32 commute: Re-add year heading 2020-04-19 18:31:29 +02:00
Daniel Friesel
f5fd6d42e1 Add CSV Export 2020-04-19 18:26:20 +02:00
Daniel Friesel
020fe82660 add commuter stats to history page 2020-04-19 18:03:10 +02:00
Daniel Friesel
ec83af2523 commute: show weekday name in journey list 2020-04-19 17:06:42 +02:00
Daniel Friesel
94ea5a089f Commute stats: count days, not journeys 2020-04-19 17:03:02 +02:00
Daniel Friesel
94932c4102 add commute stats. not linked from nav yet. 2020-04-19 16:49:31 +02:00
Daniel Friesel
50d8256f6f connections: do not show platform if it is unknown 2020-04-19 11:55:49 +02:00
Daniel Friesel
901cfc50d8 connection view: small QoS icons, order by priority 2020-03-03 19:34:14 +01:00
Daniel Friesel
e6b74ef087 show QoS pictograms in connection list 2020-03-03 18:29:37 +01:00
Daniel Friesel
adaf9f7c0c landingpage: API also supports checkin 2020-02-26 20:38:01 +01:00
Daniel Friesel
5c05ed609f journey details: show route on map if available 2020-02-23 19:04:05 +01:00
Daniel Friesel
cb53a18898 Release v1.15 2020-02-20 21:02:52 +01:00