Commit graph

46 commits

Author SHA1 Message Date
SergeantPanda
01370e8892 Bug fix: Fixed duplicate key constraint violations by treating TMDB/IMDB ID values of 0 or '0' as invalid (some providers use this to indicate "no ID"), converting them to NULL to prevent multiple items from incorrectly sharing the same ID. (Fixes #813)
Some checks are pending
CI Pipeline / prepare (push) Waiting to run
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Blocked by required conditions
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
CI Pipeline / create-manifest (push) Blocked by required conditions
Build and Push Multi-Arch Docker Image / build-and-push (push) Waiting to run
2026-01-07 16:38:09 -06:00
SergeantPanda
30d093a2d3 Fixed bulk_create and bulk_update errors during VOD content refresh by pre-checking object existence with optimized bulk queries (3 queries total instead of N per batch) before creating new objects. This ensures all movie/series objects have primary keys before relation operations, preventing "prohibited to prevent data loss due to unsaved related object" errors. (Fixes #813)
Some checks are pending
CI Pipeline / prepare (push) Waiting to run
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Blocked by required conditions
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
CI Pipeline / create-manifest (push) Blocked by required conditions
Build and Push Multi-Arch Docker Image / build-and-push (push) Waiting to run
2026-01-06 16:12:50 -06:00
SergeantPanda
6bd8a0c12d Enhance error logging for invalid season and episode numbers in batch_process_episodes 2026-01-02 09:53:45 -06:00
patchy8736
c57f9fd7e7 Fix episode processing issues in VOD tasks
- Ensure season and episode numbers are properly converted to integers with error handling
- Remove zero-padding from debug log format for season/episode numbers
- Add validation to filter out relations with unsaved episodes that have no primary key
- Add proper logging for skipped relations when episode is not saved to database

These changes address potential crashes when API returns string values instead of integers
and prevent database errors when bulk creation operations fail silently due to conflicts.

Fixes issue #770
2026-01-01 15:57:27 +01:00
SergeantPanda
48e7060cdb Bug Fix: VOD episode processing now correctly handles duplicate episodes from the same provider. (Fixes #556) 2025-12-16 15:24:16 -06:00
SergeantPanda
2b58d7d46e Enhancement: Ensure "Uncategorized" categories and relations exist for VOD accounts. This improves content management for movies and series without assigned categories. Closes #627 2025-11-25 17:14:51 -06:00
SergeantPanda
da628705df Separate VOD and channel logos into distinct tables with dedicated management UI
- Created VODLogo model for movies/series, separate from Logo (channels only)
- Added database migration to create vodlogo table and migrate existing VOD logos
- Implemented VODLogoViewSet with pagination, filtering (used/unused/movies/series), and bulk operations
- Built VODLogosTable component with server-side pagination matching channel logos styling
- Added VOD logos tab with on-demand loading to Logos page
- Fixed orphaned VOD content cleanup to always remove unused entries
- Removed redundant channel_assignable filtering from channel logos
2025-11-07 13:19:18 -06:00
SergeantPanda
951af5f3fb Enhancement: Add auto-enable settings for new groups and categories in M3U and VOD components
Bug Fix: Remove orphaned categories for VOD and Series
Fixes #540
Closes #208
2025-10-09 15:28:37 -05:00
SergeantPanda
bc574c272c Bug fix: convert commas to decimals and verify float before saving vod/series to database.
Fixes #526
2025-10-06 19:45:43 -05:00
SergeantPanda
b3debcd014 Fix bug during VOD cleanup where all VODs not from the current m3u scan would be deleted. 2025-09-18 14:14:04 -05:00
SergeantPanda
f8e91155e2 Fix bug: cannot access local variable 'total_chunks' where it is not associated with a value 2025-09-14 15:19:51 -05:00
SergeantPanda
67939ba44b Auto cleanup orphaned vods and series during scan. 2025-09-04 16:57:32 -05:00
SergeantPanda
11f54f3cda Fix VOD categories not loading on new accounts without webui refresh. 2025-08-28 11:20:37 -05:00
dekzter
11bc2e57a9 optimized vod parsing, added in vod category filtering, added UI individual tabs for movies vs series VOD category filters 2025-08-25 14:37:20 -04:00
SergeantPanda
3ecd7137ff Added misssing bulk fetch function for vod categories. 2025-08-22 17:12:50 -05:00
dekzter
a19bd14a84 added vod category filtering 2025-08-22 16:59:00 -04:00
SergeantPanda
f1a80c3389 Check for null values before saving to database and scrub empty string. 2025-08-21 16:31:41 -05:00
SergeantPanda
a95ed79e93 Handle issue with relations. 2025-08-21 12:24:06 -05:00
SergeantPanda
90eccd6edf When getting detailed VOD and series info if an imdb or tmdb id were added it could have caused duplicate key violations, we now merge the two VOD's deleting the VOD that isn't being accessed at that time to avoid the user getting invalid links. 2025-08-21 11:41:58 -05:00
SergeantPanda
d04fdb6f69 Fix categories not linking. 2025-08-19 15:42:30 -05:00
SergeantPanda
9137bd47c9 Switch to pulling ALL vods, series and categories instead of an api call for each category. 2025-08-19 14:53:43 -05:00
SergeantPanda
fa19525ab9 Remove url from movie table and save custom_properties for series. 2025-08-19 11:25:56 -05:00
SergeantPanda
54404339c2 Fix batch processing using simpler method for duplicate detection. 2025-08-19 10:01:37 -05:00
SergeantPanda
0f8fe82f17 Skip logos if they are long. 2025-08-18 14:22:40 -05:00
SergeantPanda
1bf947caf2 Fix not detecting duplicates based on imdb and tmdb ids. 2025-08-14 13:40:31 -05:00
SergeantPanda
0cf2c74b40 Change from individual database calls to batch. 2025-08-14 12:51:39 -05:00
SergeantPanda
3942517032 Save custom properties that aren't stream specific for episodes. 2025-08-09 16:55:26 -05:00
SergeantPanda
4d7987214b Fixed some vod apis, converted duration to duration_secs, add custom_poperties to vod_episode 2025-08-09 16:31:33 -05:00
SergeantPanda
a332678cfb Remove URL from episode relation table. 2025-08-08 08:06:28 -05:00
SergeantPanda
325d832c1b Fixes movie details after db changes. 2025-08-07 20:42:20 -05:00
SergeantPanda
3741d28565 Fix typo in air date parsing. 2025-08-07 19:41:10 -05:00
SergeantPanda
8d37c678d3 Fix air_date not populating for series. 2025-08-07 19:28:42 -05:00
SergeantPanda
56922e1c01 Fix custom properties. 2025-08-07 16:10:45 -05:00
SergeantPanda
656cd3007b Fix release date and description 2025-08-07 15:37:08 -05:00
SergeantPanda
5b931f6272 Add missing functions for processing episodes. 2025-08-07 14:57:28 -05:00
SergeantPanda
a6bace9241 Add custom properties for movies and series. Refactor update logic. 2025-08-07 14:22:27 -05:00
SergeantPanda
0e388968c4 Convert to relation tables to support multiple providers for each vod. 2025-08-07 12:31:05 -05:00
SergeantPanda
0120419d09 Get full release date. 2025-08-05 15:50:28 -05:00
SergeantPanda
4b27f95b30 Keep track of last time a series was refreshed. 2025-08-05 10:45:02 -05:00
SergeantPanda
4accd2be85 Pull advanced info from provider when opening a movie. 2025-08-03 22:02:34 -05:00
SergeantPanda
d9192d003d Remove json dumps from custom_properties as now the fields are jsonb in postgres. Also fix category matching. 2025-08-02 19:03:39 -05:00
SergeantPanda
0585fc1dfe Separate Movies, Series and Episodes into their own tables 2025-08-02 13:32:44 -05:00
SergeantPanda
0b5906538e More robust parsing of year. 2025-08-02 12:59:02 -05:00
SergeantPanda
0ece58572e Extract year from other data fields if available, otherwise attempt name. 2025-08-02 12:33:41 -05:00
SergeantPanda
bcebcadfaa Add ability to scan for vods during m3u refresh. 2025-08-02 12:01:26 -05:00
SergeantPanda
84aa631196 Initial backend commit for vod 2025-08-02 10:42:36 -05:00