Skip to content

[Rust SDK] Supprimer la fallback de access_rules.visibility #156

@raphael-chevallier

Description

@raphael-chevallier

Le backend ne retourne pas l'event access_rules au complet.
Le Rust SDK ne trouve donc pas les valeurs :

  • access_rules.visibility
  • access_rules.encrypted

Pour améliorer la fluidité de l'app côté client, on a supprimé l'appel fallback de access_rules.visibility qui s'effectuait via une requête backend.

Le fix temporaire côté Rust SDK a été réalisé :

  • En fallback, on ne récupère plus la valeur via une requête API
  • On vérifie si la room est chiffré ou non pour la visibility :
    • Visibility::Public -> room.encrypted === false
    • Visibility::Private -> room.encrypted === true

À faire : Quand le backend retournera des valeurs pour access_rules.visibility et access_rules.encrypted, il faudra supprimer le fallback de visibility :

// TCHAP TODO : Remove this ugly cheat code when the backend returns complete access_rules (containing visibility state).
    /// Requets the room visibility status for this room.
    /// This method is used as a last chance to get a value in `visibility()` method
    /// if the access rules event in the local store in unable to give a valid value.
    /// This method return Visibility::Public when room is unencrypted or Visibility::Private when the room is encrypted.
    async fn get_fallback_room_visibility_value(&self) -> Visibility {
        self.is_encrypted().await.then_some(Visibility::Private).unwrap_or(Visibility::Public)
    }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions