Imagine user A negotiates a length fo 1024 bytes with the server, user B negotiates a length of 2048 bytes.
User B sends a message via the server to user A.
What happens?
Imagine user A negotiates a length fo 1024 bytes with the server, user B negotiates a length of 2048 bytes.
User B sends a message via the server to user A.
What happens?
However reading their site more carefully I suppose their stated goal technically is to only provide extensions to the protocol.
So the situation you describe already happens, user A has 512 bytes to send to the server, but the server has 512-prefix_length bytes to send to B. This is a flaw in the original protocol and the currently accepted solution is to truncate server-side(what to do is not stated explicitly, though it is implied that you probably shouldn't wrap messages). But fixing it is probably out of scope.
(On Freenode and other networks with a similar service, your hostname can be changed by services, but the client is notified of this and can update its knowledge about the prefix).
And how would it be split?
Or should there be a mechanism for reassembling message frames?
Imagine you have a 513 byte tag in a message.