Files
iptvnator/libs/services
4grayandClaude Opus 5.5 954a335f31 fix(server-storage): the move uploads playlists create-only and merges into a copy moved first
Two tabs or devices moving browser copies with the same playlist id both
planned an upload; the browser documents carry no served version, so
both PUTs were unconditional and the later one overwrote the first copy
(and any change made on it since), with both moves reporting success.

The backend's playlist PUT now honours `If-None-Match: *` (412 when the
playlist exists; checked and written in one synchronous handler). The
move uploads with it through ServerPlaylistDocumentStore
.dbCreateAppPlaylist, and an upload that finds its id taken merges its
favorites and history into that copy instead, counted as merged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 20:06:18 +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.