Skip to content

feat: webhook dispatch, disputes pages, security danger zone, and public verify page - #1216

Merged
mftee merged 1 commit into
CodeGirlsInc:mainfrom
Nimatstar:feat/issues-927-930-931-943
Aug 25, 2026
Merged

feat: webhook dispatch, disputes pages, security danger zone, and public verify page#1216
mftee merged 1 commit into
CodeGirlsInc:mainfrom
Nimatstar:feat/issues-927-930-931-943

Conversation

@Nimatstar

Copy link
Copy Markdown
Contributor

Summary

Closes #943
Closes #931
Closes #930
Closes #927

@vercel

vercel Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

@Nimatstar is attempting to deploy a commit to the Mftee's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Aug 25, 2026

Copy link
Copy Markdown

@Nimatstar Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@mftee mftee left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed. Solid work overall:

  • contract/src/webhook.rs (CT-38): fire-and-forget dispatch via tokio::spawn, correct hand-rolled HMAC-SHA256 signing, wired into submit/verify/revoke/transfer, with real unit + mock-server tests.
  • Disputes list/detail pages and the public /verify/[hash] page: proper loading/error/empty states, client-side hash validation before hitting the API, dev-mode mock-data fallback clearly surfaced to the user via the status message.

One thing that needs a fast follow-up before this reaches real users: the new 'Danger Zone' → 'Delete account' flow on the security settings page shows a real, scary confirmation ('This action cannot be undone... permanently deleted') but handleDelete is currently a stub — it just waits 800ms and redirects to /login without calling any delete endpoint (there's a // Replace with: await api.delete('/users/me') TODO in the code). Right now a user who clicks through that confirmation is told their account was deleted when it wasn't. Not blocking this merge since it's clearly WIP, but this should not ship to production behind that confirmation copy until the real call is wired in.

Approving.

@mftee
mftee merged commit e65b104 into CodeGirlsInc:main Aug 25, 2026
1 of 6 checks passed
mftee added a commit to walexjnr/SMALDA that referenced this pull request Aug 25, 2026
Resolve conflicts in contract/src/lib.rs between the webhook dispatch
(PR CodeGirlsInc#1216) and the audit-event log (PR CodeGirlsInc#1217): both are additive and
independent, so both calls run at each of the four write sites
(transfer, verify, submit, revoke).
mftee added a commit that referenced this pull request Aug 25, 2026
Merging per repo maintainer review. Resolved a real conflict in contract/src/lib.rs against PR #1216 (webhook dispatch): both the audit-event write and the webhook dispatch are additive, so both now run at each of the four write sites (transfer/verify/submit/revoke). Pre-existing CI failures predate this PR.
mftee added a commit to oladev2026-tech/SMALDA that referenced this pull request Aug 25, 2026
Resolve conflicts in contract/src/lib.rs and contract/src/main.rs
between the rate limiter (PR CodeGirlsInc#1218) and the webhook fields (PR CodeGirlsInc#1216):
both are additive AppState fields, so both are kept.

Also fixes a compile break in the test suite left by PR CodeGirlsInc#1216: two
pre-existing AppState test fixtures (contract/src/health.rs,
contract/src/tests/integration.rs) were never updated for the
webhook_urls/webhook_secret fields it added, so 'cargo test' has not
compiled since that PR merged. Backfilled those fixtures plus this
PR's own new fixtures (rate_limit.rs, revoke.rs) with the new fields,
using permissive rate-limiter values so existing tests are unaffected.
mftee added a commit that referenced this pull request Aug 25, 2026
…-942

Merging per repo maintainer review. Resolved a real conflict in contract/src/lib.rs and contract/src/main.rs against PR #1216 (webhook fields): both the rate limiter and webhook fields are additive AppState fields, so both are kept. Also backfilled two pre-existing test fixtures (health.rs, tests/integration.rs) that PR #1216 left broken by not updating them for the new webhook_urls/webhook_secret fields — cargo test has not compiled since #1216 merged; this restores that. Pre-existing CI failures otherwise predate these PRs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants