feat: Admin manual credit UX improvements (#240) - #261
Conversation
- Add comment template to manual credit API response - Add scan_url, ledger_sequence, proof_hash to response - Show credit result card with details after manual credit - Add copy comment button for maintainers - Add tests for renderManualCreditComment and response fields
|
Findings Bounty Readiness
Tests/Evidence Needed
Suggested Labels MergeOS automated readiness signals:
|
|
@guilhermevanessamarques-svg Gate 1 (badges) blocked on
Required community actionsFollow the orgStar both core reposDone:
Policy: bounty Gate 1 requires all of:
Starring only Order: badges → security → tests → merge. Please complete the checklist above, attach evidence if needed, then comment when ready. |
4 similar comments
|
@guilhermevanessamarques-svg Gate 1 (badges) blocked on
Required community actionsFollow the orgStar both core reposDone:
Policy: bounty Gate 1 requires all of:
Starring only Order: badges → security → tests → merge. Please complete the checklist above, attach evidence if needed, then comment when ready. |
|
@guilhermevanessamarques-svg Gate 1 (badges) blocked on
Required community actionsFollow the orgStar both core reposDone:
Policy: bounty Gate 1 requires all of:
Starring only Order: badges → security → tests → merge. Please complete the checklist above, attach evidence if needed, then comment when ready. |
|
@guilhermevanessamarques-svg Gate 1 (badges) blocked on
Required community actionsFollow the orgStar both core reposDone:
Policy: bounty Gate 1 requires all of:
Starring only Order: badges → security → tests → merge. Please complete the checklist above, attach evidence if needed, then comment when ready. |
|
@guilhermevanessamarques-svg Gate 1 (badges) blocked on
Required community actionsFollow the orgStar both core reposDone:
Policy: bounty Gate 1 requires all of:
Starring only Order: badges → security → tests → merge. Please complete the checklist above, attach evidence if needed, then comment when ready. |
|
@guilhermevanessamarques-svg Gate 1 (badges) blocked on
Required community actionsFollow the orgStar both core reposDone:
Policy: bounty Gate 1 requires all of:
Starring only Order: badges → security → tests → merge. Please complete the checklist above, attach evidence if needed, then comment when ready. |
|
@guilhermevanessamarques-svg Gate 1 (badges) blocked on
Required community actionsFollow the orgStar both core reposDone:
Policy: bounty Gate 1 requires all of:
Starring only Order: badges → security → tests → merge. Please complete the checklist above, attach evidence if needed, then comment when ready. |
|
@guilhermevanessamarques-svg Gate 1 (badges) blocked on
Required community actionsFollow the orgStar both core reposDone:
Policy: bounty Gate 1 requires all of:
Starring only Order: badges → security → tests → merge. Please complete the checklist above, attach evidence if needed, then comment when ready. |
|
@guilhermevanessamarques-svg Gate 1 (badges) blocked on
Required community actionsFollow the orgStar both core reposDone:
Policy: bounty Gate 1 requires all of:
Starring only Order: badges → security → tests → merge. Please complete the checklist above, attach evidence if needed, then comment when ready. |
|
@guilhermevanessamarques-svg Gate 1 (badges) blocked on
Required community actionsFollow the orgStar both core reposDone:
Policy: bounty Gate 1 requires all of:
Starring only Order: badges → security → tests → merge. Please complete the checklist above, attach evidence if needed, then comment when ready. |
|
@guilhermevanessamarques-svg Gate 1 (badges) blocked on
Required community actionsFollow the orgStar both core reposDone:
Policy: bounty Gate 1 requires all of:
Starring only Order: badges → security → tests → merge. Please complete the checklist above, attach evidence if needed, then comment when ready. |
|
@guilhermevanessamarques-svg Gate 1 (badges) blocked on
Required community actionsFollow the orgStar both core reposDone:
Policy: bounty Gate 1 requires all of:
Starring only Order: badges → security → tests → merge. Please complete the checklist above, attach evidence if needed, then comment when ready. |
1 similar comment
|
@guilhermevanessamarques-svg Gate 1 (badges) blocked on
Required community actionsFollow the orgStar both core reposDone:
Policy: bounty Gate 1 requires all of:
Starring only Order: badges → security → tests → merge. Please complete the checklist above, attach evidence if needed, then comment when ready. |
Verification Report — PR #261Verifier: @zhangzhen9434 (independent QA, issue #64) Code review (verdict: 🟡 MOSTLY COMPLETE, missing UX evidence)
Diff: 6 files, +215/-11 — backend ( Quality notes
Risk surface
Overall verdict🟡 READY TO MERGE — recommend admin review for UX screenshot evidence and template format sign-off. Code is correct and acceptance criteria are met. The two open concerns are:
The 100 MRG reward is appropriate for this scope. Evidence captured
Verified by @zhangzhen9434 · MRG accounting per mergeos issue #64 (300 MRG / verification) |
|
/attempt 240 |
|
@maintainer This PR is merge-ready: CI clean, no changes requested. |
Verification Report — PR #261Verifier: @laurentketterle-hub (independent QA, issue #64) CI Status
Manual Test SummaryCode review:
Quality assessment:
Evidence
Recommendation✅ APPROVE — Clean, focused implementation. Tests cover the new fields. No blocking issues. |
|
/claim 0x153b65CCA4B2d69a9feD7be6E9C19c10736e8517 |
|
@NSPG13 This PR is mergeable:clean with CI passing. Ready for MERGE + SETTLE. Wallet: 0x153b65CCA4B2d69a9feD7be6E9C19c10736e8517 |
QA Verification Report — PR #261 (issue #240)Target
Commands run and resultsBackend (Go 1.22.12, GOPROXY goproxy.cn):
Frontend admin (Node v24.16.0): GitHub Actions at time of reviewAll checks completed/success on head 2e99d87:
Manual test summary
Evidence statusProvided and complete:
Final recommendationAPPROVE — ready for maintainer review / merge. Code is scoped, tested, and satisfies all acceptance criteria of #240. Minor note (non-blocking): PR body lists "Wallet/token receiver: guilhermevanessamarques-svg" (a GitHub handle rather than an address) — maintainers should confirm payout identity at credit time, consistent with the ledger's github: identity convention. |
Summary
This PR improves the admin manual credit UX by:
comment_template,scan_url,ledger_sequence, andproof_hashto the AdminManualCreditResponse API responseChanges
Backend (admin_ledger.go)
renderManualCreditComment()function that formats a standard credit comment matching the maintainer formatcreateAdminLedgerCreditto return the new fieldsBackend (models.go)
AdminManualCreditResponsewith:ScanURL,LedgerSequence,ProofHash,CommentTemplateFrontend (App.vue)
manualCreditResultandcommentCopiedreactive refscopyCreditComment()functionFrontend (styles.css)
Tests (admin_github_test.go)
TestRenderManualCreditCommentIncludesAllFields- verifies all comment fieldsTestRenderManualCreditCommentFallbackPRURL- verifies fallback when no PR URLTests (store_test.go)
TestAdminCanCreateManualLedgerCreditto verifyScanURL,LedgerSequence,ProofHash, andCommentTemplateAcceptance Criteria
Claim