feat: collection section overhaul, multi-episode import fixes, and QOL improvements - #434
Merged
Conversation
- show all TMDB collection parts (not just library siblings), with missing entries dimmed and grayed out - add Add Collection CTA that bulk-adds missing parts, inheriting rootFolderId and scoringProfileId from the current movie - add per-movie hover overlay with + (add) (add individually) and i (info) (Discover page) buttons - add POST /api/library/collections/[tmdbId]/track endpoint that fetches collection from TMDB, skips existing library entries, and bulk-inserts missing movies using the standard add pipeline - add contextual header buttons: search (missing-file tracked movies) and subtitle auto-download, each hidden when there is nothing to act on
…rch state - show a primary "Search in Discover" button when no movies/tv match a library search, which links to ` /discover?type=movie` or `/discover?type=tv` depending on where the search is intiated - Both links carry the current search query via ?q= so Discover loads results without the user having to retype search query
- replace filteredOutResults.length === 0 guard in debug $effect with a debugResultsLoaded flag - set debugResultsLoaded = true in the finally block after each load
- add clearAllFiles() to logHistoryService - add DELETE handler to /api/settings/logs/history
…ng manual import - resolveTvEpisodeMapping now returns episodeNumbers[] instead of a single episodeNumber - buildEpisodeNamingInfo receives the full episode array so NamingService generates the correct multi-episode filename (e.g. S01E02-E03 instead of S01E02) - add parsedEpisodes?: number[] to ManualImportDetectionData and DetectionGroup - populate from resolveTvEpisodeIdentifier when episodeNumbers.length > 1 - replace editable episode input with a read-only E1-E2 (auto) display for multi-episode files
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Related Issues
N/A
Type of Change
Changes Made
group-hoverwith JS hover state on collection cards; addedinvalidateAll()onfile:added/file:removedSSE events to refresh collection without reloadhasSubtitlestoCollectionPartand aselectDistinctsubtitle membership query in the movie page server loadresolveTvEpisodeMappingnow returns fullepisodeNumbers[];buildEpisodeNamingInfoaccepts the array so multi-episode files are named with the correct rangeparsedEpisodes?: number[]toManualImportDetectionDataandDetectionGroup;GroupEditorPanelshows E1-E2 (auto) badge with Override/Auto toggle;Step3SingleImportsummary renders the full range/discover?type=...&q=...clearAllFiles()tologHistoryService, a DELETE handler to/api/settings/logs/history, and a "Clear all" button backed byConfirmationModalon the logs pagedebugResultsLoadedflag to guard the debug mode$effectfrom re-firing whenfilteredOutResultsis empty after a fetchAreas Affected
Testing
npm run test)npm run check)Checklist
npm run formatfeat:,fix:, etc.)$state,$derived,$effect,$props)Screenshots