Merged
Conversation
d6ef7af to
66916f7
Compare
Implement a comprehensive plugin system that enables external metadata providers to integrate with Codex via a JSON-RPC protocol over stdio. Backend: - Add plugin manager with process lifecycle, health monitoring, and auto-restart - Implement JSON-RPC 2.0 protocol for plugin communication - Add encrypted credential storage for plugin secrets - Create plugin, plugin_failures entities and repositories - Add plugin API endpoints for CRUD, search, match, and apply operations - Implement auto-match task for library-wide metadata matching - Add metadata apply service with cover download support Frontend: - Add plugin settings page with creation/edit/delete UI - Implement metadata search modal and preview components - Add plugin dropdown to series detail page - Create plugin status banner for global health monitoring SDK & Plugins: - Add TypeScript SDK (@codex/plugin-sdk) for building plugins - Include metadata-echo plugin for testing - Include metadata-mangabaka plugin for MangaBaka API integration Also includes: - Database migrations for plugin tables - Developer documentation for plugin protocol and SDK - Updated screenshots and documentation - CI/CD updates for plugin builds
66916f7 to
529da22
Compare
Add plugin performance metrics system with real-time tracking of request counts, success/failure rates, duration statistics, and health status. New /api/v1/metrics/plugins endpoint exposes per-plugin and aggregate stats with historical data points. Implement scheduled thumbnail generation for books and series via configurable cron jobs. New GenerateSeriesThumbnails task fans out to individual series. Library sidebar now includes actions to generate missing or regenerate all thumbnails. Other changes: - Add plugin metrics tab to settings UI with charts and tables - Add TypeScript SDK tests and improve error handling - Add migrations for thumbnail cron settings and validation rules - Update troubleshooting documentation - Refresh automated screenshots
d3eec98 to
0764541
Compare
Add comprehensive bulk selection system with: - Backend API endpoints for bulk mark read/unread and analyze operations on books and series (/api/v1/books/bulk/* and /api/v1/series/bulk/*) - Frontend bulk selection store using Zustand with type-locked selection (books or series, not mixed) - BulkSelectionToolbar component with actions for mark read, mark unread, analyze, and plugin actions - Shift+click range selection and long-press/right-click to enter selection mode - MediaCard selection state with checkbox overlay Add info modals showing detailed metadata: - BookInfoModal displaying file info, metadata, and IDs - SeriesInfoModal displaying series details and statistics Includes full test coverage for bulk operations API, selection store, toolbar, and info modal components.
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.
No description provided.