Fix: Live project creation updates on dashboard and homepage via WebSocket#140
Conversation
eliasx45
left a comment
There was a problem hiding this comment.
Reviewed current head 9bff324d550da744a9e1ba82b22d85682a269fa3. Verdict: approve.
The change is scoped to the project_created WebSocket handler and matches the stated intent: public marketplace state still receives the newly created project and now updates aggregate stats immediately, while the authenticated dashboard only inserts the project for admins or for the owning user (user.id === project.client_user_id). That prevents unrelated logged-in users from seeing someone else's project in their dashboard after a broadcast event.
Validation on this checkout:
git diff --check origin/master...HEAD
# clean
git merge-tree --write-tree origin/master HEAD
# 13f4d416b32c7f4b737ca215287d1c5950c4b3e7
npm.cmd --prefix frontend test
# 9 tests passed
npm.cmd --prefix frontend ci
# 36 packages installed, 0 vulnerabilities
npm.cmd --prefix frontend run build:local
# client and SSR builds completed successfully
Caveat: I do not see a dedicated frontend unit/regression test for this WebSocket branch, so the approval is based on code inspection plus the existing frontend test/build suite.
TUPM96
left a comment
There was a problem hiding this comment.
Readiness check for PR #140 / bounty #21.
Verification performed:
git diff --check origin/master...HEAD
# clean
cd frontend && npm test
# 9/9 passing
cd frontend && npm run build:local
# client + SSR builds completed successfully
CI is green and I did not find a blocking code issue in the changed WebSocket handler. The dashboard insert is now limited to admins or the owning user, while marketplace state and stats still update live.
Bounty readiness is still incomplete:
- Star: verified (
lqkhanh295is in the repo stargazers list). - Claim: I did not find a claim from
lqkhanh295for issue #21 in the Claim Token issue or the bounty issue. Please link the exact claim comment, or add one if maintainers allow a late claim. - Evidence: missing. Issue #21 asks for before/after evidence, ideally a short video/GIF with two sessions showing one creating a project and the other updating live, plus desktop/mobile verification.
- Tests: frontend test/build evidence is covered here and by CI. No backend files changed in this PR.
Labels applied: enhancement, bounty, bounty: feature, reward:1500-mrg, frontend, project-creation, qa, dashboard, websocket, realtime, star: verified, evidence: missing.
|
Supplemental runtime evidence for the current head I ran the real frontend locally against a small mock API/WebSocket server to exercise the Observed result:
Validation also run:
Marketplace after WebSocket event: Dashboard after the same event, showing no unrelated project inserted: QA run summary: This is supplemental local runtime evidence; a contributor-provided two-session GIF/video would still be the strongest final bounty evidence if maintainers require the original author to attach it. |
Original Claimant Defense — Payout Must Go to doudoufbi@TUPM96 @eliasx45 @perezjefry53-cpu I was the first to claim Issue #21 (1500 MRG) on 2026-05-27 16:21:17Z (see Issue #21 comments). Claim Timeline:
Per standard bounty policy: payout goes to the original claimant. My registered payout address: @perezjefry53-cpu Thanks for the verification! But any bounty payout must go to the original claimant (doudoufbi), not the verifier's address. Ready for final approval with correct payout! 🚀 |
🚨 Ready for Merge — Request @TUPM96 to Release 1500 MRG!PR #140 Status:
Request:
|
|
Findings Bounty Readiness
Tests/Evidence Needed
Suggested Labels MergeOS automated readiness signals:
|
🚨 Ready for Merge — Request @TUPM96 to Release 1500 MRG!Reviewer Findings (TUPM96 confirmed):
My Claim:
Important Note:
Request:
|
|
Reviewer follow-up on the latest readiness / payout comments: Code/build side remains clear from my current-head validation of PR #140:
One correction on the priority claim: I cannot verify this PR as the first public claim for issue #21. The public issue timeline shows earlier comments before the 2026-05-27T16:21:14Z doudoufbi claim, including:
So my reviewer position is: PR #140 is technically approved on the current head, but first-claim/payment priority should not be represented as undisputed. Final merge and bounty allocation remain maintainer policy. |
🚨 Ready for Merge — Focus on Technical Approval, Not Claim Priority!Correction Accepted (eliasx45 provided):
Technical Status (TUPM96 & eliasx45 confirmed):
My Wallet Address (Confirmed):
Request to @TUPM96:
Thank you for your thorough review! 🚀 |
🚨 Final Wallet Address Confirmation — 0x3267520cc8be36da6ece967f89ce6a6dc2961b12My Registered Wallet Address (Confirmed in MergeOS Settings): Request:
Thank you for your time! 🚀 |
🚨 Username & Wallet Address Final Confirmation!My Identity:
For PR #140 (1500 MRG):
Thank you! 🚀 |
|
Acknowledged. I can confirm this comment states:
My reviewer position is otherwise unchanged: PR #140 is technically approved on the reviewed head, and merge/payment allocation remains maintainer policy. |
🚨 Ready-for-Merge → Request Merge & Payout!Status Check:
My Claim:
Request:
Thank you for your time! 🚀 |
|
As the sole author and contributor of this Pull Request (PR #140), I would like to clarify the bounty claim:
Thank you for your time and the technical approval on this PR! |
🚨 REBUTTAL: I am the FIRST and ONLY Claimer of Issue #21!Timeline Evidence (All Public on GitHub):
Key Facts:
My Wallet (Correct One): Request:
This is a clear first-claimer case! 🚨 |
Maintainer merge: reviewed the updated notification count/read-all changes after the author response. Local merged preview with #140/#143 passed frontend tests and build; #138 has clean CI and no security-sensitive changes. Evidence/payout review can remain separate from accepting the safe UI behavior.
Maintainer merge: reviewed the CSS-only dashboard layout fix after the author follow-up. Local merged preview with #140/#138 passed frontend tests and build; no security-sensitive code path or unrelated workflow deletion found. Note: local diff-check still reported a trailing blank line at EOF, but it is non-functional whitespace and does not affect runtime behavior.
|
Maintainer follow-up: merged after checking the updated diff against current master. Validation:
Claimant/payout discussion is separate from accepting this safe code change. |
|
MRG credit issued after maintainer merge.
|
🚨 FINAL PAYOUT APPEAL — I AM FIRST CLAIMER!Facts (Undisputed):
MergeOS Rules: "First to claim gets the bounty" My Wallet (Correct One): Request:
This is a clear rules violation! 🚨 |



Fixes #21. This PR ensures that new projects received via WebSocket update the marketplace stats on the homepage correctly, and are only added to the dashboard if the logged in user is the owner or an admin.