Changes
🚀 New Features & Dependencies Release - Client log viewer and streaming improvements
Overview
Enhanced logging infrastructure with a new client-side log viewer and optimized streaming performance for real-time log monitoring.
Key Updates
New Client Log Viewer
- Real-time streaming: Server-sent events for live log updates
- Advanced filtering: Search text, log level filtering, and real-time toggles
- Export functionality: Download filtered logs with custom filename support
- Performance optimized: Virtualized display for handling large log volumes
- Responsive design: Mobile-friendly interface with loading states
Enhanced Streaming Performance
- Optimized file reading: Enhanced buffer management for efficient log processing
- Memory efficiency: Proper bytesRead handling for clean data parsing
- Polling optimization: Non-overlapping file change detection with guard mechanisms
- Robust error handling: Comprehensive TOCTOU prevention and loop protection
Technical Changes
Client-Side Architecture
- New log viewer page: Complete UI with filtering, search, and export capabilities
- Custom hooks:
useLogStream
for SSE connection management - Skeleton loading: Dedicated loading states for improved UX
- Responsive components: Mobile-optimized layout and controls
Backend Enhancements
- Log streaming service: New service for efficient log file monitoring
- SSE endpoint: Real-time log streaming via Server-Sent Events
- Buffer optimizations: Fixed buffer handling and prevented uninitialized byte corruption
- Race condition fixes: Eliminated TOCTOU issues in file operations
Infrastructure Updates
- Plugin integration: Custom log streaming plugin
- Schema definitions: Complete TypeScript schemas for log entries
- Performance monitoring: Guard against overlapping polling operations
- Dependency updates: Node.js 22.19.0 and various package updates
Migration & Compatibility
No user action required - new log viewer is automatically available in the utilities section.
Full Changelog: v0.5.12...v0.5.13
Docker Image: lakker/pulsarr:latest
Upgrade Path: Standard Docker image update
- Real-time Log Viewer and Streaming Infrastructure (#569) @jamcalli
- Feature/client log viewer (#567) @jamcalli
- 📝 Add docstrings to
feature/client-log-viewer
(#568) @coderabbitai[bot] - CI updated and exclusions for imdb cron dataset (#552) @jamcalli
🔄 Dependencies
- chore(deps): lock file maintenance (#566) @renovate[bot]
- chore(deps): update dependency @biomejs/biome to v2.2.4 (#564) @renovate[bot]
- chore(deps): update actions/setup-node action to v5 (#563) @renovate[bot]
- chore(deps): lock file maintenance (#562) @renovate[bot]
- fix(deps): update dependency lucide-react to ^0.543.0 (#561) @renovate[bot]
- fix(deps): update tailwind css (#560) @renovate[bot]
- fix(deps): update dependency @scalar/fastify-api-reference to v1.35.2 (#559) @renovate[bot]
- fix(deps): update dependency dotenv to v17.2.2 (#558) @renovate[bot]
- chore(deps): update softprops/action-gh-release digest to 6cbd405 (#555) @renovate[bot]
- chore(deps): update dependency @biomejs/biome to v2.2.3 (#557) @renovate[bot]
- fix(deps): update dependency fastify to v5.6.0 (#556) @renovate[bot]
- fix(deps): update dependency vite to v7.1.5 [security] (#554) @renovate[bot]
- chore(deps): update node.js to v22.19.0 (#537) @renovate[bot]
Docker
docker pull lakker/pulsarr:0.5.13
Contributors
@actions-user, @coderabbitai[bot], @jamcalli, @renovate[bot], coderabbitai[bot] and renovate[bot]