Skip to main content

playback-webview-debugging

Use when playback, auth recovery, queue sync, or hidden WebView state diverges from native Swift state and you need to debug the DRM playback WebView, bridge events, or cookie/auth behavior.

Informations de source

Dépôt
sozercan/kaset
Dernière activité de la source
6 septembre 2026 à 06:01
Langue détectée de SKILL.md
anglais
Étoiles
2 384
Forks
175

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
playback-webview-debugging
description
Use when playback, auth recovery, queue sync, or hidden WebView state diverges from native Swift state and you need to debug the DRM playback WebView, bridge events, or cookie/auth behavior.
metadata
{"short-description":"Debug playback WebView state"}
# Playback WebView Debugging Use this skill when playback, auth recovery, queue sync, or hidden WebView state diverges from the native Swift state. ## When To Use It - Playback starts, stops, or advances unexpectedly - Auth looks stale and API calls return 401/403 - WebView metadata drifts from the native queue - You need to inspect JavaScript bridge events or DOM/player state ## Runtime Workflow 1. Reproduce with the packaged app or `Scripts/compile_and_run.sh`. 2. Use Xcode Console filters to watch runtime logs: `subsystem:Kaset category:player` `subsystem:Kaset category:auth` 3. In debug builds, verify `webView.isInspectable = true`, then inspect the player WebView with Safari Web Inspector. 4. To simulate auth expiry, delete `__Secure-3PAPISID` via Safari Web Inspector storage tools and trigger an authenticated API call. 5. If auth cookies or headers look suspicious, run `swift run api-explorer auth` and compare against the exported cookie state. ## Landmarks - `docs/testing.md` - `docs/playback.md` - `Sources/Kaset/Views/MiniPlayerWebView.swift` - `Sources/Kaset/Views/SingletonPlayerWebView+ObserverScript.swift` - `Sources/Kaset/Views/SingletonPlayerWebView+NavigationState.swift` - `Sources/Kaset/Views/SingletonPlayerWebView+QueueInjection.swift` - `Sources/Kaset/Services/Player/PlayerService.swift` - `Sources/Kaset/Services/Player/PlayerService+WebPlaybackIdentity.swift` - `Sources/Kaset/Services/Player/PlayerService+WebQueueSync.swift` - `Sources/Kaset/Services/Player/PlayerService+QueueNavigationRecovery.swift` - `Sources/Kaset/Services/WebKit/WebKitManager.swift`
Voir sur GitHub