We currently use an external google form for people to report issues. Before doing a broader release of Realms, we should consider enabling users to call mod attention to a specific thread, contribution or comment directly from the UI.
Proposed solution
The ideal way of doing this would be for the flow to exist 100% inside of BobaBoard. But given that we don't really have a "personal notifications" system and won't have it for a while, I'd propose tying this functionality to a webhook, which can then be used to trigger notifications/actions on any system that supports them (including Discord or any Pipedream script).
Flow
User opens the contextual dropdown for a thread/contribution/or comment
User clicks on the "signal to mod" option
An explanatory popup is opened, asking the user for more details on the issue
When the user confirms the input, a request is sent to a server endpoint (TBD)
The server endpoint checks whether a webhook is associated with the (current realm? action?), sends the request, and communicates back to the user whether the webhook triggering was successful
Deliberations needed
[ ] Decide how specific the API endpoint should be. Is it specific to reporting threads/comments/posts, a generic way to contact mods, or an even more generic trigger for webhook actions? (note: this will influence most other decisions)
[ ] We already have a webhooks SQL table, which supports rest and discord as triggers. Do we support both types of webhooks for this feature?
[ ] Currently webhooks are always associated with subscriptions. What do we associate this webhook with? Is it a generic "contact-a-mod webhook" setting for the realm?
[ ] What happens if no webhook is set for this feature? Does the option disappear?
Other notes
We should have all the components needed for this feature, but we have not assembled this type of non-post input on the frontend before. In an ideal world, we'd just reuse the regular editor and restrict the inputs to the ones that we're able to translate to a discord format. Until the new editor lands though, we can simply use a textarea input and only allow unformatted text.
We should CC ms boba on reports sent to mods so that she can take actions for items they may not have access to. This will also allow her to see how these features are used outside of her spaces so she can have information which will help her shape future features.
We will also need to alert people to the fact ms boba will be copied on the report.
Issue breakdown
[x] Do the deliberations above and write a design document on how to implement the feature
[ ] Potentially create new SQL queries and tables as needed [boba-backend]
[ ] Create a new server endpoint to ping the webhook [boba-backend]
[ ] Add option to the user bar to send a message to a mod [boba-frontend]
[ ] Add modal to allow user to write a message to the mod [boba-frontend]
Stretch goals
[ ] Add option to comments to call mod attention to a specific comment [boba-backend\boba-frontend]
[ ] Add option to comments to call mod attention to a specific post [boba-backend\boba-frontend]
[ ] Add option to comments to call mod attention to a specific thread [boba-backend\boba-frontend]
Problem description
We currently use an external google form for people to report issues. Before doing a broader release of Realms, we should consider enabling users to call mod attention to a specific thread, contribution or comment directly from the UI.
Proposed solution
The ideal way of doing this would be for the flow to exist 100% inside of BobaBoard. But given that we don't really have a "personal notifications" system and won't have it for a while, I'd propose tying this functionality to a webhook, which can then be used to trigger notifications/actions on any system that supports them (including Discord or any Pipedream script).
Flow
Deliberations needed
webhooks
SQL table, which supportsrest
anddiscord
as triggers. Do we support both types of webhooks for this feature?webhooks
are always associated with subscriptions. What do we associate thiswebhook
with? Is it a generic "contact-a-mod webhook" setting for the realm?Other notes
We should have all the components needed for this feature, but we have not assembled this type of non-post input on the frontend before. In an ideal world, we'd just reuse the regular editor and restrict the inputs to the ones that we're able to translate to a discord format. Until the new editor lands though, we can simply use a
textarea
input and only allow unformatted text.We should CC ms boba on reports sent to mods so that she can take actions for items they may not have access to. This will also allow her to see how these features are used outside of her spaces so she can have information which will help her shape future features.
We will also need to alert people to the fact ms boba will be copied on the report.
Issue breakdown
boba-backend
]boba-backend
]boba-frontend
]boba-frontend
]Stretch goals
boba-backend
\boba-frontend
]boba-backend
\boba-frontend
]boba-backend
\boba-frontend
]