Zivo Player 0.1.1 — Memory Catalog Edition

Extract the whole Windows ZIP to a folder and run Zivo Player.exe.
Use M3U URL, Xtream login, a local M3U, or Direct stream.

Storage and playback
- Provider video/audio streams are played directly by VLC. No playlist SQLite catalog or downloaded M3U is written by the new catalog backend.
- Playlist items, stream URLs, favourites, guide data and watch history live in RAM. Closing the app clears them.
- Remember is OFF by default. When enabled for a provider URL, it saves only the encrypted provider connection (name, opaque profile ID, source URL/login) in providers.encrypted. Startup reloads content from the provider. Local M3U files are session-only.
- General app settings/logs and Electron runtime files may still exist on disk. This is not a guarantee of zero OS paging/cache writes or a forensic no-trace mode.
- Limit: 1000 MB playlist input. The 100,000-title cutoff has been removed. Actual catalog memory can exceed the raw input size; capacity depends on available RAM.
- Older 0.4.11 disk catalogs are not deleted or migrated automatically. Add the provider connection again in this edition. Existing old cache files remain until separately removed. Original downloaded ZIPs are untouched.

Fixes
1. Automatic playlist refresh is sequential, with an overlapping-batch guard.
2. Local-media picker grants support replay/reconnect for the current app session.
3. HLS CSP allows HTTP/HTTPS network requests, blob media and workers. Provider CORS/format restrictions can still prevent HTML5 fallback.
4. Choosing a URL or closing/changing the source form clears stale file selection. Consumed playlist-token failures allow reselection.
5. Numeric provider stream IDs preserve session favourites/history across recognized credential/token changes. Generic URLs keep exact identity to avoid merging unrelated content.
6. Playback generations protect the new stream from an old request's cleanup stop.
7. Episode favourite changes redraw the current episode list.
Also fixed refresh timeout cleanup and included DPI in native video-bounds caching.

Provider API / cloud options
The current Xtream entry uses the provider's get.php endpoint and processes its M3U response in memory. It is not a full implementation of category/movie/series JSON API browsing without M3U transfer.
A reachable public HTTP/HTTPS cloud-hosted M3U can be entered as Playlist URL and likewise read into RAM. Share-page links requiring interactive login, OAuth or special headers are not directly supported.
Cloud synchronization and a new hosted backend are not configured. They require a chosen service and authentication design. A full provider JSON API browser is a separate extension; this release provides direct playback and no disk catalog without needing one.

Validation
50 automated checks passed, including thirty regressions for memory-only catalog behavior, remembered encrypted descriptors, refresh rollback, stable media IDs, refresh serialization, media replay grants, stale native-stop ownership, source/series UI handling, and served HLS policy.
All application JavaScript files passed syntax checks. The rebuilt ASAR was re-read and compared byte-for-byte for every packed entry, with integrity hashes recomputed. Both output ZIPs passed CRC validation.
EPG test module was not run because linkedom is not installed in the review environment. Live GUI playback, Windows DPAPI integration, provider CORS and real-provider subscription compatibility were not tested here.
The Windows package reuses the supplied Electron/VLC/native dependencies and patches application resources. It is not a fresh electron-builder compilation; the executable Windows file/product version was stamped and independently verified as 0.1.1. The application and package.json also show 0.1.1. No new code-signing claim is made.

Source build
The source ZIP includes regression tests. Supply vendor/vlc from the original runtime package, install the locked dependencies, and use the documented Electron build procedure for a fresh full build. No dependency versions were upgraded in this change.

0.1.1 correction: Desktop streaming import now accepts playlists beyond 100 MB, up to the original 1000 MB input ceiling. Tested using a streamed 101+ MB fixture and a 100,001-title in-memory catalog. Browser preview still has its separate 100 MB buffered-input limit. Live provider playback is not verified here.

0.1.1: Interrupted provider transfers are retried up to three total attempts from byte zero. Each failed staging import is rolled back first. No authentication/format/size errors or user cancellations are retried. Provider network inactivity timeout increased from one minute to five minutes; total import/refresh deadlines remain 20/10 minutes. The UI shows retries and distinguishes provider interruption, deliberate cancel, and total timeout. Live provider behavior still needs validation; this does not guarantee that a provider will deliver its full playlist.

0.1.1 requested release: Movie and series poster-shaped cards use M3U artwork first, then provider JSON artwork endpoints (get_vod_streams/get_series) when accessible. HTTP and HTTPS images are allowed. Provider artwork indexes are cached only in memory; no third-party poster account is configured. Missing/ambiguous provider artwork falls back to the existing icon.
After three failed network attempts, the screen states that the provider MAY not support/allow PC playback, while also noting that network/server failures can cause it. PC restriction is not established merely by failed downloads.
The source-dialog storage note is hidden. Demo playlist can be removed via Playlists > REMOVE; this preference survives restart. Settings > RESTORE DEMO PLAYLIST restores it. Removing the last playlist leaves a safe empty home screen.
Previous output versions are retained for now, as requested. Source/package/UI and executable Windows file/product version are 0.1.1.
API field reference: https://github.com/tellytv/go.xtream-codes/blob/master/xtream-codes.go

Automatic refresh errors are retained on the home screen and in Playlists, including the qualified PC-support message after three failed attempts. Success clears the notice. No assertion is made that repeated failures prove a provider restriction.

0.1.1 retry-counter update: The source dialog displays Connecting / Retrying and Attempt 1/3, 2/3, 3/3 beside Remember. Initial network attempt and HTTP 5xx/body-interruption retries share one three-attempt budget. After failure it shows Attempts used; closing/reopening resets the counter.
