Multiple improvements - #16
Merged
Merged
Conversation
…inements - VFS visibility: implemented polling loop and configurable wait timeouts for mount readiness - Selective sync: updated Curator to trigger specific Jellyfin library refreshes via JELLYFIN_LIBRARY_MAP - Centralized events: created EventRegistry to aggregate logs from both DAV and Curator processes - Unified Logs UI: added a dedicated /logs page with real-time aggregation and source labeling - Persistent notifications: implemented stateful "orange glow" for new logs using localStorage - Bulk magnet addition: added dynamic input rows and aggregated file selection UI for multiple links - Processing feedback: implemented "processing..." overlay and meta-bar console for real-time status - Robustness: added Jellyfin auth validation and ensured symlink creation is atomic and independent of scan success - CSS refactoring: eliminated inline styles in favor of semantic utility and component classes - Standards: added .htmlhintrc and updated README with linting and development instructions - UX: relocated restart/resync buttons, fixed icon rendering, and removed ready-label blinking - Internal categories: filtered out __unplayable__ from media server hooks and Jellyfin selective scans - Log utility: added per-line copy button in the logs view with hover visibility
logs: - make entire log row clickable to copy; fallback to execCommand for non-HTTPS contexts where navigator.clipboard is unavailable - add pointer cursor and selection-color hover highlight on log rows - lowercase all console status messages to match UI aesthetic - enrich "Real-Debrid library changed" log with per-category diffs: +N added: …; -N removed: …; ~N updated: … (N torrents) - fix nav log count: healthz now returns combined dav+curator total via a new GET /api/logs/count endpoint on the curator service config: - expose event ring buffer size as logging.max_entries in buzz.yml (dav) and PRESENTATION_LOG_MAX_ENTRIES env var (curator), default 1000 - add EventRegistry.reconfigure(maxlen) to resize the buffer at startup without losing events recorded before config is applied torrents layout: - move RESYNC LIB button into the console: row in the meta-bar - move Analyze button inline with the magnet input row using flexbox; match its height to the text input (font-size: 1rem, transparent border) - make torrent table fill remaining viewport height via JS measurement (fitTableToViewport / initTableFit); scrollbar always visible; sticky thead with var(--bg) background covers scrolling rows - restrict trunc-cell scroll animation to cells actually clipped (scrollWidth > clientWidth); ResizeObserver re-evaluates on resize
gchamon
force-pushed
the
improve/logs-and-fixes
branch
from
April 16, 2026 23:27
ac0d655 to
52b0fe5
Compare
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.
implement centralized logging, bulk magnet addition, and UI refiinements: