Restore user profile status editing and display #36
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
javascript
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MyVideoGameList/myvideogamelist.com#36
Loading…
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?
Users should be able to set and update a short profile status, and that status should be shown prominently on their public profile.
The current Laravel checkout already has a nullable `users.status` column and the `User` model allows it to be filled, but the Livewire profile settings page only updates username and email. Public profile pages render the user header, stats, bio, consoles, social links, and comments, but do not display the stored status. This issue tracks restoring the missing status-editing workflow, making the status visible enough to be meaningful on profiles, and enabling the existing First Status achievement badge.
Scope
Acceptance Criteria
Test Coverage Required
Progress Checklist
Add Back Functionality to Allow Users to Set and Update Their Statusto Restore user profile status editing and displayRe-reviewed the implementation against the issue description, every acceptance criterion, required test coverage, and the progress checklist. All eight remaining checklist items are supported by code, tests, and development verification; no outstanding implementation gaps were found.
users.statusfield. Both enforce the agreed 36-character limit, normalize blank input to null, and preserve username/email behavior.textContentafter AJAX saves. Empty statuses hide the text and comment icon. Guests and other users cannot edit a status, and banned/deleted/soft-deleted profiles remain unavailable.Final verification: 125 focused Pest tests / 945 assertions; 19 browser tests across light/dark and mobile/desktop; Pint, PHPStan, frontend build, and diff checks all passed. All 19 changed runtime files match the development deployment; the dev database has the First Status migration applied and badge enabled. The owner modal was also confirmed manually by jimmyb.
Implementation and checklist are complete. The issue remains open with status/in progress; changes are still uncommitted on codex/issue-36-profile-status. No PR or production deployment has been performed.
Merged in PR #967: #967. All acceptance criteria and required test coverage were re-reviewed; all progress checklist items are complete.
Status editing supports set/update/clear with a shared 36-character limit from account settings and the owner-only profile modal. Edit Status is the primary action on your own profile; View List moves into its dropdown. AJAX saves update escaped text in place, and empty statuses hide the comment icon. Existing username/email behavior and public-account visibility rules are preserved.
The forward migration
2026_10_14_120000_enable_first_status_badgeenables the existing First Status badge. Saves use the existing idempotent evaluator and award feedback. Repeated saves and clears retain a single award. Current-status backfill is available throughmvgl:recalculate-badges(optionally--user=<id>); it does not infer awards for previously cleared statuses or invent historical earned dates. Rollback disables the badge while retaining earned awards.Verification passed: 125 focused Pest tests / 945 assertions, 19 browser tests, Pint, PHPStan, frontend build, and diff checks. The dev preview was checked against deployed file hashes and the modal was confirmed by jimmyb. Font Awesome kit 1.0.46 includes the new status icon.
The merged release will now be deployed to dev first, then production, with backups, the scoped badge migration, release manifests, and served-asset verification. No bulk badge backfill is included in deployment.
Deployment completed after merge to exact master revision
ce7907a448d84f13b33aa84cc714e78119d86d7d.2026_10_14_120000_enable_first_status_badgesucceeded; it was already applied on dev. First Status is enabled on both. No unrelated migration or bulk badge backfill ran./home/mvgldev/issue-36-merged-release/and/home/mvgl/issue-36-merged-release/.Issue closeout is complete: all checklist items checked, status/done applied, issue closed, PR #967 merged, and both environments deployed.