Prevent deleted list entries from appearing as active recent updates #352
Labels
No labels
automated
code-quality
component: admin dashboard
component: backend
component: billing
component: content management
component: faqs
component: game genres
component: game lists
component: game reviews
component: game search
component: games
component: internal notifications
component: platforms
component: security
component: tests
component: user api
component: user badges
component: user blogs
component: user consoles
component: user favorites
component: user friends
component: user notifications
component: user profiles
component: user site notifications
component: user wishlists
component: web design
dependencies
php
priority
high
priority
low
priority
medium
security-hotspot
source: codex
source: sonarqube
status
awaiting feedback
status
backlog
status
done
status
in progress
status
in queue
status
in review
status
needs codex review
status
needs investigation
status
wontfix
type: bug
type: documentation
type: feature
type: improvement
type: regression
type: task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
MyVideoGameList/myvideogamelist.com#352
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Deleting a game from a user's list should not create a misleading Recent Gamer Updates item that says the user is playing that game.
The Notion report says: "Deleting a game from the list shows as 'playing' on recent gamer updates." A follow-up comment also questions whether deleting a game is worth announcing at all. In the current Laravel checkout,
GameListController::destroy()soft-deletes the list row and then callslogGamerUpdate($gameList, $gameList->game, 'deleted'). That logger stores the current list status and derivesactivity_typefrom the status/replay state, so a deleted row whose status was Playing can still enter the public feed as aplayingactivity.App\Support\RecentGamerUpdatesalso has no dedicateddeletedmessage branch.This issue should make the product behavior explicit and prevent deletion activity from being rendered as an active list status. The recommended behavior is to not announce game-list deletions in Recent Gamer Updates.
Related but separate:
Source: https://app.notion.com/p/3742f7baaae480478f3cd80944091561
Scope
/list/remove/{gameList}.GameListController::destroy()andlogGamerUpdate()behavior for deleted list entries.gamer_updatesactivity records created by game-list create/update/delete actions.App\Support\RecentGamerUpdatesrendering of list activity types./recent-gamer-updatespage.Acceptance Criteria
gamer_updatesfeed; ordeleted/removedactivity type and copy such as "removed X from their list."hide_public_feed_entriesfiltering continues to apply.Test Coverage Required
gamer_updatesactivity is created or rendered for delete events; orRecentGamerUpdatesstill filters banned, deleted, soft-deleted, and feed-hidden users.php artisan test --compact.vendor/bin/pint --dirty --format agentbefore closing the issue if PHP files are changed.Progress Checklist
logGamerUpdate()logGamerUpdate()currently derivesactivity_typefrom status/replay stateRecentGamerUpdatesrenders active status activity typesImplemented and pushed in
e5120db.Summary:
gamer_updatesactivity.GameListController::destroy()still authorizes, soft-deletes the row, redirects to the list, and keeps the existing "was removed from your list" success feedback.Verification:
vendor/bin/pint --dirty --format agentphp artisan test --compact tests/Feature/GameListPageTest.php --filter='deleting list entries does not create recent gamer updates for active statuses'php artisan test --compact tests/Feature/GameListPageTest.php --filter='owner can update and delete their list entry'php artisan test --compact tests/Feature/GameListStatusMappingTest.phpNote: the broader affected command surfaced pre-existing/unrelated local failures in two
Alternative Titlesassertions inGameListPageTestand oneuser_site_settings.idinsert/schema failure inRecentGamerUpdatesPageTest; those were not caused by this change.