Compatible fork with python (ai-generated): matrix-commander-ng
- Lingua principale
- Rust
- Stelle
- 236
- Fork
- 25
- Merge medio
- 4h 30m
- PR unite (30g)
- 2
Descrizione
Hi all,
I noticed that matrix-commander-rs hasn't had commits in the past nine months. I've been a heavy user of matrix-commander (Python) for about three years, running it non-stop, and it's been incredibly reliable.
When I looked at the Rust version, in practice matrix-commander-rs worked quite differently from the Python version. The output format, JSON structure, and some CLI behaviors didn't match, which made it hard to use as a drop-in replacement in scripts.
So I set up an automated test environment with a real Synapse homeserver and a Dex SSO identity provider. I tested how both the Python and Rust versions behaved, sent messages, created rooms, joined, invited, verified devices, tried SSO, and compared the outputs side by side. I also tested how they interacted sending messages to/from Element and Cinny clients, and connecting with the same account. Then I started re-implementing the missing functionality and equalizing the output to match the Python version.
[matrix-commander-ng](https://github.com/longregen/matrix-commander-ng) is a vibe-coded backed fork that intends to be fully compatible with the Python version. For the time being, this is just so that anyone that wants some feature saves some tokens trying to do the same.
This github page shows the output of the python and -ng versions: https://longregen.github.io/matrix-commander-ng/
Changes from matrix-commander-rs:
- Output changed to match Python matrix-commander (JSON format, field names, structure) so existing scripts work
- Updated all dependencies
- Implemented SSO login `--login sso` that the Python version supports
- Integration tests running with real Synapse + SSO provider hosted locally.
One big difference between -ng and python, is that we kept the omission of the "room" structure in message events that -rs has.
### Going forward
I intend to maintain matrix-commander-ng for the foreseeable future. It's runnable via:
```
nix run github:longregen/matrix-commander-ng -- --help
```
If you were using matrix-commander-rs with shell scripts, be aware that some CLI output has changed to match the Python version's format. The goal was parity with the Python matrix-commander, not backwards compatibility with matrix-commander-rs's divergent output.
I'm open to changing the name, I also would suggest maybe adopting the code changes in this (`matrix-commander-rs`) repo, but all the code looks hand-crafted and I wouldn't like to AI-slop it.
If you find this useful, have suggestions, or would like me to change something, let me know. Thank you @8go for creating matrix-commander
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Valutazione
Questa issue non è ancora stata valutata.