Skip to content

feat: add per-game automatic-download target platforms - #898

Draft
noahbare wants to merge 4 commits into
Doezer:mainfrom
noahbare:feat/per-game-target-platform
Draft

feat: add per-game automatic-download target platforms#898
noahbare wants to merge 4 commits into
Doezer:mainfrom
noahbare:feat/per-game-target-platform

Conversation

@noahbare

Copy link
Copy Markdown
Contributor

Summary

Adds an editable per-game target platform for automatic downloads, with the existing account-wide preferred platform retained as the backward-compatible fallback.

  • persist nullable, paired IGDB platform ID/name fields per game
  • seed the target from Add Game discovery when the platform is automation-supported, while keeping it editable before save
  • allow changing or clearing the target from game details
  • validate that IDs and names form a matching supported catalog entry
  • centralize release aliases and punctuation-aware matching for legacy platforms
  • make per-game targets override the account-wide preferred platform during automatic search
  • preserve the account-wide behavior for existing games with no target

God of War (2005) can therefore be saved with PlayStation 2 / IGDB platform 8, and automatic search will enforce PS2 release markers.

Dependency

Draft because this branch is stacked on #897, which provides the Add Game IGDB platform/year discovery filters. Once #897 merges, this branch can be rebased onto main and the duplicate first commit disappears from the diff.

Depends on #897.

Validation

  • npx vitest run shared/__tests__/schema.test.ts shared/__tests__/title_utils.test.ts client/__tests__/AddGameModal.test.tsx client/__tests__/GameDetailsModal.test.tsx server/__tests__/api_routes.test.ts server/__tests__/cron_autosearch.test.ts server/__tests__/igdb.test.ts — 416 passed
  • npm test -- --run — 2,070 passed, 7 skipped
  • npm run check — passed
  • npm run lint — passed
  • npm run build — passed
  • npm run db:generate -- --name verify-target-platform — no schema changes remaining
  • git diff --check — passed

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 2587d16a-f9df-467e-8ecc-e5b7162f9964

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@noahbare
noahbare force-pushed the feat/per-game-target-platform branch from c9839c0 to b6b80bb Compare August 10, 2026 01:39
@sonarqubecloud

Copy link
Copy Markdown

@Doezer

Doezer commented Aug 13, 2026

Copy link
Copy Markdown
Owner

#897 is merged

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.

2 participants