v1.0.9-beta.054 - feat/fix: Overhaul file standardization, directory scanning, and UI responsiveness
This major update introduces a robust, globally enforced file naming and standardization engine, alongside new administrative tools for library management, crucial UI responsive fixes, and core API authentication hardening.
✨ File Standardization & Naming
- Global Adherence: Enforces custom Series Folder Formats across all import pipelines (Manual Requests and Smart Matcher) from the exact moment of creation, ensuring 100% parity with Watched Folder syncs.
- Interactive Renaming Previews: Upgraded the Standardize File Names modal on both the Series and Library pages to include pattern dropdown selectors and a real-time, cross-series path preview table to visualize destructive disk operations.
- Standardized Naming on Link: Manually linking an unmatched issue now dynamically fetches the active naming pattern and physically renames the .cbz file, complete with collision protection appending (Linked) to prevent overwrites.
- Restore Defaults Action: Added an orange-styled Restore Defaults button to the Media Naming Conventions settings to quickly reset custom patterns, properly triggering the Unsaved Changes warning state.
✨ Administrative Tools & UI Enhancements
- Manual Directory Scanning: Added an on-demand Scan Directory button to the Series page sidebar and the Unrecognized Files banner. This executes a real-time read of folder contents and updates the UI state seamlessly without a full page reload.
- Responsive Issue Cards: Prevented action buttons from overflowing on narrow screens by explicitly reflowing the CSS grid to 1 column at the md breakpoint, introducing flex-wrap for graceful button wrapping, normalizing button dimensions, and enforcing text-width constraints.
🐛 Bug Fixes & Architecture
- API Auth Hardening: Resolved persistent Next.js App Router 403 Forbidden errors across multiple /api/library endpoints by replacing getServerSession with NextAuth's getToken.
- Atomic Database Updates: Wrapped unmatched record deletions and target issue updates in Prisma transaction blocks to guarantee strict database integrity during issue linking.
- Query Optimization & TS Safety: Refactored the rename preview route to utilize in-memory filtering rather than Prisma relation joins (preventing empty previews on missing issues) and resolved strict null-check TypeScript compilation errors when parsing physical file extensions.