mirror of
https://github.com/Dispatcharr/Dispatcharr.git
synced 2026-07-18 00:55:50 +00:00
Backend: - Add terminal status guard to stop() endpoint -prevents overwriting completed/interrupted/failed with "stopped" (returns 409 Conflict) - Include currently-airing programs in series rule evaluation by filtering on end_time instead of start_time - Clean up future recordings when deleting a series rule while preserving previously recorded episodes - Add logo proxy negative cache to prevent repeated requests to unreachable hosts from blocking Daphne workers - Add URL validation with HEAD-then-GET fallback and per-worker cache - Add EPG time-slot matching (80% overlap threshold) to enrich manual recordings with program metadata - Add multi-source poster resolution pipeline (EPG, VOD, TMDB, OMDb, TVMaze, iTunes) with URL validation at each stage - Add editable recording metadata endpoint with user_edited flag to prevent EPG auto-overwrite - Add refresh-artwork endpoint to re-run poster resolution on demand - Batch-fetch PeriodicTask names in schedule_upcoming to avoid N+1 Frontend: - Fix series modal showing only one episode — preserve _group_count from categorized prop when merging with store version so the episode list renders correctly - Fix recording card button positioning — use flex column layout with marginTop auto so buttons align at the bottom regardless of content - Add delete fallback in RecurringRuleModal for orphaned recordings from deleted rules - Use end_time filter in upcoming episodes list to include currently-airing episodes - Add inline metadata editing (title/description) in details modal - Add refresh artwork button in details modal - Replace hardcoded /logo.png fallbacks with imported default logo - Add React.memo with custom comparator to RecordingCard Tests: - Add 21 EPG time-slot matching tests (overlap threshold, edge cases) - Add 16 recording metadata tests (validation, artwork, logo cache) - Add 17 URL validation tests (HEAD/GET fallback, caching, eviction) |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| .gitignore | ||
| eslint.config.js | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| prettier.config.js | ||
| README.md | ||
| vite.config.js | ||
React + Vite
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Babel for Fast Refresh
- @vitejs/plugin-react-swc uses SWC for Fast Refresh
Expanding the ESLint configuration
If you are developing a production application, we recommend using TypeScript and enable type-aware lint rules. Check out the TS template to integrate TypeScript and typescript-eslint in your project.