Allow for an extension system which allows users to write custom extensions for the website.
Such as player extensions which add overlays to provide additional abilities, such as a voting system or sound board or whatever (similar to minecraft mods).
Or themes, where users can use theme packs (like mincraft resource packs) which can reskin the scuffle website.
For the extensions we would have some sort of Javascript SDK and then sandbox their script in a IFrame with some restrictive CSP enabled. The SDK would use the IFrame messaging protocol to communicate with the scuffle website and invoke commands / other shit to hook onto events that happen. (like getting the current player time etc).
For themes we would store them on the backend and they will be served via GQL when the user first loads the page.
We would also need to make some extension store or some visibility thing like a marketplace where users can pickout themes / submit new themes / tools or other features.
I think also all Javascript extensions that are added to channels will be opt-in. Meaning if you go to a page you can click the settings cog and authorize a extension to run and see what information the script gets about you. Also authors would be required to have the github source code opensouce and on a permissive compatible license.
Is your feature related to a bug
No response
Additional Info
This feature is not targeted for any release its more so a general idea/brainstorm we can think about and discuess.
Participation
[ ] I am willing to submit a pull request to implement this
Tell us about your Wish
Allow for an extension system which allows users to write custom extensions for the website.
Such as player extensions which add overlays to provide additional abilities, such as a voting system or sound board or whatever (similar to minecraft mods). Or themes, where users can use theme packs (like mincraft resource packs) which can reskin the scuffle website.
For the extensions we would have some sort of Javascript SDK and then sandbox their script in a IFrame with some restrictive CSP enabled. The SDK would use the IFrame messaging protocol to communicate with the scuffle website and invoke commands / other shit to hook onto events that happen. (like getting the current player time etc).
For themes we would store them on the backend and they will be served via GQL when the user first loads the page.
We would also need to make some extension store or some visibility thing like a marketplace where users can pickout themes / submit new themes / tools or other features.
I think also all Javascript extensions that are added to channels will be opt-in. Meaning if you go to a page you can click the settings cog and authorize a extension to run and see what information the script gets about you. Also authors would be required to have the github source code opensouce and on a permissive compatible license.
Is your feature related to a bug
No response
Additional Info
This feature is not targeted for any release its more so a general idea/brainstorm we can think about and discuess.
Participation