Skip to content

Plugin System#2

Merged
AshDevFr merged 3 commits intomainfrom
plugin-system
Jan 31, 2026
Merged

Plugin System#2
AshDevFr merged 3 commits intomainfrom
plugin-system

Conversation

@AshDevFr
Copy link
Owner

No description provided.

@AshDevFr AshDevFr force-pushed the plugin-system branch 2 times, most recently from d6ef7af to 66916f7 Compare January 30, 2026 06:40
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
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
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.
@AshDevFr AshDevFr merged commit 2ed66c8 into main Jan 31, 2026
7 checks passed
@AshDevFr AshDevFr deleted the plugin-system branch January 31, 2026 02:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant