summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Friesel <daniel.friesel@uos.de>2020-01-30 17:44:01 +0100
committerDaniel Friesel <daniel.friesel@uos.de>2020-01-30 17:44:01 +0100
commitc1fa05429ac4fb5e09dcb5f8a17636ca1066e4f9 (patch)
treed3ded34f2332196d2f920b9ad6f7dc96f898c08a
parent03178c5508a7e42366e581b4b42a2cea3a41bf16 (diff)
Remove session / "save defaults" support due to caching issues3.0.0
nginx cache keys depend on session data, so misbehaving clients (ignoring the refresh dely and continuously requesting a new departure board) with renewed session data could not be cached, impacting DBF performance
-rw-r--r--lib/DBInfoscreen.pm1
-rw-r--r--lib/DBInfoscreen/Controller/Stationboard.pm23
-rw-r--r--templates/layouts/app.html.ep8
-rw-r--r--templates/layouts/legacy.html.ep8
4 files changed, 1 insertions, 39 deletions
diff --git a/lib/DBInfoscreen.pm b/lib/DBInfoscreen.pm
index 9285a82..6be6e2c 100644
--- a/lib/DBInfoscreen.pm
+++ b/lib/DBInfoscreen.pm
@@ -300,7 +300,6 @@ sub startup {
$r->get('/map/:tripid/:lineno')->to('map#route');
$self->defaults( layout => 'app' );
- $self->sessions->default_expiration( 3600 * 24 * 28 );
$r->get('/')->to('stationboard#handle_request');
$r->get('/multi/*station')->to('stationboard#handle_request');
diff --git a/lib/DBInfoscreen/Controller/Stationboard.pm b/lib/DBInfoscreen/Controller/Stationboard.pm
index 9eb24f3..e40fda3 100644
--- a/lib/DBInfoscreen/Controller/Stationboard.pm
+++ b/lib/DBInfoscreen/Controller/Stationboard.pm
@@ -512,8 +512,7 @@ sub handle_request {
my $apiver = $self->param('version') // 0;
my $callback = $self->param('callback');
my $with_related = !$self->param('no_related');
- my $save_defaults = $self->param('save_defaults') // 0;
- my $limit = $self->param('limit') // 0;
+ my $limit = $self->param('limit') // 0;
my @train_types = split( /,/, $self->param('train_types') // q{} );
my %opt = (
cache_hafas => $self->app->cache_hafas,
@@ -526,18 +525,6 @@ sub handle_request {
? $Travel::Status::DE::IRIS::VERSION
: $Travel::Status::DE::HAFAS::VERSION;
- if ($save_defaults) {
- $self->session( has_data => 1 );
- $self->session( mode => $template );
- $self->session( hidelowdelay => $hide_low_delay );
- $self->session( hide_opts => $hide_opts );
- $self->session( show_realtime => $show_realtime );
- $self->session( admode => $admode );
- $self->session( dark => $dark_layout );
- $self->session( detailed => $show_details );
- $self->session( no_related => !$with_related );
- }
-
$self->stash( departures => [] );
$self->stash( title => 'DBF' );
$self->stash( version => $dbf_version );
@@ -574,14 +561,6 @@ sub handle_request {
}
if ( not $station ) {
- if ( $self->session('has_data') ) {
- for my $param (
- qw(mode hidelowdelay hide_opts show_realtime admode no_related dark detailed)
- )
- {
- $self->param( $param => $self->session($param) );
- }
- }
$self->render( 'landingpage', show_intro => 1 );
return;
}
diff --git a/templates/layouts/app.html.ep b/templates/layouts/app.html.ep
index 543928f..f492e1c 100644
--- a/templates/layouts/app.html.ep
+++ b/templates/layouts/app.html.ep
@@ -186,14 +186,6 @@ Bitte eine Station aus der Liste auswählen</div>
</div>
</div>
<div class="field">
- <div class="desc">
- %= check_box 'save_defaults' => 1, id => 'id_save_defaults'
- <label for="id_save_defaults">
- Ausgewählte Optionen als Default speichern
- </label>
- </div>
- </div>
- <div class="field">
%= submit_button 'Anzeigen'
</div>
</div> <!-- moresettings -->
diff --git a/templates/layouts/legacy.html.ep b/templates/layouts/legacy.html.ep
index 98eb6c3..92943d4 100644
--- a/templates/layouts/legacy.html.ep
+++ b/templates/layouts/legacy.html.ep
@@ -176,14 +176,6 @@ Bitte eine Station aus der Liste auswählen</div>
</div>
</div>
<div class="field">
- <div class="desc">
- %= check_box 'save_defaults' => 1, id => 'id_save_defaults'
- <label for="id_save_defaults">
- Ausgewählte Optionen als Default speichern
- </label>
- </div>
- </div>
- <div class="field">
%= submit_button 'Anzeigen'
</div>
</div> <!-- moresettings -->