Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Impossible de rejoindre un forum d'un autre homeserver depuis un lien généré sur mobile #875

Closed
NicolasBuquet opened this issue Sep 18, 2023 · 7 comments · Fixed by #1061
Labels
bug Something isn't working iOS P1

Comments

@NicolasBuquet
Copy link
Contributor

NicolasBuquet commented Sep 18, 2023

Sur iOS, un utilisateur s'est retrouvé dans l'impossibilité de rejoindre un forum. Cette impossibilité a été confirmée par l'équipe de développement avec l'erreur suivante :
image

Il a été possible de rejoindre le salon depuis le client web.

Suite à cela, l'équipe de développement a pu rejoindre le forum via l'interface de l'application iOS.

L'utilisateur a aussi pu rejoindre le forum grâce à un lien donné par l'équipe : https://tchap.gouv.fr/#/room/!ChBRUBytCvCgWZPUpj:agent.education.tchap.gouv.fr?via=agent.education.tchap.gouv.fr&via=agent.dinum.tchap.gouv.fr

Hypothèse de la source du problème :

C'est un bug de la version iOS apparemment, l'application iOS ne doit pas transmettre toutes les informations pour rejoindre le forum (le lien que j'ai indiqué juste au dessus, devrait renforcer cette hypothèse).

j'ai pu le rejoindre depuis la version web, il faut voir maintenant que le forum est connu depuis l'instance DINUM, tu peux le rejoindre

si c'est le cas, il se pourrait que l'app iOS ne sait pas comment rejoindre un salon inconnu de son homeserveur de rattachement

Ok, le problème doit être la version iOS qui ne fournit pas le homeserver éducation au serveur synapse dinum

Les liens de partages de salon incorporent les homeservers que l'on peut interroger par exemple : (via l'attribut "via")

En fait, j'ai regardé l'API, il n'y a qu'un seul homeserver fournit dans la spec. iOS doit donner Dinum au lieu d'éducation

@NicolasBuquet NicolasBuquet added bug Something isn't working P2 iOS labels Sep 18, 2023
@NicolasBuquet NicolasBuquet changed the title Impossible de rejoindre un forum vide Impossible de rejoindre un forum d'un autre homeserver depuis un lien généré sur iOS Apr 22, 2024
@NicolasBuquet
Copy link
Contributor Author

NicolasBuquet commented May 7, 2024

L'activation de l'accès à un salon par lien depuis mobile (iOS ou Android) est moins complète que depuis web.

Exemple de lien d'activation créé depuis mobile :

https://tchap.gouv.fr/#/room/#SalonFromTest1VUsOH5zJD8V:agent.dinum.tchap.gouv.fr

Exemple de lien d'activation créé depuis web :

https://tchap.gouv.fr/#/room/!myhHblrznHhXmwYohG:agent.dinum.tchap.gouv.fr?via=agent.dinum.tchap.gouv.fr

Dans la création de lien sur mobile, il manque le paramètre via.

Ce paramètre est utile quand le lien est partagé à un utilisateur d'une instance qui n'est pas encore reliée à l'instance hébergeant le salon. Ce lien sert à savoir sur quelle instance chercher le salon cible.

Ce paramètre est ajouté par le web quand le salon fait partie d'un Space : https://github.com/tchapgouv/tchap-web-v4/blob/35b58ccd9a40c9ec6d8a3a5b78bed652847105cc/linked-dependencies/matrix-react-sdk/src/stores/spaces/SpaceStore.ts#L325

Ce paramètre n'est ajouté sur web que si le salon fait partie d'un ou plusieurs Spaces.

@NicolasBuquet NicolasBuquet changed the title Impossible de rejoindre un forum d'un autre homeserver depuis un lien généré sur iOS Impossible de rejoindre un forum d'un autre homeserver depuis un lien généré sur mobile May 7, 2024
@NicolasBuquet
Copy link
Contributor Author

Il semble donc que le souci se présente quand le salon fait partie d'un espace.

Sur web, alors qu'un salon fait partie d'un espace, le lien créé à partir du client web contient le paramètre via : https://tchap.gouv.fr/#/room/!xsGKyvazNeNLJZAgbH:agent.dinum.tchap.gouv.fr?via=agent.dinum.tchap.gouv.fr

Le salon est accessible aux membres de l'espace.

Le salon n'a pas l'option d'accès par lien dans l'interface web.

Depuis iOS, l'option d'accès par lien est présente et activable.

Après activation sur ce même salon depuis le client iOS, le lien de partage fourni par le web ne contient plus le paramètre via : https://tchap.gouv.fr/#/room/#testavecjulie1Ke1fasvWbc5:agent.dinum.tchap.gouv.fr

Le problème pourrait donc se manifester quand un salon est accessible par lien et qu'il a été ajouté à un espace.

@NicolasBuquet
Copy link
Contributor Author

Lié à ce ticket web : tchapgouv/tchap-web-v4#881 ?

@NicolasBuquet
Copy link
Contributor Author

NicolasBuquet commented May 15, 2024

Protocole de recherche de reproduction du souci :

  • déterminer une room ayant un lien sans paramètre via et qui pose problème à rejoindre à travers 2 homeServers distincts
  • vérifier si l'ajout 'à la main' du paramètre via permet de rejoindre cette room à travers 2 homeServers distincts

Si on arrive dans le cas décrit ci-dessus :

  • vérifier si le problème est le même en utilisant les clients Element
  • déterminer éventuellement pourquoi le paramètre via n'est parfois pas ajouté (peut-être lié au fait que la room est dans un Space, peut-être pas ?)

@odelcroi odelcroi added P1 and removed P2 labels May 28, 2024
@NicolasBuquet
Copy link
Contributor Author

NicolasBuquet commented May 30, 2024

Cela semble finalement être un problème de mauvaise génération de lien de partage.
Confusion entre RoomId et RoomAlias : https://www.notion.so/mercurial-timer-ec4/Les-diff-rents-Matrix-IDs-et-Room-ID-be1d6607038547fe80980505a65bb5b6

Et cela semble être systématique sur les Forums.

@Delphgateau
Copy link
Collaborator

@NicolasBuquet on peut fermer ?

@NicolasBuquet
Copy link
Contributor Author

@Delphgateau Pas encore. On attend la review et le merge et il se fermera automatiquement (du fait du merge).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working iOS P1
Projects
Status: déployé en prod
Development

Successfully merging a pull request may close this issue.

3 participants