ssh-chat
ssh-chat copied to clipboard
[WIP] Refactoring towards v2.0
Status: Don't use this branch. It's highly experimental and likely broken and might not get merged.
The goal is to clean up and reduce the API surface so that we can introduce many-to-one connections-to-members and persistence without changing too many things across too many layers.
Some notes for myself so I don't forget everything and have to re-figure-everything-out from scratch again next time:
- Multiplexing connections in the client struct is not the way to go: The room skips sending messages to itself, so the clients are not kept in-sync that way. It would be better to keep separate clients but perhaps share a UserConfig.
- .. Or maybe it's fine if we do it at the terminal layer.
should i be using this branch for dev? no concrete plans but starting to use ssh-chat more and might wanna hack on it
@rileytg Hi! Good question. I would suggest working on master. It's not certain that the v2 refactor will get merged anytime soon—I'm experimenting with some big changes which might not pan out.
If you're looking for things to hack on, I suggest checking the Tiny tag which should be just a few lines of changes and a great place to start. For bigger work, Help Wanted is a good one.
How’s this going?
@zenware lol
On a serious note, this branch was a lesson that large refactors are a bad idea as they get increasingly hard to merge and risk of burnout continues to increase with the divergence.
If I ever attempt this again, it will be lots of little breaking changes instead of one giant breaking change.
Someone should write another "semver considered harmful" post.