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.

Datos de origen

Repositorio
sozercan/kaset
Última actividad en el origen
6 de septiembre de 2026 a las 06:01
Idioma detectado de SKILL.md
inglés
Estrellas
2464
Forks
182

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
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`
Ver en GitHub