Skip to content

fix(free-games): resolve FGF redd.it links so task giveaways are filtered - #31

Merged
SuaveIV merged 1 commit into
mainfrom
fix/free-games-bluesky-task-resolution
Oct 9, 2026
Merged

SuaveIV merged 1 commit into
mainfrom
fix/free-games-bluesky-task-resolution

Conversation

@SuaveIV

@SuaveIV SuaveIV commented Oct 9, 2026

Copy link
Copy Markdown
Owner

fix(free-games): resolve FGF redd.it links so task giveaways are filtered

The FreeGameFindings Bluesky source only exposes redd.it short-links, so the
destination-based filters never saw the real host. Task giveaways that just look
like "[Steam] (Game) X is free!" (gleam.io / givee.club / Alienware Arena / ...)
were still announced: the domain blocklist can't match redd.it, and task
detection runs on the post text, which carries no task keywords.

Resolve each redd.it link to its real destination via the public Telegram mirror
of the subreddit (t.me/s/r_freegamefindings), which reposts every submission with
the destination link intact. The resolved URL is used for the game, so:

  • the existing domain blocklist (gleam.io, givee.club, woovit, keymailer) now
    matches on Bluesky posts;
  • extend the blocklist with the task hosts the resolver exposes
    (alienwarearena.com, key-hub.eu, igames.gg, steelseries.com, crucial.com);
  • legitimate Steam store links resolve to their store page, so they build the
    rich Steam embed (app id) instead of the plain fallback message.

Resolution is best-effort: on any failure the original redd.it link is kept, so
behaviour degrades to the previous state.

Adds tests for the redd.it -> destination resolution and the mirror parsing.

…ered

The FreeGameFindings Bluesky source only exposes redd.it short-links, so the
destination-based filters never saw the real host. Task giveaways that just look
like "[Steam] (Game) X is free!" (gleam.io / givee.club / Alienware Arena / ...)
were still announced: the domain blocklist can't match redd.it, and task
detection runs on the post text, which carries no task keywords.

Resolve each redd.it link to its real destination via the public Telegram mirror
of the subreddit (t.me/s/r_freegamefindings), which reposts every submission with
the destination link intact. The resolved URL is used for the game, so:

- the existing domain blocklist (gleam.io, givee.club, woovit, keymailer) now
  matches on Bluesky posts;
- extend the blocklist with the task hosts the resolver exposes
  (alienwarearena.com, key-hub.eu, igames.gg, steelseries.com, crucial.com);
- legitimate Steam store links resolve to their store page, so they build the
  rich Steam embed (app id) instead of the plain fallback message.

Resolution is best-effort: on any failure the original redd.it link is kept, so
behaviour degrades to the previous state.

Adds tests for the redd.it -> destination resolution and the mirror parsing.
@coderabbitai

coderabbitai Bot commented Oct 9, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 2ae07838-0d06-4f42-8726-cb3113c743e5

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@SuaveIV SuaveIV self-assigned this Oct 9, 2026
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown

Supply Chain Security Status

Checks Performed:

  • uv lock --check (lockfile consistency)
  • Hash-pinned lockfile verification
  • uv audit against OSV vulnerability database
  • CycloneDX SBOM generation

Best Practices:

  • Dependencies pinned with hashes in requirements-hashes.txt
  • uv.lock committed as single source of truth
  • Automated vulnerability scanning on every push/PR

Learn more: https://bernat.tech/posts/securing-python-supply-chain/

@SuaveIV
SuaveIV merged commit 9ec8156 into main Oct 9, 2026
4 checks passed
@SuaveIV
SuaveIV deleted the fix/free-games-bluesky-task-resolution branch October 9, 2026 21:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant