fix: improve extension runtime safety, HTTP response URL, SongLink parsing, and recommended service for extensions

- Add 'url' field (final URL after redirects) to all extension HTTP responses and fix fetch polyfill to return final URL instead of original request URL
- Fix RunWithTimeout race condition: increase force-timeout from 1s to 60s to prevent concurrent VM access crashes, add nil guards
- Use lockReadyVM() for thread-safe VM access in GetPlaylistWithExtensionJSON and InvokeAction
- Handle mixed JSON types (string, null, array) in SongLink resolve API SongUrls field
- Fix recommended download service not showing for extension-based searches in download picker
This commit is contained in:
zarzet
2026-04-02 23:16:37 +07:00
parent c7e9749ce4
commit 0e265193b8
9 changed files with 112 additions and 16 deletions
+1
View File
@@ -77,6 +77,7 @@ flutter_*.log
# Development tools
tool/
.claude/settings.local.json
.playwright-mcp/
# FVM Version Cache
.fvm/