Commit Graph

28 Commits

Author SHA1 Message Date
tigeren 8b12de057f feat(libraries): add IntelliSense feature for enhanced library management
- 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
2025-10-20 14:40:29 +00:00
tigeren c9631d61b8 fix(intellisense): resolve case sensitivity issues on Linux systems
- 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
2025-10-19 11:15:32 +00:00
tigeren 7e5b122565 feat(library): add IntelliSense folder browsing for adding libraries
- 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
2025-10-18 16:07:16 +00:00
tigeren 438e4f2192 feat(scanner): add file deletion cleanup and thumbnail verification
- 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
2025-10-14 17:27:00 +00:00
tigeren 56e2225e8a docs(library-clusters): add documentation for library scan enhancement
- 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
2025-10-13 09:40:59 +00:00
tigeren 5e5534ca77 chore(tests): remove obsolete HLS and progress bar test scripts
- 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
2025-10-13 03:09:16 +00:00
tigeren 96541956b5 docs(docs): update documentation with new streaming features and performance plans
- 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
2025-10-13 03:00:10 +00:00
tigeren 067c7e8e01 docs(README): overhaul project documentation with detailed overview
- 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
2025-10-13 02:47:42 +00:00
tigeren 3601add44c chore(docs): update docker image version in deployment instructions
- 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
2025-10-13 01:42:48 +00:00
tigeren dd3eb91fbe docs(readme): add Surprise Me video recommendation feature documentation
- 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
2025-10-12 12:05:59 +00:00
tigeren 7d8694b6f5 feat(clusters): add bookmark and rating features to video player
- 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
2025-10-12 09:09:28 +00:00
tigeren 335f47549a feat(api): include rating and bookmark metadata in media queries
- 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
2025-10-12 09:03:17 +00:00
tigeren ce61ebbf9e feat(clusters): add folder view tab with backend and frontend support
- 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
2025-10-12 07:56:15 +00:00
tigeren 0d6d2730bc feat(clusters): add cluster navigation UI and cluster view page with media tabs
- 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
2025-10-12 06:14:01 +00:00
tigeren 4306d4ace8 feat(cluster): implement cluster management and library clustering UI
- 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
2025-10-11 17:17:07 +00:00
tigeren f92e44db93 feat(db): add cluster feature with related database tables and indexes
- 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
2025-10-11 17:03:14 +00:00
tigeren 573efb8003 docs(deployment): update Docker image tag to 1.3 in deployment guide
- 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
2025-10-11 16:24:41 +00:00
tigeren ac06835850 feat(folder-bookmarks): add folder bookmarks feature with migration support
- 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
2025-10-10 15:31:45 +00:00
tigeren fef8f57e9b feat(hls): implement dynamic FFmpeg segmentation for merged .ts files
- 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
2025-10-01 15:40:23 +00:00
tigeren d54af0289f feat(streaming): add .ts file HLS streaming and container conversion support
- 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
2025-09-29 19:21:46 +00:00
tigeren 20c518a680 add new plan 2025-09-28 17:37:28 +00:00
tigeren 9a4c327d38 refactor(docs): remove deprecated process management and progress bar guides
- 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
2025-09-22 17:40:59 +00:00
tigeren 4e25da484a feat(streaming): integrate hls.js with ArtPlayer and implement fallback chain
- 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
2025-09-18 15:52:39 +00:00
tigeren f9d30fa9b4 feat: native用artplayer取代 2025-09-16 15:03:56 +00:00
tigeren 13d6874c00 feat(api): add FFmpeg process status and management API endpoints
- 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
2025-09-06 16:39:00 +00:00
tigeren 89930b833c refactor: update Dockerfile and docker-compose.yml for improved media handling
- 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.
2025-09-01 18:08:17 +00:00
tigeren dfef34576a refactor: update Dockerfile and deployment documentation
- 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.
2025-08-30 19:00:46 +00:00
tigeren 158f9f7a23 feat: add deployment documentation and Docker configuration
- 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.
2025-08-30 11:59:56 +00:00