- ArticleWebView: remove dangerous intrinsicContentSize override, use
height binding measured via JS after render
- ReaderViewModel: add @MainActor, replace didSet filter with explicit
applyFilter() to avoid property observer reentrancy
- Thumbnail extraction: use precompiled NSRegularExpression, limit search
to first 2000 chars, skip placeholder when no image found
- Card view: only show thumbnail when image exists (no placeholder)
- Feedback: add guard against double-tap, @MainActor on Task
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>