matrix-org / matrix-org/matrix.to

Fature request: add a warning on clients that don't support knocking, when the room has join_rules `knock` or `knock_restricted`

Open
#269 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
JavaScript
Stars
1.4k
Forks
318
PR merge metrics
No merged PRs in 30d

Description

**Describe the bug**

Matrix.to has ability to know the `join_rules` of a room (since https://github.com/matrix-org/matrix-spec-proposals/pull/3266), but it doesn't actually warn when a client doesn't support the feature.

**To Reproduce**
Steps to reproduce the behavior:

1. Go to a matrix.to URI link which requires knocking e.g. https://matrix.to/#/%23space.piraatit.fi:matrix.org
2. Open in Element (top option)
3. In Element attempt to join room
4. Get error: you are not invited to room

**Expected behavior**

Matrix.to sees `join_rules` being `knock` or `restricted_knock` and adds a warning to clients that don't support knocking. Knocking is a part of Matrix specification since 1.1 and `restricted_knock` I hope to soon pass the MSC process.

**Screenshots**

![kuva](https://user-images.githubusercontent.com/831184/168473971-70e29426-a4ae-448e-83e9-1ed97e443c4e.png)

**Desktop (please complete the following information):**
- OS: Fedora 36
- Browser Firefox
- Version 101.0b6 (64-bittinen)

**Additional context**

* https://spec.matrix.org/latest/client-server-api/#knocking-on-rooms

Contributor guide

Open the contributing guide

Research direction

Start by tracing how matrix.to handles a URI for a room with join_rules and how it identifies the selected client, then read the linked Matrix client-server API section on knocking. Done means clients that do not support knocking receive a warning for rooms using knock or restricted_knock, while supported clients remain unaffected.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.