Files
iptvnator/libs/services
4grayandClaude Opus 5.5 fdaa2b5aa0 fix(server-storage): per-instance cache, idle tabs adopt closed ones, backups wait for the first read
The user-data cache is keyed by server instance
(`iptvnator-server:cache:<instanceId>:<namespace>`): a tab still open on
the old backend after BACKEND_URL changed no longer writes over the new
server's cache, which the new tab's next edit would have sent there.
claimCache also removes the old owner's keys and the unscoped keys of
earlier builds.

touch(), which runs every 30 s, adopts closed tabs' saved writes once
this tab has read: a tab with nothing to sync never re-reads, so they
waited until a tab switch or reload.

UserDataStorage gains an optional ready(); the server storage resolves
it after its first read and rejects while that fails. A PWA backup
export awaits it, so a fresh browser whose /user-state read is slow or
failed cannot export empty favorites, history and positions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 21:29:36 +02:00
..

services

Shared runtime data access: injectable services, stores and runtime bridges used across the renderer. It also hosts injectTranslationTick(), the signal every computed that calls TranslateService.instant reads (see "Translated Text" in the UI guidelines).

This library was generated with Nx.

Running unit tests

Run nx test services to execute the unit tests.