v4.2.2
✨ What's New
🚀 New
- Web Page Article Import: You can now import documents directly from any public webpage using their URL. OpenReader retrieves the page, cleans up headers, ads, and sidebars, and converts the content into clean Markdown (part of PR #116).
- Custom Document Creator: Added a new tab to create clean Markdown or Plain Text documents from scratch directly in the app. This addresses the request to manually add text rather than always uploading a file (resolves #108, PR #116).
- SSRF Prevention & URL Safety: Integrated the Microsoft AntiSSRF library to validate all web imports. The system prevents server-side request forgery (SSRF) and DNS rebinding attacks, ensuring safe imports by manually tracking redirects and blocking access to internal network IP ranges (PR #116).
⚡ Improved
- Modern Modal & Sidebar Layouts: Redesigned the settings panel and document upload flow using a new
SidebarDialogcomponent, offering a unified, responsive design that works beautifully on both desktop and mobile devices (PR #116). - Optimized Text Preview Cards: Redesigned text and markdown file preview cards in the document finder window. They now feature a stylized radial dot pattern, smoother visual fade gradients, and better text alignment to let you preview document snippets at a glance (PR #116).
- Smart Worker Connection Handling: The compute worker's server-sent event (SSE) stream now advises client connections to back off before reconnecting. When the worker is disconnected or goes idle, this delay prevents the client from immediately waking up the server, allowing the compute environment to sleep efficiently (PR #115).
- Optimized Default Reader Width: Changed the default HTML reader page layout width to 50% instead of 100% to significantly improve readability out of the box (PR #116).
🐛 Fixed
- Uploader Click bug: Fixed a bug introduced with the new document uploader menu where the "Click to select files" box in the "Upload Files" tab did not register mouse clicks.
- Docker Webpack Build compilation: Resolved webpack compilation failures in Docker environments by dynamically excluding the native
canvaspackage on the server and fallback-aliasing to@napi-rs/canvas. - Speech Generation Bullet Marker Cleanup: Added a clean-up pattern that strips bullet points, asterisks, list markers, and other non-spoken symbols (e.g.
•,▪,★) from input text before sending it to speech engines. This prevents strict TTS servers (such as Supertonic) from failing due to unsupported character errors (resolves #113, PR #114). - Replicate Audio Output SSRF Prevention: Guarded speech generation against SSRF vulnerabilities by ensuring that audio files generated by Replicate models are strictly retrieved from
replicate.deliveryand its subdomains.
Full Changelog: v4.2.1...v4.2.2