Allow Users to See Other Users Games Notes #25

Open
opened 2024-01-14 14:29:05 -06:00 by jimmyb · 4 comments
Owner

Originally reported by hidangetsu: users can currently see their own game list notes and dates, but cannot see another user's notes for a game on that user's list. Community comments on this issue call out that reading another player's per-game notes was an important social feature because it helped users understand what friends thought about a specific game and start conversations around it.

The current Laravel checkout already stores per-entry notes on game_lists.notes, and GameListController reads/writes notes when list entries are created or updated. Profile/header navigation still links to /list/{username}, but the public list display needs to be rebuilt or updated so another user's notes can be viewed from their list without exposing edit-only controls. One suggested interaction from the issue comments is expandable table rows, similar to the old DataTables detail-row behavior, so notes are available on demand without making the list table too busy.

Scope

  • Public user game list display for another user's game list entries.
  • Read-only display of each visible game_lists.notes value on the owner's public list.
  • Expandable row or equivalent progressive-disclosure UI so notes can be opened from a list row without crowding the table.
  • Preserve existing owner-only editing behavior for notes, dates, and other list metadata.
  • Include started/finished dates only where the current public list design already intends to show them; this issue is specifically about making notes visible to viewers.
  • Handle empty notes cleanly without showing broken expand controls.
  • Keep the implementation consistent with existing Laravel/Tailwind layouts, light/dark mode, and public profile navigation.

Acceptance Criteria

  • Visitors can open a user's public game list from /list/{username} or the existing profile/header list links.
  • A list entry with notes exposes a clear, accessible way to reveal those notes.
  • Revealed notes are read-only for anyone who is not the list owner.
  • The list owner can still edit notes through the existing owner edit flow.
  • List entries without notes do not show an empty or misleading note panel.
  • Notes are escaped or rendered safely so user-supplied content cannot inject HTML or script into another user's list page.
  • Soft-deleted list entries and inactive/deleted/banned users are not exposed publicly.
  • The UI works for guests and authenticated users viewing someone else's list.
  • The UI remains usable on mobile and desktop, including keyboard access for expanding/collapsing notes.
  • The list page follows existing site styling and supports light/dark mode.

Test Coverage Required

  • Feature tests for rendering a public user game list with entries that have notes.
  • Feature tests confirming viewers can see another user's notes in the expected expandable/read-only region.
  • Regression tests confirming notes are escaped safely and do not render unsafe HTML.
  • Feature tests confirming entries without notes do not expose empty note expanders.
  • Authorization or feature tests confirming non-owners do not see owner-only edit controls for another user's list entries.
  • Regression tests confirming the list owner can still reach the edit flow for their own list entries.
  • Feature tests confirming soft-deleted list entries and inactive/deleted/banned users are not publicly exposed.
  • Responsive/accessibility-oriented assertions where practical for the expand/collapse control markup.
  • Tests should use Pest and focused feature coverage.
  • Run the focused affected tests, then run vendor/bin/pint --dirty --format agent before closing the issue.

Progress Checklist

  • game_lists.notes exists in the schema
  • GameList allows notes as a fillable field
  • GameListController persists notes on create/update
  • Profile/header navigation links users to /list/{username}
  • Ensure public list routes/controllers are wired for /list/{username} and the signed-in owner's /list view
  • Build or update the public user game list view
  • Include notes in the list query without exposing soft-deleted entries
  • Add an expandable/read-only notes panel for rows with notes
  • Hide note expanders for rows without notes
  • Preserve owner-only edit controls and hide them from other viewers
  • Safely escape or sanitize displayed notes
  • Add tests for note visibility, read-only behavior, empty notes, unsafe note content, owner controls, and inactive/deleted records
  • Confirm the final behavior restores the community-requested ability to read what other users wrote about games on their lists
