- Updated app.js to use 'key' as primary series identifier - selectedSeries Set now uses key instead of folder - createSerieCard() uses data-key attribute for identification - toggleSerieSelection() uses key for lookups - downloadSelected() iterates with key values - updateSelectionUI() and toggleSelectAll() use key - Updated WebSocket service tests - Tests now include key and folder in broadcast data - Verified both fields are included in messages - No changes needed for queue.js and other JS files - They use download item IDs correctly, not series identifiers - No template changes needed - Series cards rendered dynamically in app.js All 996 tests passing
327 lines
8.3 KiB
JSON
327 lines
8.3 KiB
JSON
{
|
|
"pending": [
|
|
{
|
|
"id": "304d3273-8b1c-4847-8dc8-a8c585d720c0",
|
|
"serie_id": "test-series-2",
|
|
"serie_folder": "Another Series (2024)",
|
|
"serie_name": "Another Series",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "HIGH",
|
|
"added_at": "2025-11-28T15:14:50.916177Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "4ec82ed2-ad64-4330-bea5-3c986e577fa8",
|
|
"serie_id": "series-high",
|
|
"serie_folder": "Series High (2024)",
|
|
"serie_name": "Series High",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "HIGH",
|
|
"added_at": "2025-11-28T15:14:50.955809Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "9f089050-5128-439b-969e-541c3c6b7283",
|
|
"serie_id": "series-normal",
|
|
"serie_folder": "Series Normal (2024)",
|
|
"serie_name": "Series Normal",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "NORMAL",
|
|
"added_at": "2025-11-28T15:14:50.958134Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "0924064d-8588-45dd-9735-ac5ed2225360",
|
|
"serie_id": "series-low",
|
|
"serie_folder": "Series Low (2024)",
|
|
"serie_name": "Series Low",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "LOW",
|
|
"added_at": "2025-11-28T15:14:50.960059Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "b34582b3-3d3c-4883-b95f-63287b6df397",
|
|
"serie_id": "test-series",
|
|
"serie_folder": "Test Series (2024)",
|
|
"serie_name": "Test Series",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "NORMAL",
|
|
"added_at": "2025-11-28T15:14:51.136578Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "2221eecf-e250-4f26-8e17-79b81db379bd",
|
|
"serie_id": "test-series",
|
|
"serie_folder": "Test Series (2024)",
|
|
"serie_name": "Test Series",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "NORMAL",
|
|
"added_at": "2025-11-28T15:14:51.204136Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "ab779cf6-3cd5-49ca-852b-a490b61dce99",
|
|
"serie_id": "invalid-series",
|
|
"serie_folder": "Invalid Series (2024)",
|
|
"serie_name": "Invalid Series",
|
|
"episode": {
|
|
"season": 99,
|
|
"episode": 99,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "NORMAL",
|
|
"added_at": "2025-11-28T15:14:51.272632Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "ecc12f47-9e1a-4cd3-a39d-df4ccd81baf4",
|
|
"serie_id": "test-series",
|
|
"serie_folder": "Test Series (2024)",
|
|
"serie_name": "Test Series",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "NORMAL",
|
|
"added_at": "2025-11-28T15:14:51.305672Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "109163ee-d2ce-48bb-81b3-5f6b604506e7",
|
|
"serie_id": "series-1",
|
|
"serie_folder": "Series 1 (2024)",
|
|
"serie_name": "Series 1",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "NORMAL",
|
|
"added_at": "2025-11-28T15:14:51.399391Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "8ebd2676-0069-43a7-bee1-ed291a0ae334",
|
|
"serie_id": "series-4",
|
|
"serie_folder": "Series 4 (2024)",
|
|
"serie_name": "Series 4",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "NORMAL",
|
|
"added_at": "2025-11-28T15:14:51.400954Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "f1d8efe4-a682-4ef1-b7a5-e1b954b622be",
|
|
"serie_id": "series-3",
|
|
"serie_folder": "Series 3 (2024)",
|
|
"serie_name": "Series 3",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "NORMAL",
|
|
"added_at": "2025-11-28T15:14:51.401591Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "18f8392a-d0ad-4b5d-8a2b-f634fd642c71",
|
|
"serie_id": "series-2",
|
|
"serie_folder": "Series 2 (2024)",
|
|
"serie_name": "Series 2",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "NORMAL",
|
|
"added_at": "2025-11-28T15:14:51.402182Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "b394f1b2-691a-4be0-83f1-b5dc49e67c02",
|
|
"serie_id": "series-0",
|
|
"serie_folder": "Series 0 (2024)",
|
|
"serie_name": "Series 0",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "NORMAL",
|
|
"added_at": "2025-11-28T15:14:51.403030Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "ee8b4416-772b-4ab7-b8af-8a695a723fe3",
|
|
"serie_id": "persistent-series",
|
|
"serie_folder": "Persistent Series (2024)",
|
|
"serie_name": "Persistent Series",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "NORMAL",
|
|
"added_at": "2025-11-28T15:14:51.493134Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "8ee3de44-7260-4e26-88ee-8172e45d14dd",
|
|
"serie_id": "ws-series",
|
|
"serie_folder": "WebSocket Series (2024)",
|
|
"serie_name": "WebSocket Series",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "NORMAL",
|
|
"added_at": "2025-11-28T15:14:51.573256Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "ec7f80b1-87c1-4cf4-949b-c96d6dd7a82b",
|
|
"serie_id": "workflow-series",
|
|
"serie_folder": "Workflow Test Series (2024)",
|
|
"serie_name": "Workflow Test Series",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "HIGH",
|
|
"added_at": "2025-11-28T15:14:51.610620Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
}
|
|
],
|
|
"active": [],
|
|
"failed": [],
|
|
"timestamp": "2025-11-28T15:14:51.618568+00:00"
|
|
} |