feat(playlist): auto-detect import method that parses pasted provider messages

Adds a deterministic parser (detectProviderImportCandidates in
libs/shared/interfaces) that scans a pasted provider message for URLs, MAC
addresses, and labeled credentials/identity fields (username, password,
serial, device IDs, signatures), classifies the source as Xtream, Stalker,
or an M3U link/body, and returns ranked candidates. Every extracted value is
a verbatim substring or a canonical form from an existing shared normalizer;
detection only proposes — the existing forms and their behavioral probes
(portal discovery, connection test) stay authoritative.

The Add playlist dialog gains a sixth "Auto-detect" method with a textarea
that runs the parser on every edit and renders candidate cards; picking one
switches to the matching import form with the fields prefilled.

Detection runs fully locally; pasted text never leaves the app.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JE1De2dfyRZMYh4H2iGXb4
This commit is contained in:
Claude committed 2026-08-11 11:41:47 +00:00
1 parent 5c9411869a
commit 3dee1978f6
35 files changed
+1883 -48

No files matched your search

+10
View File
@@ -0,0 +1,10 @@
---
type: feature
area: playlist
---
The Add playlist dialog has a new "Auto-detect" method: paste whatever your
provider sent you — links, Xtream credentials, a MAC address with device IDs —
and IPTVnator recognizes the source type and fills the matching import form
for you to review. Detection runs entirely inside the app; nothing you paste
is sent anywhere.