summaryrefslogtreecommitdiff
path: root/services/worker/internal/parser/parser.go
Commit message (Collapse)AuthorAgeFilesLines
* feat: strip tracking parameters from entry URLs and filter tracking pixel imagesFuwn2026-02-121-2/+31
| | | | | | Strip UTM, fbclid, gclid, and other tracking query parameters from entry URLs at parse time in the Go worker. Filter out sub-3px tracking pixel images from sanitized HTML content via exclusiveFilter.
* fix: prevent read entries from reverting to unread on re-fetchFuwn2026-02-121-5/+62
| | | | | | | | | | | | | | | | | Root cause: cleanup_stale_entries deleted read-but-unsaved entries from active feeds, then the Go worker re-inserted them with new UUIDs, orphaning the user_entry_states rows and making entries appear unread. - cleanup_stale_entries: skip feeds with active subscribers and preserve entries that have been read (not just saved) - Go parser: normalize GUIDs by trimming whitespace and stripping tracking query parameters from URL-based identifiers - Go writer: preserve original published_at on upsert instead of overwriting, preventing old entries from jumping to timeline top - get_unread_counts: apply same time boundary as get_timeline so ancient re-inserted entries don't inflate counts - Realtime listener: ignore INSERT events for entries older than 48h to suppress misleading "new entries" notifications from re-inserts
* style: format Go worker with ikuFuwn2026-02-071-1/+4
|
* feat: asa.news RSS reader with developer tier, REST API, and webhooksFuwn2026-02-071-0/+234
Full-stack RSS reader SaaS: Supabase + Next.js + Go worker. Includes three subscription tiers (free/pro/developer), API key auth, read-only REST API, webhook push notifications, Stripe billing with proration, and PWA support.