This repository was archived by the owner on Aug 22, 2025. It is now read-only.
Implement the webhook-ui app #2
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #1
Background
Thus far the webhooks subscriptions were added and removed manually by the team. This interface will allow users to manage their subscriptions themselves 🎉
Repo built on the foundation of
sx-ui, that's why it looks nice ❤️Related PRs
Assumptions
Infrastructure & Handoff (changes)
For better readability and review, I sketched the infrastructure:
And also prepared a hand off which is basically a todo list per scope, might help with review the PR 🙏
Handoff
As a user I can login and see my subscriptions
Connect buttonif user is not connecteduseWeb3to connectGETendpoint for/subscriptions/:ownergetOwnersSubscriptionsfunction to fetch all subs whereowner = owner AND active = 1As a user I can add a subscription or subscribe to all
Add a subscriptionSubscriptionModalwith form:spaceandurlspacelist should have an option to select all / add a checkbox to select all which will disable list of spacesAll spacesto the spaces list - which will create sub for all spaceshandleSubmitshould trigger a signature viauseClientcomposableclient.tsandclientEIP712.tshelpers to use*snapshot.js*clientswebhookin theclientWebhook:Webhooksend an API call to ***************snapshot-webhookinstead of hub/subscriptionssendEventToWebhookSubscribersspaceparam is a*send events from all spacesspaceparam is anid- send events from that space onlyAs a user I can remove a subscription
RemoveSubscriptionModalwith confirmation and form incl subscription idhandleSubmitshould trigger a signature viauseClientcomposableremoveWebhookin theclientRemoveWebhook:RemoveWebhooksend an API call to ***************snapshot-webhookinstead of hub/subscriptions/:idset active = 0 where id = :idScreenshots & recordings
Welcome view
Subscriptions view
User flow
Remaining TODOS