8go / 8go/matrix-commander

Feature Request: Support for spaces

Aperta
#166 0 commenti 4 reazioni 0 assegnatari Vedi su GitHub
enhancement help wanted
Lingua principale
Python
Stelle
754
Fork
69
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Matrix has this thing called [Spaces][] which one needs to join in order to access some channels. Yet it appears this tool does not seem to know about them:

```sh
% matrix-commander --version

_| _| _|_|_| _| matrix-commander: 7.6.0 2023-10-16
_|_| _|_| _| _| a Matrix CLI client
_| _| _| _| _| enjoy and submit PRs
_| _| _| _| matrix-nio: 0.19.0
_| _| _|_|_| _| Python: 3.9.2

% matrix-commander --help | grep -i space ; echo $?
1
```

[Searching](https://github.com/8go/matrix-commander/issues?q=is%3Aissue+spaces) for **spaces** in the project's issues results in: _No results matched your search._

For me specifically, I'm unable to join any of the [Redox Chat][redox] rooms, to which I have been invited. When attempting to join a room, `matrix-commander --room-join '#redox-general:matrix.org'` fails with:

> ✀ERROR: matrix-commander: E129: join failed with JoinError: M_UNKNOWN Answer from matrix.org: [403 / M_FORBIDDEN] You do not belong to any of the required rooms/spaces to join this room.
> ✀INFO: matrix-commander: 1 error and 0 warnings occurred.

Admittedly there might be some other factor being the actual culprit.

If my [understanding][req] is correct, nio is what actually talks the protocol for matrix-commander and it is [documented][nio] to mention space among it's features. Whatever that actually means.

I realize this is a very high level issue, from a mostly confused user, and am unsure of exactly where it could lead or how to make it actionable. It's an invitation for initiated or educating conversation about the entire topic, and it should at least become search result for other users encountering similar problems.

What spaces-related features would be desired and reasonable to add new commands for? Which existing commands should ideally take new optional arguments in order to gain full spaces support?

[req]: https://github.com/8go/matrix-commander/blob/1ce5996/requirements.txt#L8
[nio]: https://matrix-nio.readthedocs.io/en/latest/
[redox]: https://doc.redox-os.org/book/ch13-01-chat.html
[Spaces]: https://matrix.org/blog/2021/05/17/the-matrix-space-beta/

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

The issue mentions matrix-nio library supports spaces. Look at the matrix-commander codebase for room join logic, likely in the main command-line interface file. Examine how matrix-nio's space-related APIs (like joining spaces or checking membership) are called. Test by trying to join a space before a room. Check existing error handling for M_FORBIDDEN. 'Done' means matrix-commander can join rooms that require space membership.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
cli
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.