**Originally reported by hidangetsu:** users can currently see their own game list notes and dates, but cannot see another user's notes for a game on that user's list. Community comments on this issue call out that reading another player's per-game notes was an important social feature because it helped users understand what friends thought about a specific game and start conversations around it. The current Laravel checkout already stores per-entry notes on `game_lists.notes`, and `GameListController` reads/writes notes when list entries are created or updated. Profile/header navigation still links to `/list/{username}`, but the public list display needs to be rebuilt or updated so another user's notes can be viewed from their list without exposing edit-only controls. One suggested interaction from the issue comments is expandable table rows, similar to the old DataTables detail-row behavior, so notes are available on demand without making the list table too busy. ## Scope - Public user game list display for another user's game list entries. - Read-only display of each visible `game_lists.notes` value on the owner's public list. - Expandable row or equivalent progressive-disclosure UI so notes can be opened from a list row without crowding the table. - Preserve existing owner-only editing behavior for notes, dates, and other list metadata. - Include started/finished dates only where the current public list design already intends to show them; this issue is specifically about making notes visible to viewers. - Handle empty notes cleanly without showing broken expand controls. - Keep the implementation consistent with existing Laravel/Tailwind layouts, light/dark mode, and public profile navigation. ## Acceptance Criteria - Visitors can open a user's public game list from `/list/{username}` or the existing profile/header list links. - A list entry with notes exposes a clear, accessible way to reveal those notes. - Revealed notes are read-only for anyone who is not the list owner. - The list owner can still edit notes through the existing owner edit flow. - List entries without notes do not show an empty or misleading note panel. - Notes are escaped or rendered safely so user-supplied content cannot inject HTML or script into another user's list page. - Soft-deleted list entries and inactive/deleted/banned users are not exposed publicly. - The UI works for guests and authenticated users viewing someone else's list. - The UI remains usable on mobile and desktop, including keyboard access for expanding/collapsing notes. - The list page follows existing site styling and supports light/dark mode. ## Test Coverage Required - Feature tests for rendering a public user game list with entries that have notes. - Feature tests confirming viewers can see another user's notes in the expected expandable/read-only region. - Regression tests confirming notes are escaped safely and do not render unsafe HTML. - Feature tests confirming entries without notes do not expose empty note expanders. - Authorization or feature tests confirming non-owners do not see owner-only edit controls for another user's list entries. - Regression tests confirming the list owner can still reach the edit flow for their own list entries. - Feature tests confirming soft-deleted list entries and inactive/deleted/banned users are not publicly exposed. - Responsive/accessibility-oriented assertions where practical for the expand/collapse control markup. - Tests should use Pest and focused feature coverage. - Run the focused affected tests, then run `vendor/bin/pint --dirty --format agent` before closing the issue. ## Progress Checklist - [x] `game_lists.notes` exists in the schema - [x] `GameList` allows `notes` as a fillable field - [x] `GameListController` persists notes on create/update - [x] Profile/header navigation links users to `/list/{username}` - [ ] Ensure public list routes/controllers are wired for `/list/{username}` and the signed-in owner's `/list` view - [ ] Build or update the public user game list view - [ ] Include notes in the list query without exposing soft-deleted entries - [ ] Add an expandable/read-only notes panel for rows with notes - [ ] Hide note expanders for rows without notes - [ ] Preserve owner-only edit controls and hide them from other viewers - [ ] Safely escape or sanitize displayed notes - [ ] Add tests for note visibility, read-only behavior, empty notes, unsafe note content, owner controls, and inactive/deleted records - [ ] Confirm the final behavior restores the community-requested ability to read what other users wrote about games on their lists
Author
Owner

Originally posted by @morganwestfield

I was waiting to see if someone would bring this up. I'm definitely interested to see if there's any further interest from the community in this.

**Originally posted by @morganwestfield** I was waiting to see if someone would bring this up. I'm definitely interested to see if there's any further interest from the community in this.
Author
Owner

Originally posted by hidangetsu

In my opinion this was one of the fundamental aspects of this site, to see what someone think about game which I am interesting in and exchange this opinions with another users. Without that I cannot see what someone think about specific game.

**Originally posted by hidangetsu** In my opinion this was one of the fundamental aspects of this site, to see what someone think about game which I am interesting in and exchange this opinions with another users. Without that I cannot see what someone think about specific game.
Author
Owner

Originally posted by Aramandur

Exactly, I joined this site because of features like this and for me this one is particularly important.

**Originally posted by Aramandur** Exactly, I joined this site because of features like this and for me this one is particularly important.
Author
Owner

DataTables has something where you can create expanding table rows so I would like to utilize that and have the notes show up when a row is expanded.

DataTables has something where you can create expanding table rows so I would like to utilize that and have the notes show up when a row is expanded.
Sign in to join this conversation.
No milestone
No assignees
1 participant
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#25
No description provided.