From 51b906cd142a53d096d0fb53079cb593ac8b5358 Mon Sep 17 00:00:00 2001 From: Sumner Evans <sumner.evans@automattic.com> Date: Thu, 27 Feb 2025 14:44:12 -0700 Subject: [PATCH] connector/client: only sync chats on first connection Signed-off-by: Sumner Evans <sumner.evans@automattic.com> --- pkg/connector/client.go | 14 ++++++++++---- pkg/connector/sync.go | 1 - 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/pkg/connector/client.go b/pkg/connector/client.go index 7351c9d..86348cf 100644 --- a/pkg/connector/client.go +++ b/pkg/connector/client.go @@ -42,6 +42,8 @@ type LinkedInClient struct { userLogin *bridgev2.UserLogin client *linkedingo.Client + firstConnection bool + linkedinFmtParams linkedinfmt.FormatParams matrixParser *matrixfmt.HTMLParser } @@ -65,9 +67,10 @@ var ( func NewLinkedInClient(ctx context.Context, lc *LinkedInConnector, login *bridgev2.UserLogin) *LinkedInClient { userID := networkid.UserID(login.ID) client := &LinkedInClient{ - main: lc, - userID: userID, - userLogin: login, + main: lc, + userID: userID, + userLogin: login, + firstConnection: true, } client.client = linkedingo.NewClient( ctx, @@ -80,7 +83,10 @@ func NewLinkedInClient(ctx context.Context, lc *LinkedInConnector, login *bridge ClientConnection: func(context.Context, *linkedingo.ClientConnection) { login.BridgeState.Send(status.BridgeState{StateEvent: status.StateConnected}) - go client.syncConversations(ctx) + if client.firstConnection { + go client.syncConversations(ctx) + client.firstConnection = false + } }, TransientDisconnect: client.onTransientDisconnect, BadCredentials: client.onBadCredentials, diff --git a/pkg/connector/sync.go b/pkg/connector/sync.go index a8123cb..42f5ea3 100644 --- a/pkg/connector/sync.go +++ b/pkg/connector/sync.go @@ -10,7 +10,6 @@ import ( "maunium.net/go/mautrix/bridgev2/simplevent" ) -// TODO limits func (l *LinkedInClient) syncConversations(ctx context.Context) { log := zerolog.Ctx(ctx).With().Str("action", "sync_conversations").Logger() log.Info().Msg("starting conversation sync") -- GitLab