Self-Hosted Plugin System

(#1224) Feature Under consideration plugins self-hosting

Problem

I would personally like a way to have a (for the user) readonly connection which can be added via an integration. This would be used to show that they are a verified user of a website I also host. I doubt something like this would be merged into main (a custom connection, readonly, that end users are unable to remove), so I was thinking how it could be implemented without touching much of Fluxer's code at all.

Proposal

A way for people to develop plugins for the various packages (app, api, admin etc) installed from the admin panel on a plugin page, which would allow for custom behaviour, without affecting Fluxer code directly, so people can pick and choose features to implement into their self-hosted instance. This could be custom connections on profiles, additional fields, channel types, system behaviour, it would be quite expandable especially for things which aren't likely to be implemented into the main repository A plugin system would also mean that updating Fluxer would be simpler due to not needing to manage merge conflicts if people code features in themselves

5 comments

Sign in with Fluxer to comment and vote.
Comment by @kokomo123
RexSystem 1 vote originally by @kokomo123 on GitHub
I think this would be beneficial, such as OP made a custom badges system w/ url and image support, perhaps even multiple badges even to do so. this would be cool to give personal communities like cool, custom badges that don't already exist baked into Fluxer. I would also be interested if there was additional connections as previously mentioned, or just a lot of stuff that I haven't even realized that could be possible with fluxer yet. Excited for the possibility of this feature coming into fruition at some point 👍🏻 💯
Comment by @vesaber
RexSystem 1 vote originally by @vesaber on GitHub
I'd love to have this so I can make a mautrix similar plugin but for fluxer. We all wanna quit discord someday dont we /jk
Comment by @snappyapple632
RexSystem 1 vote originally by @snappyapple632 on GitHub 1 reply
I always thought about customizing the registration page of my imaginary instance with gentle background music and a rainy vaporwave background... I imagine this plugin system would help achieve this?
Comment by @vesaber
RexSystem 1 vote originally by @vesaber on GitHub
I believe something like this is already in the works. I'm not sure if a plugin system is one to cover that though..
Comment by @rogue-agent
RexSystem 1 vote originally by @rogue-agent on GitHub
Combine this with a plugin repository system so that plugins can be distributed equally with per user request updates like on Vencord.