Strengthens code quality guidelines by establishing strict TypeScript practices that prohibit `any` types and minimize type suppressions.
Updates Copilot instructions to emphasize production-ready code with comprehensive type safety rules, error handling requirements, and reliability standards. Explicitly discourages type escape hatches in favor of proper type definitions.
Refactors navigation implementation to use URLSearchParams instead of object-based params, eliminating the need for type suppression while maintaining functionality.
Removes unnecessary type error suppressions and unused properties throughout codebase, aligning with new standards.
Fixes missing dependencies in useMemo and useCallback hooks to prevent stale closures and potential bugs.
Adds null/undefined guards before navigation in music components to prevent crashes when attempting to navigate with missing IDs.
Corrects query key from "company" to "genre" in genre page to ensure proper cache invalidation.
Updates Jellyseerr references to Seerr throughout documentation and error messages for consistency.
Improves type safety by adding error rejection handling in SeerrApi and memoizing components to optimize re-renders.
Removes extensive dead code including unused components, utilities, and augmentations that were no longer referenced in the codebase.
Simplifies play settings logic by removing complex stream ranking algorithm in favor of direct previous index matching for audio and subtitle selections.
Removes aspectRatio prop from video player as it was set to a constant "default" value and never changed.
Inlines POSTER_CAROUSEL_HEIGHT constant directly where used instead of importing from centralized constants file.
Eliminates unused features including image color extraction for TV platforms, M3U8 subtitle parsing, and various Jellyfin API helpers that were no longer needed.
Cleans up credential management by making internal helper functions private that should not be exposed to external consumers.
Prevents the tags selection UI from rendering when the service has no tags configured.
Wraps the tags dropdown component in a conditional check to only display when tags exist in the default service details, avoiding empty or broken UI states.
Resolves React warning about missing keys in list rendering by converting fragment to array with unique key props for each streamystats component.
Also wraps promoted watchlists in a View container to properly handle props spreading, preventing props from being passed through to individual watchlist sections.
Updates branding and naming conventions to use "Seerr" instead of "Jellyseerr" across all files, components, hooks, and translations.
Renames files, functions, classes, variables, and UI text to reflect the new naming convention while maintaining identical functionality. Updates asset references including logo and screenshot images.
Changes API class name, storage keys, atom names, and all related utilities to use "Seerr" prefix. Modifies translation keys and user-facing text to match the rebrand.
Enhances README with comprehensive feature categorization including Media Playback, Media Management, and Advanced Features sections
Expands documentation for music library support, search providers (Marlin, Streamystats, Jellysearch), and plugin functionality
Updates FAQ section with more detailed answers about library visibility, downloads, subtitles, TV platform support, and Seerr integration
Corrects typos throughout the application:
- Fixes "liraries" to "libraries" in hide libraries settings
- Changes "centralised" to "centralized" for consistency
- Updates "Jellyseerr" references to "Seerr" throughout codebase
Adds missing translations for player settings including aspect ratio options, alignment controls, and MPV subtitle customization
Improves consistency in capitalization and punctuation across translation strings
Removes empty download settings component files and simplifies download feature description in translations.
The download settings components contained only placeholder implementations that returned null, indicating they were not in use. Updates the feature description to remove references to optimized server and background downloads, providing a clearer and more straightforward explanation of the download functionality.
Add new setting to completely disable the auto-play next episode feature.
When disabled, the countdown button is hidden and the max episode count
setting appears greyed out.