- Implement API endpoint for directory listing and library status detection
- Add UI modal dialog for folder browsing and navigation
- Enable folder selection with dedicated "Select" buttons per folder
- Prevent duplicate library additions with visual grey-out indicators
- Normalize paths for cross-platform case-insensitive comparisons
- Integrate with existing library management workflow for seamless use
- Provide detailed documentation and multiple test scripts for validation
- Update feature status and README to include new IntelliSense functionality
- Normalize file paths to lowercase for consistent, case-insensitive comparison
- Update library path checks to use normalized paths to avoid duplicates
- Ensure already added libraries are visually greyed out regardless of path casing
- Improve cross-platform compatibility by handling path case differences on Linux, macOS, and Windows
- Add new test script to verify case sensitivity fixes for IntelliSense feature
- Update documentation and feature status to reflect library IntelliSense improvements
- Bump Docker image version from 1.5 to 1.6 in deployment instructions
- Create API endpoint to list directories under /mnt with navigation support
- Detect and indicate already added libraries to prevent duplicates
- Add "Browse" button to library path input for opening modal folder selector
- Implement modal UI with directory navigation, current path display, and selection buttons
- Integrate modal selection with existing library adding workflow
- Show visual feedback by disabling selection of existing libraries
- Update documentation and feature status to include the new IntelliSense feature
- Add test scripts covering IntelliSense navigation and library conflict detection
- Implement cleanupDeletedFiles to remove orphaned database records for files no longer on disk
- Add verifyAndRegenerateThumbnail to detect and regenerate missing thumbnails for existing media
- Integrate new cleanup and verification steps into main scanLibrary async function
- Update scan stats to track files removed and thumbnails regenerated
- Enhance error handling to log but not block overall scan progress
- Maintain existing file discovery and processing workflows with new verification layers
- Provide detailed scanning process flow and statistics tracking for improved observability
- Add four new docs covering requirements, architecture, implementation plan, and summary
- Update FEATURE_STATUS.md with detailed library scan enhancement feature list and planning status
- Include new section in README.md outlining enhanced scan features and documentation links
- Update library cluster docs count from 12 to 16 to reflect new documents
- Mark library scan enhancement as critical priority and planning complete in status files
- Delete legacy HLS diagnostic script to clean up old testing utilities
- Remove deprecated folder bookmarks migration shell script
- Remove deprecated ArtPlayer integration HTML test file
- Remove legacy HLS streaming test HTML interface
- Remove obsolete progress bar test script for transcoded videos
- Update documentation to reflect removal and archive testing suite as complete
- Consolidate test files under organized testing suite directories and guides
- Remove obsolete standalone feature docs and integrate their summaries into docs organization
- Add media streaming features including external player auto-launch and .ts file handling fixes
- Document FFmpeg process management and progress bar fixes in media streaming-root section
- Introduce comprehensive 5-phase performance optimization plan with API pagination and virtual scrolling
- Update feature status to reflect completion and planning states of media streaming and performance features
- Enhance README with additional streaming capabilities and forthcoming performance improvements
- Reorganize active documentation categories for clearer navigation and categorization
- Rewrite README to present NextAV as a production-ready media library system
- Add comprehensive feature list covering core and advanced features
- Include architecture details: frontend, database, media processing, deployment
- Document database schema with table descriptions
- Describe API endpoints with coverage and counts
- Detail UI/UX features: sidebar, video cards, player, folder viewer
- Explain deployment setup: Docker multi-stage builds and private registry
- List performance optimizations: virtual scrolling, caching, Turbopack
- Provide build status and compilation details
- Outline documentation structure and development workflow rules
- Define current and future development priorities with sprint plans
- Summarize validation status and readiness for production use
- Change docker image tag from 1.4 to 1.5 in deployment guide
- Update corresponding docker push command with new tag
style(surprise-me): adjust page container height and overflow
- Replace min-h-screen with fixed h-screen for full viewport height
- Add overflow-y-auto to enable vertical scrolling within the page container
- Maintain existing background color and header styles unchanged
- Introduce "Surprise Me" as a new video recommendation system for personal video discovery
- Add detailed quick links including guides, summaries, design, architecture, and implementation examples
- Reorganize documentation overview to include Surprise Me above Library Cluster feature
- Update documentation statistics reflecting increased total documents and size
- Update current project focus including Surprise Me as top priority
- Add new documentation entry for Surprise Me on recent changes list
- Bump documentation version to 1.1 and update last modified date accordingly
docs(archive): update Docker image tag for build and push commands
- Change Docker image tag from version 1.3 to 1.4 in deployment instructions
- Enable display of bookmarks and ratings in the player UI
- Add handlers for bookmarking and unbookmarking actions
- Implement rating functionality with corresponding event handler
- Enhance user interaction by integrating these new controls
- Improve state management related to video selection and player display
- Add bookmark_count, avg_rating, and star_count fields to photo, video, and text queries
- Join bookmarks and stars tables to aggregate counts and average ratings
- Use COALESCE to ensure default values for missing metadata are zero
- Update folder contents handler to use actual thumbnail path from database instead of conditional URLs
- Implement `/api/clusters/[id]/folders` endpoint for folder navigation with pagination and error handling
- Create ClusterFolderView component for folder tab UI with breadcrumb and cluster theming
- Enhance VirtualizedFolderGrid to support cluster API mode and handle cluster folder responses
- Integrate folder view as default tab on cluster page with navigation and state management
- Add comprehensive testing documentation and handle loading, empty, and error states in UI
- Add "Clusters" collapsible section in sidebar with color-coded icons
- Implement client cluster fetching and navigation links in sidebar
- Create cluster view page with header, stats cards, and tabbed media interface
- Integrate media player modals for video, photo, and text viewing
- Enhance InfiniteVirtualGrid to support custom API endpoints and response formats
- Refactor cluster API routes query params variable naming for consistency
- Add search and loading/error handling within cluster media pages
- Implement bookmark and rating functionality within cluster media grid
- Ensure responsive design and active state highlighting in sidebar and cluster pages
- Update library cluster progress documentation to reflect Phase 3 completion status
- Add database tables for clusters and library-cluster mappings with indexes
- Create REST API endpoints for cluster CRUD and library assignments
- Develop ClusterManagement component for create/edit/delete clusters with color/icon picker
- Implement multi-select library assignment and real-time statistics display
- Add LibraryClusterBadges component to show color-coded cluster badges on library cards
- Integrate cluster management UI into settings page with loading states and validation
- Enhance API input validation and error handling for cluster operations
- Document design decisions, performance considerations, and next steps for navigation features
- Define TypeScript interfaces for Cluster, ClusterWithStats, and LibraryClusterMapping
- Create clusters table with fields for name, description, color, icon, and timestamps
- Create library_cluster_mapping table to link libraries and clusters with foreign keys and unique constraint
- Add indexes on library_cluster_mapping and clusters tables for improved query performance
- Changed Docker build and push commands to use tag 1.3 instead of latest
- Updated private registry image reference accordingly
- Improved version specificity in documentation for deployment process
- Introduce new folder_bookmarks table with unique folder_path and timestamp fields
- Implement API endpoints for folder bookmarks CRUD operations
- Enhance bookmarks API to combine and paginate media and folder bookmarks
- Update bookmarks page UI to handle and display folder bookmarks
- Add folder viewer support for bookmarking current folder with toggle functionality
- Create automated migration script with backup, schema verification, and rollback instructions
- Provide detailed migration guides for manual and Docker deployments
- Add comprehensive testing and verification steps for migration and new feature integration
- Add tsSegmentationService to detect and re-segment merged .ts files using FFmpeg
- Create HLSSessionManager to manage segmentation sessions with heartbeat and TTL
- Enhance HLS playlist route to serve either virtual or FFmpeg-segmented playlists
- Update segment route to serve FFmpeg-generated segments with proper caching headers
- Add manual cleanup API for forced session cleanup and status inspection
- Implement global HLS status endpoint with session and segmentation metrics
- Introduce session lifecycle management with auto cleanup and error handling
- Provide detailed logging for session creation, heartbeat, cleanup, and errors
- Configure segment duration, temp directory, concurrency limits, and cleanup intervals
- Ensure fallback to virtual segmentation on errors or unsupported cases
- Document MPEG-TS protocol issues with naive merging and correct segmentation approach
- Plan phased migration for scalable production readiness and monitoring integration
- Implement virtual HLS playlist generation for .ts files as multi-segment streams
- Serve .ts files in virtual 2MB segments with proper byte-range handling
- Enhance existing HLS playlist route to support .ts files as single or multi-segment streams
- Improve segment route to serve .ts segments using stream slicing and abort handling
- Add comprehensive API endpoint for converting .ts files to .mp4 containers
- Implement fast container remuxing using FFmpeg without re-encoding
- Provide analysis of .ts files for conversion suitability based on codec compatibility
- Return detailed error messages and alternatives when HLS streaming unsupported for non-.ts formats
- Update HLS playlist URLs to absolute paths with protocol and host for external access
- Add caching and CORS headers for HLS segments and playlists
- Include thorough logging for debugging HLS segment requests and conversion processes
- Delete obsolete markdown documentation on transcoding process management
- Remove detailed explanation of reliable termination strategies in Go and Next.js
- Eliminate legacy progress bar accuracy anti-jitter mechanisms content
- Remove Next.js adaptation guide covering process pools and graceful shutdown
- Clean up all related implementation code snippets and architecture comparisons
- Streamline documentation to avoid confusion with newer implementations
- Add hls.js plugin to ArtPlayer wrapper for HLS streaming support
- Implement adaptive bitrate streaming and quality level switching
- Create comprehensive HLS error handling with recovery and fallback
- Detect and handle HLS-compatible formats (.ts, MP4, M4V, TS, M2TS, MTS)
- Support native HLS playback fallback for Safari browsers
- Enhance fallback chain: Native → HLS → Direct → Transcoding streaming
- Update unified video player to handle ArtPlayer errors with fallback logic
- Provide user-friendly error messages and retry options on HLS failure
- Add cleanup for HLS error handlers on component unmount
- Complete Phase 2 of gradual migration tracker with HLS integration and tests
- Implement GET /api/ffmpeg/status to return current FFmpeg process status
- Support filtering by videoId and response formatting (JSON or text table)
- Include optional statistics in status response
- Implement DELETE /api/ffmpeg/status for process cleanup operations
- Allow killing processes by videoId, stale status, or all at once
- Add cache-control and CORS headers for API responses
- Add error handling with 500 response on failure
- Removed the USER directive from the Dockerfile to simplify the build process.
- Added new volume mounts in docker-compose.yml for additional media directories, enhancing media accessibility.
- Updated the media database file, reflecting changes in media management.
- Deleted obsolete thumbnail files to clean up the project structure and reduce clutter.
- Modified Dockerfile to rebuild better-sqlite3 using npm as a fallback and ensure native bindings are compiled correctly.
- Updated build command to 'buildprod' for production optimization.
- Removed unnecessary package installations for the production image.
- Enhanced permissions setup for media directories and ensured the database file is created at runtime.
- Revised deployment guide to clarify environment configuration and directory setup for Docker.
- Introduced a comprehensive deployment guide for NextAV, detailing steps for building and pushing Docker images to a private registry.
- Added a new docker-compose.yml file for service orchestration, including configurations for NextAV and Nginx.
- Updated CLAUDE.md with guidelines for creating documentation and managing Docker images.
- Created a PRIVATE_DOCKER_REPO.md file outlining tagging and pushing images to the private Docker repository.