Commit graph

406 commits

Author SHA1 Message Date
Daniel Friesel
22b0e98b9c preliminary wagon view 2019-12-13 17:59:12 +01:00
Daniel Friesel
875dd4e0b5 confirm undo of checkins after 15 minutes 2019-12-08 21:04:34 +01:00
Daniel Friesel
315a94affe allow a journey's cancellation status to be edited
Closes #27
2019-12-08 19:46:45 +01:00
Daniel Friesel
561ff4574b Allow status visibility to be limited to travelynx users 2019-12-08 11:06:17 +01:00
Daniel Friesel
2bee9077ba account: typo 2019-12-08 10:32:07 +01:00
Daniel Friesel
17ce377307 release v1.11 2019-12-06 21:56:19 +01:00
Daniel Friesel
ededbef98f use comment in share text (if public) 2019-12-06 21:56:06 +01:00
Daniel Friesel
fb126c6928 optionally show journey comment in public user status
Closes #19
2019-12-06 21:44:31 +01:00
Daniel Friesel
094c536eb4 Allow comments to be entered while still in transit 2019-12-06 21:40:51 +01:00
Daniel Friesel
424897fcc3 improve cancellation mark in connections overview 2019-11-27 18:32:13 +01:00
Daniel Friesel
0e2e8cd78e history map: Add checkbox to display manually added journeys 2019-11-27 18:26:15 +01:00
Daniel Friesel
5e03718f14 public_status_card: fix uninitialized value warning 2019-11-26 18:35:51 +01:00
Daniel Friesel
4f0fee7783 show cancelled trains in connections list 2019-11-25 21:18:57 +01:00
Daniel Friesel
b3b0a055b9 improve get_user_travels performance, most notably when rendering map
only create DateTime objects when needed
2019-11-24 20:29:52 +01:00
Daniel Friesel
57f47d2a3c allow routes to be edited after recording a journey 2019-11-20 17:41:21 +01:00
Daniel Friesel
b80613b8a8 allow route input when adding journeys manually (#26) 2019-11-19 19:46:39 +01:00
Daniel Friesel
13e59b3aa1 add journey: make realtime data optional (default to schedule data)
Closes #25
2019-11-18 21:02:57 +01:00
Daniel Friesel
ff2a3afe34 Release v1.10
Release early, release often
2019-11-18 17:40:35 +01:00
Daniel Friesel
563ceb131e history_map: note that inconsistent and manually entered routes are special
See #26
2019-11-18 17:33:15 +01:00
Daniel Friesel
783a540cb0 history map: show time range; handle users with no journeys 2019-11-16 23:47:18 +01:00
Daniel Friesel
733fe2d853 map: add legend, link to history map from history page 2019-11-16 15:57:09 +01:00
Daniel Friesel
45f747961e map: add station names to points 2019-11-16 14:50:07 +01:00
Daniel Friesel
0bfb71d78d add map view of past journeys. unfinished and unreferenced. 2019-11-16 00:01:50 +01:00
Daniel Friesel
35e9dae349 include URL in copied share text if enabled 2019-11-14 18:23:21 +01:00
Daniel Friesel
3e61b9de48 Copy share text to clipboard if sharing API is unavailable
Closes #24
2019-11-14 17:47:06 +01:00
Daniel Friesel
4483073539 update asset version 2019-10-30 20:46:19 +01:00
Daniel Friesel
b05b535ae7 remove 'next stop' header to align with JS 2019-10-30 20:45:51 +01:00
Daniel Friesel
663b4dc6d8 live update of next station via javascript 2019-10-29 21:18:46 +01:00
Daniel Friesel
780cdafcf5 show related stations in departure list 2019-10-19 10:15:18 +02:00
Daniel Friesel
daa05870fd improve undo/share button layout on small screens
should fix #22
2019-10-14 15:45:10 +02:00
Daniel Friesel
6d45533c14 mark cancelled stops in checkin view 2019-10-04 23:27:45 +02:00
Daniel Friesel
3582ba317b checked in view: link to marudor.de detail view for wagon order 2019-09-20 19:39:14 +02:00
Daniel Friesel
1cb26e2053 handle substitute connections in passenger rights form 2019-09-18 20:21:16 +02:00
Daniel Friesel
8e6ee729e0 passengerrights: improve support for cancelled trains
To do: also do so in form generation
2019-09-18 18:19:54 +02:00
Daniel Friesel
aac8e2a0e1 Save scheduled arrival time for cancelled trains 2019-09-18 18:08:06 +02:00
Daniel Friesel
2075c89655 landingpage: Add passengerrights support 2019-09-16 17:20:37 +02:00
Daniel Friesel
b8f00bcf98 make 'missed connection' passengerrights message less confusing 2019-09-15 15:58:15 +02:00
Daniel Friesel
5f7933cffb pasengerrights: link to both journeys on connection miss 2019-09-14 12:32:28 +02:00
Daniel Friesel
35cc18dfae add passenger rights heuristic for missed connections 2019-09-13 23:39:28 +02:00
Daniel Friesel
29d99fe140 show arrival times in destination selection 2019-09-13 11:54:19 +02:00
Daniel Friesel
c891da97fb Explicitly set passenger rights form filename 2019-09-12 18:23:23 +02:00
Daniel Friesel
0822cfc993 add auto-generated passenger rights forms 2019-09-12 18:07:21 +02:00
Daniel Friesel
628a5c705b turn force checkout into a proper button 2019-08-25 09:00:59 +02:00
Daniel Friesel
74f2132c2e declutter Checked In-panel 2019-08-23 22:54:59 +02:00
Daniel Friesel
a40aa1936b Allow comments to be edited 2019-08-23 12:02:22 +02:00
Daniel Friesel
f6d56d3134 Add proper journey comment support 2019-08-23 10:34:02 +02:00
Daniel Friesel
d08c1ead33 update autocomplete station list 2019-08-22 13:41:31 +02:00
Daniel Friesel
c9592e3f76 show boarding countdown in departure overview 2019-08-06 20:21:57 +02:00
Daniel Friesel
0439aa8b02 use the same direction for wagon order and direction indicator 2019-08-03 15:09:15 +02:00
Daniel Friesel
a48352ada4 also show train direction on departure 2019-08-03 12:35:47 +02:00
Daniel Friesel
b12b5a821b Show departures of all linked stations
Not well-tested yet, deployment will have to wait a bit. Issue #15
2019-07-14 21:29:52 +02:00
Daniel Friesel
8e5a8fad93 indicate whether a connecting train is cancelled or not 2019-07-07 08:10:05 +02:00
Daniel Friesel
29958c1968 wagon order detail has been deployed on marudor.de 2019-06-25 20:19:45 +02:00
Daniel Friesel
7ef47cdbf9 wagon order: link to marudor.de for details 2019-06-24 21:11:02 +02:00
Daniel Friesel
36121ccffc show wagon order before departure 2019-06-24 18:02:45 +02:00
Daniel Friesel
590b27f2ca also show exit direction for regional trains at select stations 2019-06-23 18:46:25 +02:00
Daniel Friesel
b3b0823829 show exit direction on kopfgleis platforms 2019-06-22 17:02:04 +02:00
Daniel Friesel
ee24664ee9 make share button link to status page if share API is unavailable 2019-06-19 21:04:36 +02:00
Daniel Friesel
c35548e909 re-phrase auto checkout notice 2019-06-10 19:22:41 +02:00
Daniel Friesel
b54c977e08 increase checkout delay to work around IRIS information lag 2019-06-10 18:09:54 +02:00
Daniel Friesel
2d250d02bc use a distinct 'offline' icon 2019-06-05 18:49:13 +02:00
Daniel Friesel
7be3a4219e checked in: Show QoS messages before departure and HIM messages at all times 2019-06-04 21:12:36 +02:00
Daniel Friesel
ac3abd5c51 v1.7 2019-06-01 12:08:00 +02:00
Daniel Friesel
b1591eed54 show current/next stop while checked in 2019-05-31 20:18:22 +02:00
Daniel Friesel
155f9f39cc use journey-specific status links -> one twitter card per journey 2019-05-29 20:01:52 +02:00
Daniel Friesel
146b3a2682 add twitter preview tags to public user status page 2019-05-29 18:11:25 +02:00
Daniel Friesel
22eee81c1c fix email fields in dark mode 2019-05-28 22:24:44 +02:00
Daniel Friesel
7fe95532c1 Use JSON for messages and route storage, prepare for extended route data 2019-05-26 17:28:21 +02:00
Daniel Friesel
45a4089431 Handle missing platform numbers 2019-05-25 23:04:36 +02:00
Daniel Friesel
302a6a144e Remove apple-mobile-web-app-capable tag to work around Safari session issues
iOS Safari does not send session cookies when following links to PWAs using
the apple-mobile-web-app-capable tag. This is not documented on
<https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html>,
though I can't say whether it is a bug in Safari or lacking documentation.

See <https://github.com/foosel/OctoPrint/issues/1792> for a more detailed
description of this type of issue.
2019-05-25 13:21:03 +02:00
Daniel Friesel
1dc04eb45a show journey suggestions on departure board as well 2019-05-20 19:15:21 +02:00
Daniel Friesel
8a43c4073f changelog 2019-05-19 10:37:59 +02:00
Daniel Friesel
d9d3aac792 allow checkin from connections view 2019-05-19 10:32:57 +02:00
Daniel Friesel
7960114f71 Work in progress: show connections when arriving soon
At the moment, the heuristic used to determine connection targets is quite
simple: $station is a target iff there were at least two trips in the past
6 weeks with checkin at the current destination station and checkout at
$station.

Todo / enhanhement options:

* Consider current origin station as well, i.e.: $station is a target
  iff there were at least two trips in the past 6 weeks which are preceded by
  a trip from the current origin station and (same as above)
* Make connection links clickable once the current journey has ended.
  Connections need to be added to _checked_out as well for this to work.
2019-05-19 08:55:23 +02:00
Daniel Friesel
e68043b8fb Show arrival/departure platform in journey card 2019-05-18 17:10:53 +02:00
Daniel Friesel
b4676c11fb Fix progress bar colours 2019-05-18 10:16:49 +02:00
Daniel Friesel
b9f8d536b5 fix input background color in dark theme 2019-05-18 08:49:28 +02:00
Daniel Friesel
99d0339602 changelog 2019-05-18 08:32:49 +02:00
Daniel Friesel
c3071d54eb Merge branch 'marudor-darkMode' 2019-05-18 08:31:13 +02:00
Daniel Friesel
2107c0bbaf release new asset version 2019-05-18 08:30:36 +02:00
Daniel Friesel
283f5aad04 remove debug output 2019-05-18 08:29:39 +02:00
Daniel Friesel
fa98aba3d3 Pre-select theme css in backend 2019-05-18 08:23:59 +02:00
Daniel Friesel
3668c69d1f correctly show departure station in cancelled view 2019-05-16 20:51:31 +02:00
Daniel Friesel
681ecabdf6 Provide light theme by default, avoid re-styling unless dark theme is active
This eliminates a large portion of main-thread work on page load
2019-05-16 20:39:54 +02:00
Daniel Friesel
6457ef2f9d fix typo in color scheme preference query 2019-05-16 20:32:58 +02:00
marudor
84b32b28e9
Further color improvements 2019-05-16 16:10:53 +02:00
marudor
87e74ca90d
Add color switcher to toolbar 2019-05-16 15:22:47 +02:00
marudor
5c2388d3a2
Add dark mode (only available with prefers-color-scheme currently) 2019-05-16 15:04:08 +02:00
Daniel Friesel
b85db3a10d Show web-hook test result immediately after saving it
Closes #12
2019-05-14 20:05:45 +02:00
Daniel Friesel
5c3a0a562a oops 2 (asset release) 2019-05-12 11:48:17 +02:00
Daniel Friesel
e171616c6f oops 2019-05-12 11:46:55 +02:00
Daniel Friesel
82297687ed social sharing for current journey 2019-05-12 11:44:28 +02:00
Daniel Friesel
42eafec28d update landingpage 2019-05-11 15:45:16 +02:00
Daniel Friesel
48fede41aa checked in: clarify checkout / update actions 2019-05-11 15:42:10 +02:00
marudor
94febe86cd
Release version 19, fix asset-release for macos 2019-05-11 12:51:41 +02:00
marudor
d2f01f963a
Do not nag directly for geolocation 2019-05-11 12:43:13 +02:00
Daniel Friesel
098d02972a switch to a less generic icon 2019-05-11 11:52:47 +02:00
Daniel Friesel
93c6e85f60 footer: Link to "about" page for travelynx 2019-05-11 10:10:07 +02:00
Daniel Friesel
736e36d45c account: fix uninitialized value warning 2019-05-11 01:42:14 +02:00
Daniel Friesel
b0397e50b4 add custom not_found and exception templates 2019-05-11 01:29:21 +02:00
Daniel Friesel
fc4cfade14 version bump 2019-05-10 19:07:37 +02:00
Daniel Friesel
269b8536f4 Add webhook to account page 2019-05-10 19:03:18 +02:00
Daniel Friesel
25c460a34a public status: Do not overwrite line name 2019-05-10 18:16:45 +02:00
Daniel Friesel
f6800c8668 javascript-based refresh of journey progress and countdown 2019-05-10 17:58:13 +02:00
Daniel Friesel
374da87182 hide status countdown when offline 2019-05-09 18:14:16 +02:00
Daniel Friesel
76bd6763df only show loading animation on links without custom animation 2019-05-07 17:56:40 +02:00
Daniel Friesel
bd676674e9 always show navbar, even when scrolling 2019-05-06 18:14:30 +02:00
Daniel Friesel
18df44cc71 add loading indicator to nav 2019-05-06 18:07:53 +02:00
Daniel Friesel
2ddab75644 basic webhook support, onwards to betatesting 2019-05-06 16:59:48 +02:00
Daniel Friesel
b36ba45aef WiP webhook support 2019-05-05 18:09:11 +02:00
Daniel Friesel
55581d1f25 update asset version 2019-05-05 12:41:06 +02:00
Daniel Friesel
4696f8d68e update material icons 2019-05-04 08:55:21 +02:00
Daniel Friesel
507ed344c3 checked in view: update sync_problem marker color 2019-05-04 08:30:18 +02:00
Daniel Friesel
a7b899dcc0 migrate to jQuery 3 2019-05-04 08:30:05 +02:00
Daniel Friesel
2810eb490c do not mange journey edit link on small devices 2019-05-03 21:39:50 +02:00
Daniel Friesel
1694026c86 add a description 2019-05-03 21:13:22 +02:00
Daniel Friesel
cdbb3ee45b use versioning for service worker and web app manifest 2019-05-03 21:02:24 +02:00
Daniel Friesel
5178e58c0c add apple mobile web app foo 2019-05-03 20:59:14 +02:00
Daniel Friesel
709919a962 Experimental PWA support (#13) 2019-05-03 20:43:46 +02:00
Daniel Friesel
9f3b80a859 use /account/... links for mail/password change 2019-05-03 18:57:24 +02:00
Daniel Friesel
03a6780405 checked_in menu: purple, not green 2019-05-03 18:34:18 +02:00
Daniel Friesel
545796c4a1 changelog: Do not include imprint 2019-05-03 12:31:57 +02:00
Daniel Friesel
973cccd494 checkin: lighter background color, more prominent destination selection 2019-05-03 10:49:14 +02:00
Daniel Friesel
bf2dae7c45 Add changelog 2019-05-03 10:32:58 +02:00
Daniel Friesel
be1e5dda23 Public API documentation 2019-05-02 11:29:43 +02:00
Daniel Friesel
3068652d35 oops 2019-05-02 10:24:05 +02:00
Daniel Friesel
3de5de7db2 Finish public-facing exposed user status (opt-in) 2019-05-02 10:05:15 +02:00
Daniel Friesel
1bf128936d account: move edit links to the left 2019-05-02 09:13:21 +02:00
Daniel Friesel
f0d61a4083 Prepare settings and templates for opt-in public travel status 2019-04-30 23:23:49 +02:00
Daniel Friesel
ddea9abc6e show imprint/privacy/version on all public-facing pages 2019-04-30 18:24:30 +02:00
Daniel Friesel
2d7c75f877 show imprint and version on landing page 2019-04-30 18:18:09 +02:00
Daniel Friesel
048767149e use a separate table for registration tokens 2019-04-30 18:05:07 +02:00
Daniel Friesel
99aa3a4a0d Implement deletion of inactive accounts 2019-04-30 12:48:23 +02:00
Daniel Friesel
867a5d4afb allow users to change their mail address
Closes #6
2019-04-30 12:08:51 +02:00
Daniel Friesel
4ad1a1d20e Move invalid input errors into common sub-template 2019-04-30 10:46:46 +02:00
Daniel Friesel
25d0530e86 Add password reset functionality
Closes #5
2019-04-29 20:12:59 +02:00
Daniel Friesel
fd6d12d355 Handle inconsistent data when calculating monthly/yearly stats
Closes #11
2019-04-28 22:33:09 +02:00
Daniel Friesel
cc1a620041 checked_in: make sync-failed marker less obtrusive 2019-04-27 10:48:47 +02:00
Daniel Friesel
d6e6c9992e History: Only show months and years with logged journeys 2019-04-27 09:11:42 +02:00
Daniel Friesel
8c1888263b show marker when unable to sync 2019-04-26 22:27:07 +02:00
Daniel Friesel
e07063c52c Add manual journey entry
Closes #3
2019-04-26 19:53:01 +02:00
Daniel Friesel
1e2e33399f checked_in: distinguish between unknown and not-yet-known arrival 2019-04-25 07:52:51 +02:00
Daniel Friesel
35b3fc44e9 history: Use buttons for links 2019-04-24 15:15:53 +02:00
Daniel Friesel
aa0f9fdeea show recent delay/qos messages in checked_in view 2019-04-24 14:58:08 +02:00
Daniel Friesel
501038ce11 _checked_in: Do not skip last two minutes of departure countdown 2019-04-24 12:15:26 +02:00
Daniel Friesel
b992a6dc75 $render(status => ...) is a special variable. derp. 2019-04-24 09:00:30 +02:00
Daniel Friesel
14d2dd52eb _checked_out: Link to destination station 2019-04-24 07:58:22 +02:00
Daniel Friesel
49f81c0c52 oops 2019-04-24 07:52:37 +02:00
Daniel Friesel
def2fedf98 _checked_in: Clarify checkout/interchange UI 2019-04-24 07:50:31 +02:00
Daniel Friesel
e726d076c3 _checked_in: Fix misleading output on arrival_countdown == 0 2019-04-24 07:38:45 +02:00
Daniel Friesel
438319e63a Bump API to v1 2019-04-24 07:34:41 +02:00
Daniel Friesel
79dcd4677e _checked_in: Fix uninitialized value warning 2019-04-23 23:03:02 +02:00
Daniel Friesel
6c1cae86f4 Primitive auto-refresh of current journey status
Todo: Redirect user to destination station upon arrival
2019-04-23 22:27:13 +02:00
Daniel Friesel
ffaa0c44a7 Automatic checkout \o/ 2019-04-23 21:30:31 +02:00
Daniel Friesel
5af134ef1e landingpage: Fix plural for "0 minutes" 2019-04-23 20:00:03 +02:00
Daniel Friesel
e168d9cd39 Use one row per journey instead of split checkin/checkout entries
Whether a user is in transit or not is now determined by an entry in the
in_transit table instead of a dangling checkin.

All completed journeys are stored in the "journeys" table.

This does most of the work needed for automatic checkout. However, note that
the corresponding worker process is not implemented yet.
2019-04-23 18:08:07 +02:00
Daniel Friesel
07c6e8878b journey detail: gps_off -> location_off 2019-04-21 17:25:22 +02:00
Daniel Friesel
78b2d995ef Ignore stations without coordinates in distance calculation
Reported by @marudor
2019-04-21 15:46:19 +02:00
Daniel Friesel
c6812f6083 Print db and host in development mode 2019-04-13 18:59:46 +02:00
Daniel Friesel
80a6317ac5 Use travelynx.conf for configuration and secrets
This avoids having to specify secrets in the environment, where they can leak
easily.
2019-04-13 12:18:26 +02:00
Daniel Friesel
9df9f7c845 edit journey: use link to cancel
This bypasses form element validation, which doesn't make sense for
"cancel edit"
2019-04-13 10:45:57 +02:00
Daniel Friesel
1ee185d26b work-in-progress manual journey entry. incomplete and not enabled yet. 2019-04-13 10:43:05 +02:00
Daniel Friesel
863a33b111 landingpage: Fix typo in required form element tag 2019-04-11 20:42:38 +02:00
Daniel Friesel
40d926e62d decrease minimum history width by hiding train number if line is available 2019-04-11 18:09:02 +02:00
Daniel Friesel
e91c540c8e history: Show time next to station 2019-04-10 17:51:51 +02:00
Daniel Friesel
bba6721754 Allow journey editing, keep track of edited journey attributes
Provides a workaround for #2
2019-04-09 18:37:21 +02:00
Daniel Friesel
c0c7b1a589 Work-in-progress journey editor. Not ready for deployment. 2019-04-08 21:20:04 +02:00
Daniel Friesel
beb17acb84 Prepare forms for manual journey entry and editing 2019-04-07 20:20:37 +02:00
Daniel Friesel
d4269a8fe4 journey: Fix typo in HTML tag 2019-04-07 19:19:50 +02:00
Daniel Friesel
ffee7177ac Refactor history template, add yearly stats 2019-04-07 18:44:33 +02:00
Daniel Friesel
216dd7c7ad history: Fix missing months for users registered on the 29th/30th/31st 2019-04-06 23:57:54 +02:00
Daniel Friesel
a1109bfce0 landingpage: Features++ 2019-04-06 21:32:18 +02:00
Daniel Friesel
4e33f1e706 hide unimplemented API endpoints in account view 2019-04-06 21:23:21 +02:00
Daniel Friesel
4e7f7a1d0e detect development mode for travelynx_dev* databases 2019-04-06 21:21:35 +02:00
Daniel Friesel
1405eb6ea3 Add password change form 2019-04-06 11:20:10 +02:00
Daniel Friesel
e2598df25b Allow journey deletion
See issue #3
2019-04-04 18:26:53 +02:00
Daniel Friesel
8883b02fe4 register: Explicitly state that the account was not created 2019-04-02 20:10:55 +02:00
Daniel Friesel
68718860e2 login, register; Do not doule-nest row/col classes 2019-04-02 19:40:04 +02:00
Daniel Friesel
d90734e2ec about: Add contact link 2019-04-01 20:59:03 +02:00
Daniel Friesel
335ab8209f statistics: Add interchange wait time and journey count 2019-04-01 20:28:06 +02:00
Daniel Friesel
3ce1cfc55f Select journeys by ID 2019-03-31 19:32:41 +02:00
Daniel Friesel
a8a3aa17ce Perform undo by deleting the erroneous database entry 2019-03-31 08:45:51 +02:00
Daniel Friesel
df34c58cc5 history: move time column next to date 2019-03-28 19:21:52 +01:00
Daniel Friesel
eb929811b2 add per-month links to history 2019-03-27 21:46:52 +01:00
Daniel Friesel
343e9ef20c history: more smartphone-friendly 2019-03-27 21:26:37 +01:00
Daniel Friesel
1aa5e786ed add history per month 2019-03-27 21:20:59 +01:00
Daniel Friesel
a30970eb8b distinguish prod/dev in nav bar 2019-03-25 21:34:49 +01:00
Daniel Friesel
0a9d2e4c88 journey: show average speed 2019-03-20 18:33:51 +01:00
Daniel Friesel
2366b193fe journey: show distance 2019-03-20 18:20:23 +01:00
Daniel Friesel
2e1cf30231 Show negative delay as "-X", not "+-X" 2019-03-20 17:50:14 +01:00
Daniel Friesel
0226713c1d use camelCase instead of snake_case in public API 2019-03-20 17:45:41 +01:00
Daniel Friesel
531f3b0a68 show cancelled trains in history 2019-03-19 21:23:06 +01:00
Daniel Friesel
01df965d66 support logging of cancelled journeys 2019-03-19 18:20:05 +01:00
Daniel Friesel
25f75928e7 add marker for cancelled departures 2019-03-19 17:17:53 +01:00
Daniel Friesel
9c32677365 API: Status: group properties, add station UIC/lon/lat 2019-03-19 17:02:30 +01:00
Daniel Friesel
56342f21d2 demand a valid password for account deletion 2019-03-18 18:55:39 +01:00
Daniel Friesel
07b3ea19a6 never call get_user_data directly 2019-03-18 18:49:00 +01:00
Daniel Friesel
b15d3456ac journey view: Move line break inside of message loop 2019-03-17 18:36:29 +01:00
Daniel Friesel
11d77d4bb9 add journey detail view 2019-03-17 18:34:33 +01:00
Daniel Friesel
629ca9e9f6 Show backend errors on station selection page 2019-03-16 21:49:47 +01:00