8go / 8go/matrix-commander

Feature Request: Support for spaces

オープン
#166 コメント 0 件 リアクション 4 件 担当者 0 名 GitHub で見る
enhancement help wanted
主要言語
Python
スター
754
フォーク
69
PR マージ指標
30日以内にマージされた PR はありません

説明

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/

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
cli
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。