Skip to content

Conversation

gantoine
Copy link
Member

Description
Explain the changes or enhancements you are proposing with this pull request.

Checklist
Please check all that apply.

  • I've tested the changes locally
  • I've updated relevant comments
  • I've assigned reviewers for this PR
  • I've added unit tests that cover the changes

Screenshots

@gantoine gantoine requested a review from Copilot July 13, 2025 00:38
Copy link

trunk-io bot commented Jul 13, 2025

Running Code Quality on PRs by uploading data to Trunk will soon be removed. You can still run checks on your PRs using trunk-action - see the migration guide for more information.

Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds support for new “Hasheous” links, updates existing external URLs, and centralizes external data source listings in the GameInfo component.

  • Wraps various scrapper IDs (LaunchBox, RA, Hasheous, etc.) in anchor tags with updated URLs across PlatformInfoDrawer.vue and Title.vue.
  • Introduces a computed dataSources list and coverImageSource in GameInfo.vue for the “Data provided by” section.
  • Extends backend models and response schemas to include hasheous_id in identification logic and adds a moby_slug computed field.

Reviewed Changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
frontend/src/components/Gallery/AppBar/Platform/PlatformInfoDrawer.vue Fixed ScreenScraper URL, switched Moby link to use moby_slug, and added RetroAchievements & Hasheous anchor links
frontend/src/components/Details/Title.vue Wrapped LaunchBox, RA, and Hasheous chips in <a> with updated URLs
frontend/src/components/Details/Info/GameInfo.vue Added dataSources & coverImageSource computed properties and new UI row for data attribution
backend/models/rom.py Included hasheous_id in is_unidentified and is_fully_identified properties
backend/models/platform.py Included ra_id and hasheous_id in platform identification logic
backend/endpoints/responses/platform.py Imported MOBYGAMES_PLATFORM_LIST and added @computed_field moby_slug
Files not reviewed (1)
  • frontend/src/generated/models/PlatformSchema.ts: Language not supported
Comments suppressed due to low confidence (2)

backend/endpoints/responses/platform.py:54

  • There are no existing tests for the new moby_slug computed field. Add unit tests to verify correct slug lookup for known platforms and that it returns null when moby_id is missing or the slug is not in MOBYGAMES_PLATFORM_LIST.
    @computed_field  # type: ignore

frontend/src/components/Details/Info/GameInfo.vue:298

  • The new “Data provided by” UI block should be covered by component tests to ensure it renders correctly when rom.is_identified is true and hides when false, including all contained anchor links.
      <v-row v-if="rom.is_identified">

Copy link

github-actions bot commented Jul 13, 2025

☂️ Python Coverage

current status: ✅

Overall Coverage

Lines Covered Coverage Threshold Status
7843 4961 63% 0% 🟢

New Files

No new covered files...

Modified Files

File Coverage Status
backend/endpoints/responses/platform.py 94% 🟢
backend/models/platform.py 96% 🟢
backend/models/rom.py 91% 🟢
TOTAL 94% 🟢

updated for commit: ecb586a by action🐍

Copy link

github-actions bot commented Jul 13, 2025

Test Results

168 tests  ±0   168 ✅ ±0   38s ⏱️ ±0s
  1 suites ±0     0 💤 ±0 
  1 files   ±0     0 ❌ ±0 

Results for commit ecb586a. ± Comparison against base commit 5253198.

♻️ This comment has been updated with latest results.

@gantoine gantoine merged commit 72efb18 into master Jul 13, 2025
10 checks passed
@gantoine gantoine deleted the 4-metadata-fixes-4 branch July 13, 2025 00:59
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