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.

معلومات المصدر

المستودع
sozercan/kaset
آخر نشاط في المصدر
٦ سبتمبر ٢٠٢٦ في ٠٦:٠١
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٢٬٤٧٦
التفرعات
١٨١

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
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`
عرض على GitHub