Skip to content

post-submission: XMTP coordination groundwork#1

Open
dlkakbs wants to merge 1 commit intomainfrom
post-submission/xmtp-coordination
Open

post-submission: XMTP coordination groundwork#1
dlkakbs wants to merge 1 commit intomainfrom
post-submission/xmtp-coordination

Conversation

@dlkakbs
Copy link
Copy Markdown
Owner

@dlkakbs dlkakbs commented Apr 4, 2026

Summary

  • extract transport-agnostic runtime from the Telegram-bound bot flow
  • add XMTP coordination scaffolding, bootstrap routes, and persisted local room state
  • add private dashboard and invite/join request surfaces for post-submission exploration

Notes

  • this is intentionally post-submission work and is not meant to change the original hackathon submission on main

@vercel
Copy link
Copy Markdown

vercel bot commented Apr 4, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
lexon Error Error Apr 4, 2026 4:59pm

@dlkakbs dlkakbs marked this pull request as ready for review April 6, 2026 00:16
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 16b6182a85

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +10 to +13
if (body.action === "approve" || body.action === "reject") {
if (!body?.requestId) {
return NextResponse.json({ ok: false, error: "requestId is required" }, { status: 400 });
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Require auth before processing join-request decisions

This handler performs privileged approve/reject actions without verifying the caller, so any unauthenticated client that knows a requestId can change request status and, on approve, trigger addXmtpGroupMember. Because this endpoint is publicly reachable as a Next.js route, it bypasses the owner-only controls used elsewhere (LEXON_OWNER_IDS) and allows unauthorized admission decisions for the coordination group.

Useful? React with 👍 / 👎.

Comment on lines +15 to +18
const updated = updateJoinRequestStatus(
body.requestId,
body.action === "approve" ? "approved" : "rejected"
);
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Update join status only after XMTP add succeeds

The request is marked approved before addXmtpGroupMember is attempted, so if XMTP membership fails (invalid address, missing group, transient SDK error) the API returns 500 but leaves persisted state as approved. That creates inconsistent state and makes retries harder because the item is no longer pending in the dashboard flow.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant