Login: "Angemeldet bleiben" waehlbar, Multi-User-Hinweis entfernt

Bisher bekam jeder Login pauschal ein 30-Tage-Cookie. Die Checkbox ist per
Default gesetzt (unveraendertes Verhalten); wird sie abgewaehlt, gilt ein
Session-Cookie ohne Ablaufdatum (weg beim Schliessen des Browsers) und
serverseitig eine Frist von 12 Stunden Inaktivitaet - die serverseitige Frist
ist die verbindliche, ein Client kann sein Cookie manipulieren.

Bestehende Sessions behalten per Spalten-Default die 30 Tage, niemand wird
durch das Update ausgeloggt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-14 11:03:33 +02:00
co-authored by Claude Opus 4.8
parent d86e40a6ff
commit 2b90e4bbad
3 changed files with 47 additions and 14 deletions
+6
View File
@@ -85,6 +85,12 @@ async function runMigration({ db, dbAll, dbGet, dbRun }) {
if (!(await hasColumn('sessions', 'impersonator_id'))) {
await exec('ALTER TABLE sessions ADD COLUMN impersonator_id INTEGER');
}
// "Angemeldet bleiben": vorher galten alle Sessions 30 Tage. Bestehende
// Sessions behalten dieses Verhalten (Default 1) — niemand wird durch das
// Update ausgeloggt.
if (!(await hasColumn('sessions', 'dauerhaft'))) {
await exec('ALTER TABLE sessions ADD COLUMN dauerhaft INTEGER NOT NULL DEFAULT 1');
}
// 2. Ensure admin user (idempotent) -----------------------------------
let admin = await dbGet('SELECT id, password_hash FROM users WHERE username = ?', [ADMIN_USERNAME]);