What's changed
- Refactored feed pull runtime state into a dedicated
fetch_statemodel with unified scheduling and capped backoff - Hardened external URL handling and added baseline frontend security headers
- Kept toggled articles visible in filtered lists until refresh to prevent accidental context loss
- Added quick navigation from article details to the related feed
- Aligned content headers with the sidebar using a shared header component
- Restored expected scroll behavior in feed views
- Updated docs and API/frontend types to match the new pull-state architecture
Full Changelog: v1.0.0-beta.2...v1.0.0-beta.3