⚙️ 🤖 ABS-Webview-Machbarkeit bestätigt (Login + Play im Electron-Fenster) #2
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
Reviewed/Confirmed
Reviewed/Duplicate
Reviewed/Invalid
Reviewed/Won't Fix
Status/Abandoned
Status/Blocked
Status/Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
holm.tools.public/playzen#2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
███░░░░░░░███████████░░░░░░░░░████████░░███████░░░Frage aus Issue #1
Scope-Punkt 3 sah vor: zuerst versuchen, ABS' eigenen Web-Player in einem Chromium-
<webview>/Electron-Fenster zu steuern (als "unwahrscheinlich" eingeschätzt), sonst eigener Nachbau.Befund: funktioniert, mit einem Selbstschuss auf dem Weg
Electron-
BrowserWindowlaedthttps://audiothek.mueller.network/direkt (eigenesuserData, komplett getrennt von Holms normalem Chromium-Profil). Holms laufendes Chromium hat KEINEN--remote-debugging-portoffen -- das global nachzuruesten haette CDP-Kontrolle ueber alle seine App-Fenster (Forgejo, EGroupware, Plex, ...) geoeffnet. Das eigene Electron-Fenster braucht diesen Umweg nicht, es ist sein eigener Chromium-Unterbau.Mit Holm live durchgespielt: Login (Username/Passwort + 2FA) und Play funktionieren im echten Nutzertest.
<audio>-Element ist perexecuteJavaScriptauslesbar (paused:false,currentTimelaeuft in Echtzeit hoch, auch nach Fokusverlust des Fensters).Sackgasse unterwegs: Ein zwischenzeitlich als "2FA-Feld nicht klickbar" gemeldetes Problem war kein WM/Electron-Fokus-Bug (erste Hypothese: i3 bedient
WM_TAKE_FOCUSausWM_PROTOCOLSnicht) --win.isFocused()lieferte durchgehendtrue, die Hypothese war falsch. Tatsaechliche Ursache: eine Diagnose-Zeile im Spike selbst schrieb alle 6s testweise424242ins Feld und ueberschrieb damit jede echte Holm-Eingabe. Nach Entfernen lief Login sauber durch. Lehre: Diagnose-Code, der selbst schreibend in den Testgegenstand eingreift, zuerst als Fehlerquelle ausschliessen, bevor Infrastruktur-Hypothesen (WM/Compositor) verfolgt werden.Konsequenz fuer die Player-Architektur
Weg 3 (ABS-Webplayer einbetten statt nachbauen) ist die Basis fuer den eigentlichen Player-Code: eigenes Electron-Fenster laedt ABS, Play/Pause/Seek laeuft ueber ABS' eigene UI bzw.
executeJavaScriptgegen das<audio>-Element, kein eigener Streaming-/Decoding-Code noetig.Was in diesem Commit liegt
spikes/abs-spike.js— bereinigte, dokumentierte Fassung (Diagnose-Ueberschreib-Bug entfernt)Erledigt — Commit
9669c14aufdevgepusht.Beleg: Live-Test mit Holm -- Login (Username/Passwort + 2FA) und Play im Electron-Fenster erfolgreich.
<audio>-Poll zeigtepaused:false,currentTimelief in Echtzeit hoch (3.6s -> 18.7s), auch nach Fokusverlust des Fensters. Damit ist die Architektur-Entscheidung fuer den Player getroffen: ABS-Webplayer einbetten statt eigenen Nachbau.