connector: humanise connection errors

Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
This commit is contained in:
Sumner Evans
2024-11-25 17:22:11 -07:00
parent e603aa6058
commit 7bda4f7855
+8 -7
View File
@@ -25,6 +25,7 @@ import (
"maunium.net/go/mautrix/bridgev2/simplevent" "maunium.net/go/mautrix/bridgev2/simplevent"
"maunium.net/go/mautrix/id" "maunium.net/go/mautrix/id"
"go.mau.fi/mautrix-telegram/pkg/connector/humanise"
"go.mau.fi/mautrix-telegram/pkg/connector/ids" "go.mau.fi/mautrix-telegram/pkg/connector/ids"
"go.mau.fi/mautrix-telegram/pkg/connector/matrixfmt" "go.mau.fi/mautrix-telegram/pkg/connector/matrixfmt"
"go.mau.fi/mautrix-telegram/pkg/connector/media" "go.mau.fi/mautrix-telegram/pkg/connector/media"
@@ -399,11 +400,11 @@ func (t *TelegramClient) sendBadCredentials(message string) {
}) })
} }
func (t *TelegramClient) sendUnknownError(message string) { func (t *TelegramClient) sendUnknownError(err error) {
t.userLogin.BridgeState.Send(status.BridgeState{ t.userLogin.BridgeState.Send(status.BridgeState{
StateEvent: status.StateUnknownError, StateEvent: status.StateUnknownError,
Error: "tg-not-authenticated", Error: "tg-unknown-error",
Message: message, Message: humanise.Error(err),
}) })
} }
@@ -423,7 +424,7 @@ func (t *TelegramClient) onConnectionStateChange(reason string) func() {
authStatus, err := t.client.Auth().Status(ctx) authStatus, err := t.client.Auth().Status(ctx)
if err != nil { if err != nil {
t.sendUnknownError(err.Error()) t.sendUnknownError(err)
} else if authStatus.Authorized { } else if authStatus.Authorized {
t.userLogin.BridgeState.Send(status.BridgeState{StateEvent: status.StateConnected}) t.userLogin.BridgeState.Send(status.BridgeState{StateEvent: status.StateConnected})
} else { } else {
@@ -455,7 +456,7 @@ func (t *TelegramClient) Connect(ctx context.Context) error {
var err error var err error
ctx, t.clientCancel, err = connectTelegramClient(ctx, t.client) ctx, t.clientCancel, err = connectTelegramClient(ctx, t.client)
if err != nil { if err != nil {
t.sendUnknownError(err.Error()) t.sendUnknownError(err)
return nil return nil
} }
go func() { go func() {
@@ -469,9 +470,9 @@ func (t *TelegramClient) Connect(ctx context.Context) error {
// Update the logged-in user's ghost info (this also updates the user // Update the logged-in user's ghost info (this also updates the user
// login's remote name and profile). // login's remote name and profile).
if me, err := t.client.Self(ctx); err != nil { if me, err := t.client.Self(ctx); err != nil {
t.sendUnknownError(fmt.Sprintf("failed to get self: %v", err)) t.sendUnknownError(err)
} else if _, err := t.updateGhost(ctx, t.telegramUserID, me); err != nil { } else if _, err := t.updateGhost(ctx, t.telegramUserID, me); err != nil {
t.sendUnknownError(fmt.Sprintf("failed to update own ghost: %v", err)) t.sendUnknownError(err)
} else { } else {
t.userLogin.BridgeState.Send(status.BridgeState{StateEvent: status.StateConnected}) t.userLogin.BridgeState.Send(status.BridgeState{StateEvent: status.StateConnected})
} }