polyphony-chat / symfonia

A Polyphony chat server, compatible with Spacebar and the Discord API.
Mozilla Public License 2.0
25 stars 3 forks source link

Feature communication and interoperability #20

Closed bitfl0wer closed 3 months ago

bitfl0wer commented 1 year ago

I think it would be pretty cool if there was a way for different polyphony forks to interop. Say, for example there are two forks of Symfonia named Symfonia A and Symfonia B, which both implement their own features not already present in the "base-set" of features dictated by the Spacebar protocol.

If a user connects to Symfonia B while having their account on a Symfonia A instance (assume that federation exists), it would be cool if that user could access the additional features which Symfonia B offers, even though they created their account on Symfonia A.

Say, symfonia B has an additional "Birthday" attribute, which is publicly visible on your profile. Maybe Symfonia B could relay information on how this additional attribute looks like through some sort of standardized API, so that the users' client can know how to deal with this information?

This idea is just a rough mind-sketch, but hopefully a cool one :) I'd love to hear your thoughts @Zert3x

SpecificProtagonist commented 1 year ago

Listing supported features should be enough. If a client/server supports a feature, it already knows how the attributes/routes/… look and behave, and if it doesn't it can''t really do anything with them even if it gets told how they look.