To avoid hacky solutions when extending the core room functionality (e.g. custom sendChat() implementations), we should offer a mechanism to systematically and safely extend the core room functionality.
how to avoid and / or handle clashes between plugins? Let plugins declare "exports" and automatically detect incompatible plugins based on that?
expose export information via an API? (Like defining plugin etc.)
allow chains of functions, where later functions are passed references to the previous member of the chain?
To avoid hacky solutions when extending the core room functionality (e.g. custom
sendChat()
implementations), we should offer a mechanism to systematically and safely extend the core room functionality.