Passkeys und die Jellyfin-Anbindung als groessere Bausteine, dazu vier Nacharbeiten aus dem Betrieb. Changelog, Release-Notiz, DEVLOG und die bebilderte Anleitung nachgezogen. Die Anleitung hat zwei neue Abschnitte samt Screenshots: „Anmelden per Passkey" und ein Bild im Jellyfin-Abschnitt. Beide Aufnahmen brauchen Gegenstellen — einen Authenticator und einen Medienserver. Damit `npm run screenshots` reproduzierbar bleibt, stellt das Skript sie jetzt selbst bereit: der virtuelle Authenticator kommt ueber CDP vom Browser, der Jellyfin-Nachbau sind ein paar Zeilen HTTP im Skript. Beide Spuren raeumt es nach der Aufnahme ueber die Oberflaeche wieder weg. Der Merkposten zum Entwicklungsmodus in CLAUDE.md war zu absolut: dass unter Playwright nichts hydratisiert, stimmt nicht durchgehend — im Screenshot-Lauf gegen denselben Dev-Server funktionierten die Klicks. Der Eintrag beschreibt jetzt das Beobachtete statt einer Regel, die nicht traegt, und nennt die Pruefung, mit der sich der Zustand feststellen laesst. Dazu neu: APP_URL muss zum aufgerufenen Port passen, sonst scheitern Passkeys am Ursprungsabgleich. Alle Screenshots neu aufgenommen — die Einstellungsseite hatte sich durch die neuen Abschnitte ohnehin geaendert.
@@ -256,6 +256,40 @@ Geräten abgemeldet.
|
||||
|
||||
---
|
||||
|
||||
## Anmelden per Passkey
|
||||
|
||||

|
||||
|
||||
Statt Passwort geht auch ein **Passkey** — Windows Hello, Face ID, Touch ID
|
||||
oder ein Sicherheitsschlüssel am Schlüsselbund. Auf dem Handy ist das der
|
||||
Unterschied zwischen einem Blick in die Kamera und dem Abtippen eines langen
|
||||
Passworts.
|
||||
|
||||
Unter **Einstellungen → Passkeys** gibst du dem Gerät einen Namen und klickst
|
||||
**Passkey anlegen**; den Rest übernimmt dein Browser. Danach steht auf der
|
||||
Anmeldeseite „Mit Passkey anmelden" — **ohne** dass du vorher deine
|
||||
E-Mail-Adresse eintippen musst.
|
||||
|
||||
Das Passwort bleibt daneben bestehen. Den **letzten verbleibenden Anmeldeweg**
|
||||
lässt Flimmer nicht entfernen: wer weder Passwort noch SSO hat, behält seinen
|
||||
letzten Passkey.
|
||||
|
||||
> **Passkeys brauchen HTTPS**
|
||||
> Der Browser gibt sie nur über eine verschlüsselte Verbindung frei; einzige
|
||||
> Ausnahme ist `localhost`. Läuft deine Instanz über einfaches HTTP,
|
||||
> verschwindet die Verwaltung mit einem Hinweis, statt einen kryptischen
|
||||
> Browserfehler zu zeigen.
|
||||
>
|
||||
> Und: Ein Passkey ist fest an den **Hostnamen** gebunden. Ziehst du von
|
||||
> `flimmer.fritz.box` auf `flimmer.example.com` um, musst du alle Passkeys neu
|
||||
> anlegen. Halte vorher einen zweiten Anmeldeweg bereit.
|
||||
|
||||
Ein Passkey, der nur auf einem Gerät liegt und nicht mit deinem Konto
|
||||
synchronisiert wird, ist mit dem Gerät verloren. Die Übersicht sagt dir zu
|
||||
jedem Eintrag, was Sache ist.
|
||||
|
||||
---
|
||||
|
||||
## Benachrichtigungen
|
||||
|
||||

|
||||
@@ -301,6 +335,8 @@ Tabellenkalkulationen.
|
||||
|
||||
## Jellyfin anbinden
|
||||
|
||||

|
||||
|
||||
Wer seine Mediathek selbst hostet, pflegt Bestand und Gesehen-Status meist
|
||||
schon in Jellyfin. Flimmer kann beides übernehmen, damit du es nicht doppelt
|
||||
führst.
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 23 KiB |