Improvements & Fixes
-
Aligned Smart TV plugin execution with Android TV:
- provider exceptions from
getStreams()are now contained and return an empty result instead of escaping the worker; - removed the application-level QuickJS stack-size restriction;
- added explicit pending-job execution and safer QuickJS context handling;
- aligned modern scraper concurrency and timeout policies with Android TV;
- preserved conservative limits for older or restricted runtimes.
- provider exceptions from
-
Improved plugin stream searching:
- added a shared Android-aligned search-session cache;
- reused in-flight searches across the stream screen, player and source panels;
- included profile, episode, source configuration and enabled-provider state in cache keys;
- stopped caching empty or failed searches;
- added correct cancellation and resume behavior when entering playback or closing source panels;
- preserved independent add-on and plugin execution.
-
Aligned plugin synchronization with Android TV:
- remote snapshots are read before pending local pushes;
- opaque and unsupported repository rows are preserved safely;
- warm synchronization performs the complete remote pull;
- concurrent pulls for the same profile are shared and serialized;
- plugin screen updates after synchronization without starting an unnecessary duplicate preload.
-
Aligned repository and scraper identities with Android TV:
- new repositories use random UUID v4 identifiers;
- new JavaScript scrapers use the
${repositoryId}:${manifestId}format; - existing persisted identifiers remain unchanged to preserve caches and settings.
-
Improved the Cheerio bridge to more closely reproduce the Android/Jsoup behavior for text extraction, whitespace handling and invalid selectors.
-
Kept Tizen EngineFS and PluginService as separate services:
- independent lifecycle and HTTP ports;
- no cross-fallback between torrenting and plugins;
- lazy, on-demand startup;
- preserved the working EngineFS/P2P behavior from version 1.0.1;
- retained the correct service identifiers and direct-installation packaging;
- aligned the Apps2Samsung wrapper packaging path separately.
-
Hardened Tizen and webOS service packaging:
- validated that both services, the WRT bridge and manifest declarations are present;
- aligned PluginService HTTP limits with the modern plugin runtime;
- preserved separate service health checks and startup handling;
- kept
auto-restart="false"andon-boot="false"for on-demand startup.
-
Added plugin runtime status messages:
- unsupported TVs show an execution-unavailable message;
- limited runtimes show a reduced-support message;
- fully supported TVs show no unnecessary warning;
- added translations for all 31 supported locales.
-
Improved TV input and navigation:
- directional keys remain owned by the native Tizen/webOS keyboard while text fields are active;
- search input content is preserved during result refreshes;
- prevented page-level focus navigation from moving behind the native keyboard.
-
Removed verbose diagnostic startup logs from Tizen services while preserving warnings and errors for real failures.
-
Updated application metadata, lockfile, changelog and package outputs to version
1.0.5.