Commit graph

8 commits

Author SHA1 Message Date
Patrick Britton bacffc759c feat: proxy OG images to R2 to fix CORS on Flutter Web
- Added S3 client, mediaBucket, imgDomain fields to LinkPreviewService
- Added ProxyImageToR2 method: downloads external OG image, uploads to R2
  with deterministic key (og/<sha256>.ext), replaces ImageURL with R2 path
- Called ProxyImageToR2 in post_handler.go (both sync and async paths)
- Refactored OfficialAccountsService to use shared LinkPreviewService
  instead of creating inline instances
- Reordered main.go init: S3 client setup before LinkPreviewService
2026-02-09 19:34:45 -06:00
Patrick Britton 0f7874b429 fix: unescape HTML entities in OG tag parsing for link previews 2026-02-09 08:58:56 -06:00
Patrick Britton 41407feb58 fix: use browser UA for link preview fetch, add error logging to bg goroutines 2026-02-09 08:22:27 -06:00
Patrick Britton 9879064824 fix: remove dead ResolveGoogleNewsURL reference from link_preview_service 2026-02-09 08:06:47 -06:00
Patrick Britton 4704708c2c fix: resolve Google News URLs to actual source articles before fetching link previews 2026-02-08 18:48:49 -06:00
Patrick Britton aa0e75d35f fix: safe domains scan - use time.Time for timestamp columns instead of string 2026-02-08 14:02:00 -06:00
Patrick Britton 8b4198e6f0 feat: safe domains management - admin UI, CRUD endpoints, URL safety checker, seeded domains 2026-02-08 13:47:08 -06:00
Patrick Britton e9e140df5e feat: link preview system - OG tag fetching, safe URL validation, full-width thumbnail card 2026-02-08 13:27:13 -06:00