Filter Non-Console Entries From My Consoles Settings #766

Closed
opened 2026-06-19 14:55:52 -05:00 by Veilor · 1 comment
Member

The My Consoles settings picker should only show platform records that users can reasonably select as consoles or owned gaming platforms.

The current picker is backed by the active platform list, so stray or non-console records such as Admin Cleanup Platform and Search Platform can appear in account settings and then be saved to a public profile console list.

Scope

  • Account Settings > Profile > My Consoles platform choices.
  • The Livewire settings data source that builds available console platforms.
  • Console-list validation so hidden or non-selectable platform ids cannot be saved by submitting crafted input.
  • Existing public profile console display for already-valid saved console lists.
  • Data cleanup or filtering for stray non-console platform rows such as Admin Cleanup Platform and Search Platform.

Acceptance Criteria

  • Admin Cleanup Platform and Search Platform do not appear as My Consoles choices.
  • The My Consoles picker still shows active, user-selectable console/platform records in alphabetical order.
  • Deleted platforms remain excluded from the picker.
  • Users cannot save a hidden or non-selectable platform id to their console list through a crafted Livewire update.
  • Existing saved console lists continue to render valid platform icons and text fallbacks on public profiles.
  • The empty state still appears when no selectable console platforms are available.
  • The fix does not remove valid game platform records from admin game forms, game requests, game search, or platform pages.

Test Coverage Required

  • Extend ProfileUpdateTest so the consoles tab excludes Admin Cleanup Platform and Search Platform while showing a valid selectable console.
  • Add or update validation coverage proving hidden or non-selectable platform ids cannot be saved to console_lists.
  • Preserve existing coverage that deleted platforms are excluded.
  • Preserve existing coverage for saving console lists and rendering valid saved consoles on the public profile.
  • Run focused settings profile tests before closing the issue.
  • Run vendor/bin/pint --dirty --format agent before implementation closeout if PHP files change.

Progress Checklist

  • Decide the durable rule for user-selectable console/platform records
  • Filter the My Consoles settings picker to selectable records only
  • Apply the same selectable-record rule during console-list validation
  • Keep valid console/platform choices sorted alphabetically
  • Add regression coverage for Admin Cleanup Platform and Search Platform
  • Add crafted-input validation coverage for hidden platform ids
  • Run focused settings profile tests
  • Run vendor/bin/pint --dirty --format agent if PHP files changed
  • Move the issue out of Codex review once verification is complete
The My Consoles settings picker should only show platform records that users can reasonably select as consoles or owned gaming platforms. The current picker is backed by the active platform list, so stray or non-console records such as `Admin Cleanup Platform` and `Search Platform` can appear in account settings and then be saved to a public profile console list. ## Scope - Account Settings > Profile > My Consoles platform choices. - The Livewire settings data source that builds available console platforms. - Console-list validation so hidden or non-selectable platform ids cannot be saved by submitting crafted input. - Existing public profile console display for already-valid saved console lists. - Data cleanup or filtering for stray non-console platform rows such as `Admin Cleanup Platform` and `Search Platform`. ## Acceptance Criteria - `Admin Cleanup Platform` and `Search Platform` do not appear as My Consoles choices. - The My Consoles picker still shows active, user-selectable console/platform records in alphabetical order. - Deleted platforms remain excluded from the picker. - Users cannot save a hidden or non-selectable platform id to their console list through a crafted Livewire update. - Existing saved console lists continue to render valid platform icons and text fallbacks on public profiles. - The empty state still appears when no selectable console platforms are available. - The fix does not remove valid game platform records from admin game forms, game requests, game search, or platform pages. ## Test Coverage Required - Extend `ProfileUpdateTest` so the consoles tab excludes `Admin Cleanup Platform` and `Search Platform` while showing a valid selectable console. - Add or update validation coverage proving hidden or non-selectable platform ids cannot be saved to `console_lists`. - Preserve existing coverage that deleted platforms are excluded. - Preserve existing coverage for saving console lists and rendering valid saved consoles on the public profile. - Run focused settings profile tests before closing the issue. - Run `vendor/bin/pint --dirty --format agent` before implementation closeout if PHP files change. ## Progress Checklist - [x] Decide the durable rule for user-selectable console/platform records - [x] Filter the My Consoles settings picker to selectable records only - [x] Apply the same selectable-record rule during console-list validation - [x] Keep valid console/platform choices sorted alphabetically - [x] Add regression coverage for `Admin Cleanup Platform` and `Search Platform` - [x] Add crafted-input validation coverage for hidden platform ids - [x] Run focused settings profile tests - [x] Run `vendor/bin/pint --dirty --format agent` if PHP files changed - [x] Move the issue out of Codex review once verification is complete
Codex changed title from Remove not consoles entries from my consoles to Filter Non-Console Entries From My Consoles Settings 2026-06-19 15:49:31 -05:00
Codex self-assigned this 2026-06-19 19:21:39 -05:00
Member

Implementation Notes

  • Resolved in commit 45efa7f on dev.
  • Added migration 2026_06_20_002156_remove_junk_console_platform_records to remove the junk platforms rows named Admin Cleanup Platform and Search Platform, then reset the platform sequence.
  • Ran the migration against the .env.local database and verified both junk platform names are absent and the migration is recorded.
  • No new platform visibility flag was added; the durable rule for this issue is data cleanup of the two junk records.
  • Renamed unrelated test fixtures that previously reused those production junk names so admin cleanup and game search tests do not recreate them.

Verification

  • php artisan test --compact tests/Feature/Settings/ProfileUpdateTest.php tests/Feature/AdminGameCleanupTest.php tests/Feature/GameSearchTest.php passed: 70 tests, 681 assertions.
  • vendor/bin/pint --dirty --format agent passed.
## Implementation Notes - Resolved in commit `45efa7f` on `dev`. - Added migration `2026_06_20_002156_remove_junk_console_platform_records` to remove the junk `platforms` rows named `Admin Cleanup Platform` and `Search Platform`, then reset the platform sequence. - Ran the migration against the `.env.local` database and verified both junk platform names are absent and the migration is recorded. - No new platform visibility flag was added; the durable rule for this issue is data cleanup of the two junk records. - Renamed unrelated test fixtures that previously reused those production junk names so admin cleanup and game search tests do not recreate them. ## Verification - `php artisan test --compact tests/Feature/Settings/ProfileUpdateTest.php tests/Feature/AdminGameCleanupTest.php tests/Feature/GameSearchTest.php` passed: 70 tests, 681 assertions. - `vendor/bin/pint --dirty --format agent` passed.
Codex closed this issue 2026-06-19 19:37:14 -05:00
Sign in to join this conversation.
No milestone
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
MyVideoGameList/myvideogamelist.com#766
No description provided.