Skip to content

Conversation

hughescoin
Copy link
Contributor

What changed? Why?

Notes to reviewers

How has it been tested?

@cb-heimdall
Copy link
Collaborator

cb-heimdall commented Oct 2, 2025

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

<Step title="Add the Webhook URL to your manifest">
Add the Webhook URL to your manifest file

```json app/.well-known/farcaster.json highlight={16}
Copy link
Collaborator

Choose a reason for hiding this comment

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

Nice! Didn't know you could do this (cc @soheimam @youssefea for awareness, this is a great way to call out specific sections of our code blocks)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yes! really helps to steer the viewer

// Parse and verify the webhook event
let data;
try {
data = await parseWebhookEvent(requestJson, verifyAppKeyWithNeynar);
Copy link
Collaborator

Choose a reason for hiding this comment

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

we have "verifyAppKeyWithNeynar" in this codeblock... Thats going to be confusing for folks who don't know about neynar. might be okay for the short term, just calling it out. In the remainder of the codeblock we have a bunch of functions which aren't defined anywhere else which is OK since the codeblock is intended to give them a sense of what to do opposed to exactly what they're supposed to do

but want to flag

Copy link
Contributor Author

Choose a reason for hiding this comment

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

turned it into a filler function. we can have a "Validating webhook events" guide in the future

Save the `token` and `url` from the webhook event to a database for later use
</Step>
<Step title="Send notifications">
Send notifications by sending a `POST` request to the `url` associated with the user's `token`
Copy link
Collaborator

Choose a reason for hiding this comment

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

maybe insted of "...the url associated with the user's token" say explicitly:

"...the url sent with the token in the miniapp_added_payload.json object sent when the user added your mini app"

Copy link
Contributor Author

Choose a reason for hiding this comment

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

IMO, I don't think that's much clearer. I can add an example event payload in step 4 then reference step 4 in this step.

Send notifications by sending a `POST` request to the `url` associated with the user's `token`

```ts sendNotification.ts highlight={15-28}
export async function sendFrameNotification({
Copy link
Collaborator

Choose a reason for hiding this comment

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

is it still called "sendFrameNotification" and not "sendMiniAppNotification"? I dont know so just checking if this is out of date

Copy link
Contributor Author

Choose a reason for hiding this comment

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

we can define it how we want this isn't a function exported from any particular package.


## Schema

#### Send Notification Request Schema
Copy link
Collaborator

Choose a reason for hiding this comment

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

could we convert these tables into the description. constraint. structure that we've used in the manifest and context pages?

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.

4 participants