Skip to content

Promote emulator maintenance and issue fixes to production - #575

Open
Producdevity wants to merge 251 commits into
masterfrom
release/emulator-maintenance
Open

Producdevity wants to merge 251 commits into
masterfrom
release/emulator-maintenance

Conversation

@Producdevity

@Producdevity Producdevity commented Nov 13, 2026 •

Copy link
Copy Markdown
Owner

Promotes the emulator maintenance and compatibility-report fixes reviewed on staging: 80 transparent 500×500 WebP icons, Nintendo Switch 2 mappings, direct JSON editing of fields/attributes/categories, report history, preferences, permissions, pagination, keyboard access and notification-email output encoding. New icons use attributed project artwork or the documented local NX category wordmark.

Preserves production's dependency lockfile, database schema/migrations, account-deletion lifecycle, Clerk webhook handling, Prisma connection reuse and release guards. All 17 protected paths match production commit 085d913. Catalog fixtures are synchronized for fresh creation; deployment does not run seeds or overwrite existing catalog associations.

Validation:

  • Staging 9b52bef is deployed and healthy: successful release run, 3,908 unit tests and 302 browser tests passed.
  • Production candidate 0450fc8: CI passed, including 3,975 unit tests, 10 database tests, 302 browser tests, the locked Next.js 16.3.6 build/lint/types, 9 container checks and 24 release-safety checks. Both browser runs had two existing skips and zero retries.
  • Live staging checks passed for 14 API boundary cases, IGDB Switch 2/RAWG title search, six WebP/legacy-PNG asset routes, and JSON validation/category editing. The saved 30-field configuration remains unchanged after the draft checks and reload.

All 32 production review threads are resolved. The latest source PRs were reviewed by Cubic; the final production merge commit was excluded from fresh Cubic analysis, and CodeRabbit skips this base branch. The production integration also received an independent review and account-lifecycle composition tests.

Production remains unmerged and undeployed. TheGamesDB credentials were not changed; its Switch 2 platform ID 5021 is independently confirmed by the public catalog. RAWG remains a title search without an invented Switch 2 platform mapping.

Refs #442; validation cleanup is merged through #566, #573 and #579.

fix: reuse Prisma pools across production bundles
…sions

fix: exclude local agent artifacts from checks
feat: add emulator icons and Switch 2 platform mappings
…config

feat: edit emulator custom field setups as JSON
@coderabbitai

coderabbitai Bot commented Nov 13, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

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

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: fd21c125-5ebe-4764-bf9f-a1d14ea9b025

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
  • 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

test: verify the main navigation keyboard order

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

1 issue found across 555 files

Confidence score: 4/5

  • In src/app/devices/DevicesPage.tsx, an open device can disappear when it drops off the current page, since list-opened devices don’t have a by-ID query to keep them available. Preserve the selected device when it leaves the page.
Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="src/app/devices/DevicesPage.tsx">

<violation number="1" location="src/app/devices/DevicesPage.tsx:77">
P3: The open device now disappears whenever it drops out of the current page's `devices`. The removed effect kept the last selected device in that case. Because the by-id query is disabled for list-opened devices, `selectedDevice` becomes null, `DeviceViewModal` returns null, and the modal unmounts until the fetch completes. Keep the last resolved device for the open `deviceId` so the modal stays mounted.</violation>
</file>

Note: This PR contains a large number of files. cubic selects up to 200 of the highest-priority eligible files for this review, so some files may not have been reviewed.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread prisma/seeders/systemsSeeder.ts Resolved
Comment thread src/components/ui/form/Toggle.tsx Resolved
Comment thread src/components/CookieConsent.tsx Resolved
Comment thread src/app/devices/DevicesPage.tsx Resolved

This branch has not been deployed

No deployments
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