8go / 8go/matrix-commander

Feature Request: Support for spaces

Abierto
#166 0 comentarios 4 reacciones 0 asignados Ver en GitHub
enhancement help wanted
Lenguaje dominante
Python
Estrellas
754
Forks
69
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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/

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
cli
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.