Add game-scout extension#27267
Conversation
|
Congratulations on your new Raycast extension! 🚀 We're currently experiencing a high volume of incoming requests. As a result, the initial review may take up to 10-15 business days. Once the PR is approved and merged, the extension will be available on our Store. |
Greptile SummaryThis PR adds the new Game Scout extension — a multi-command Raycast companion for tracking game prices, deals, and giveaways across Steam, GOG, Epic, and 30+ storefronts via the ITAD, CheapShark, and GamerPower APIs.
Confidence Score: 5/5The extension is functionally sound; all changes are additive and self-contained within the new extension directory. All new findings are style/polish nits — a missing No files require special attention; the detail-cache key inconsistency in Important Files Changed
Prompt To Fix All With AIFix the following 3 code review issues. Work through them one at a time, proposing concise fixes.
---
### Issue 1 of 3
extensions/game-scout/package.json:1-5
**Missing `$schema` field**
The root `package.json` object does not include the required `$schema` reference. Without it, editors cannot validate or autocomplete Raycast-specific fields such as command modes, preference types, and platform targets. Add `"$schema": "https://www.raycast.com/schemas/extension.json"` as the first field.
### Issue 2 of 3
extensions/game-scout/src/utils.ts:905-933
**`buildBundleMap` exported but never used**
`buildBundleMap` is declared and exported, but neither `search-games.tsx` nor `saved-games.tsx` imports it — both files now compute bundle counts inline from the overview response. The function is dead code and can be removed to avoid confusion about which path is authoritative for counting bundles.
### Issue 3 of 3
extensions/game-scout/src/search-games.tsx:2719-2720
**Detail cache key ignores `SHOW_CHART` state**
The cache key `search_detail_${gameId}_${COUNTRY}_v1` does not encode whether the price-history call was included. If the detail was cached with `showPriceHistoryChart = false` (no `historyChart` data), then the user enables the preference and opens the same game within the 6-hour TTL, the cached payload is returned with `historyChart: []` and the chart never appears — the preference change appears to have no effect until the cache expires or the user hits "Refresh Data". The same applies to the identical cache key in `saved-games.tsx`. Appending the chart preference to the key (e.g. `_c${SHOW_CHART ? 1 : 0}`) or invalidating the cache on preference toggle would fix this.
Reviews (8): Last reviewed commit: "Fix: Resolve hook violations, bundle ico..." | Re-trigger Greptile |
|
All mentioned issues have been resolved and pushed. |
|
Hi, could a maintainer please approve the workflows so the CI checks can run? Thank you! |
…dle value engine, and UI polish
|
All Greptile issues from first review resolved:
Phase 1.5 additions:
|
|
Updated screenshots to strictly follow store guidelines. |
- Fix CACHE_TTL to use refreshFrequency preference - Remove unused imports and variables (lint fixes) - Fix Price Drops: deduplication, regular price format, separator
…afe, verdict fixes, truncation with ellipsis
- Improve bundle status logic - Fix price history chart preference not applying - Replace mature content icon with tag - Fix TypeScript preference types - Add null checks for prices and priceData
Description
Game Scout is a comprehensive extension for gamers to search across multiple storefronts, track historical lows, discover free giveaways, and catch the best daily deals without leaving the launcher.
Key Features
Screencast
Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare placed outside of themetadatafolder