Beim Teilen aus Safari greift ein JS-Preprocessing-File (GetPageHTML.js)
das gerenderte outerHTML der bereits zustimmenden Seite und legt es im
neuen SharedHTMLStore (App-Group, keyed auf SHA-256(url)) ab. Die App
schickt dieses HTML bei der Extraktion an /extract/preview mit — das
umgeht Cookie-/Pur-Wände, die der anonyme Server-Fetch sonst extrahiert
(gleicher Bypass wie das Web-Bookmarklet).
- SharedHTMLStore: put/peek/remove/prune, 4,9M-Char-Cap (API-Limit),
7-Tage-TTL. HTML wird erst nach erfolgreicher Extraktion verworfen,
damit ein 401/502-Retry (enrich-Sweep) es erneut nutzen kann.
- ShareViewController (iOS + macOS): liest das Property-List-Result,
legt HTML ab, enqueued die URL wie bisher.
- project.yml: NSExtensionJavaScriptPreprocessingFile + WebPage-Activation
+ JS-Resource + SharedHTMLStore.swift in beide Extension-Targets.
- PagetaAPI.extractPreview(url:html:) + enrichArticle konsultiert den Store.
Greift nur beim Teilen aus Safari (Web-Page-Kontext); nackte URL-Shares
fallen sauber auf den URL-Pfad zurück.
iOS+macOS BUILD SUCCEEDED, 41/41 Tests grün (3 neue für SharedHTMLStore).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>