From 96df4ac112fbf3c9e8b79ddf9ae69faeec40c749 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 15 Mar 2023 01:32:32 +0200 Subject: [PATCH] Add better message for group session withheld --- bridge/crypto.go | 1 + bridge/matrix.go | 2 ++ bridge/no-crypto.go | 1 + 3 files changed, 4 insertions(+) diff --git a/bridge/crypto.go b/bridge/crypto.go index 190a873f..e0d249d9 100644 --- a/bridge/crypto.go +++ b/bridge/crypto.go @@ -32,6 +32,7 @@ import ( var _ crypto.StateStore = (*sqlstatestore.SQLStateStore)(nil) var NoSessionFound = crypto.NoSessionFound +var ErrGroupSessionWithheld = crypto.ErrGroupSessionWithheld var UnknownMessageIndex = olm.UnknownMessageIndex type CryptoHelper struct { diff --git a/bridge/matrix.go b/bridge/matrix.go index f0b90799..32cbd774 100644 --- a/bridge/matrix.go +++ b/bridge/matrix.go @@ -391,6 +391,8 @@ func errorToHumanMessage(err error) string { return err.Error() case errors.Is(err, UnknownMessageIndex): return "the keys received by the bridge can't decrypt the message" + case errors.Is(err, ErrGroupSessionWithheld): + return "your client refused to share decryption keys with the bridge" case errors.Is(err, errMessageNotEncrypted): return "the message is not encrypted" default: diff --git a/bridge/no-crypto.go b/bridge/no-crypto.go index 0aa76241..f3002da1 100644 --- a/bridge/no-crypto.go +++ b/bridge/no-crypto.go @@ -22,4 +22,5 @@ func NewCryptoHelper(bridge *Bridge) Crypto { } var NoSessionFound = errors.New("nil") +var ErrGroupSessionWithheld = NoSessionFound var UnknownMessageIndex = NoSessionFound