feat: Charakter wechseln ohne Ausloggen #1

Merged
DasAoD merged 1 commit from feature/character-switch into main 2026-08-10 23:21:45 +02:00
Owner

Was

Ermöglicht den Wechsel zu einem anderen Charakter auf demselben SSO-Account, ohne sich komplett auszuloggen und neu einzuloggen.

SimpleSession::login_sf_account() lädt beim SSO-Login bereits alle Charaktere des Accounts (serverübergreifend) in app.sessions. Es fehlte bisher nur die UI, um zu einem anderen bereits geladenen Charakter zurückzuwechseln — der Wechsel selbst braucht keine erneuten Zugangsdaten, da jede Session beim ersten send_command automatisch (lazy) eingeloggt wird.

Änderungen

  • Neuer Endpoint GET /api/characters: liefert die Charakterliste aus den bereits geladenen Sessions, ohne erneuten SSO-Login.
  • Neuer Header-Button „🔄 Charakter wechseln" neben „Ausloggen".
  • Bugfix in select_character: own_guild/scan_data/scan_progress werden jetzt beim (Wieder-)Auswählen eines Charakters konsequent zurückgesetzt. Vorher blieben alte Scan-Daten des vorherigen Charakters stehen, wenn für die neue Gilde noch kein eigener Scan gespeichert war.
  • Analoger Reset auf Frontend-Seite.
  • Cargo.lock erstmals committed (dieser Branch zweigt von main ab, wo es noch fehlte) — reproduzierbarer Build, gleicher Grund wie in feature/battle-simulation. Könnte beim Mergen beider Branches einen kleinen Lockfile-Merge-Konflikt geben, sollte sich aber trivial auflösen lassen (cargo build regeneriert bei Bedarf).

Test

Lokal mit cargo build geprüft (kompiliert ohne Warnungen). Funktionales Testen (Charakterwechsel im Browser) steht noch aus.

🤖 Generated with Claude Code

## Was Ermöglicht den Wechsel zu einem anderen Charakter auf demselben SSO-Account, ohne sich komplett auszuloggen und neu einzuloggen. `SimpleSession::login_sf_account()` lädt beim SSO-Login bereits **alle** Charaktere des Accounts (serverübergreifend) in `app.sessions`. Es fehlte bisher nur die UI, um zu einem anderen bereits geladenen Charakter zurückzuwechseln — der Wechsel selbst braucht keine erneuten Zugangsdaten, da jede Session beim ersten `send_command` automatisch (lazy) eingeloggt wird. ## Änderungen - Neuer Endpoint `GET /api/characters`: liefert die Charakterliste aus den bereits geladenen Sessions, ohne erneuten SSO-Login. - Neuer Header-Button **„🔄 Charakter wechseln"** neben „Ausloggen". - **Bugfix** in `select_character`: `own_guild`/`scan_data`/`scan_progress` werden jetzt beim (Wieder-)Auswählen eines Charakters konsequent zurückgesetzt. Vorher blieben alte Scan-Daten des vorherigen Charakters stehen, wenn für die neue Gilde noch kein eigener Scan gespeichert war. - Analoger Reset auf Frontend-Seite. - `Cargo.lock` erstmals committed (dieser Branch zweigt von `main` ab, wo es noch fehlte) — reproduzierbarer Build, gleicher Grund wie in `feature/battle-simulation`. Könnte beim Mergen beider Branches einen kleinen Lockfile-Merge-Konflikt geben, sollte sich aber trivial auflösen lassen (`cargo build` regeneriert bei Bedarf). ## Test Lokal mit `cargo build` geprüft (kompiliert ohne Warnungen). Funktionales Testen (Charakterwechsel im Browser) steht noch aus. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
SimpleSession::login_sf_account() lädt beim SSO-Login bereits alle
Charaktere des Accounts (serverübergreifend) in app.sessions. Bisher
gab es aber keine UI, um zu einem anderen bereits geladenen Charakter
zurückzuwechseln, außer per komplettem Logout (der die Session-Liste
leert und einen erneuten SSO-Login erfordert).

- Neuer Endpoint GET /api/characters: liefert die Charakterliste aus
  den bereits geladenen Sessions, ohne erneuten Login.
- Neuer Header-Button "🔄 Charakter wechseln" neben "Ausloggen".
- Bugfix in select_character: own_guild/scan_data/scan_progress werden
  jetzt beim (Wieder-)Auswählen eines Charakters konsequent
  zurückgesetzt. Vorher blieben alte Scan-Daten des vorherigen
  Charakters stehen, wenn für die neue Gilde noch kein eigener Scan
  gespeichert war - wurde beim Testen des Charakterwechsels sichtbar,
  war aber unabhängig davon bereits ein Bug.
- Analoger Reset auf Frontend-Seite (hasScanData/scanDate/scanExisting)
  beim (Wieder-)Auswählen eines Charakters.
DasAoD merged commit ac910ed638 into main 2026-08-10 23:21:45 +02:00
Sign in to join this conversation.
No description provided.