diff options
| author | Kyren223 <kyren223@proton.me> | 2025-08-09 10:47:41 +0300 |
|---|---|---|
| committer | Kyren223 <kyren223@proton.me> | 2025-08-09 10:47:41 +0300 |
| commit | 959290d2ffcf14e0397e262b9a32435bc1a5dd3b (patch) | |
| tree | ab99245735c62a74e623a66500111ff0969b8628 /internal | |
| parent | 375cd7a0f5fcf6c92ca02d24b8c61179decd4f41 (diff) | |
Fix writing a message to an offline user causes an error log on the
backend
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/server/api/api.go | 12 | ||||
| -rw-r--r-- | internal/server/api/helpers.go | 7 |
2 files changed, 12 insertions, 7 deletions
diff --git a/internal/server/api/api.go b/internal/server/api/api.go index 9828af6..43d0e9c 100644 --- a/internal/server/api/api.go +++ b/internal/server/api/api.go @@ -217,7 +217,7 @@ func SendMessage(ctx context.Context, sess *session.Session, request *packet.Sen return UserPropagate(ctx, sess, user.ID, &packet.MessagesInfo{ Messages: []data.Message{message}, RemovedMessages: nil, - }) + }, false) } assert.Never("already checked in the first line for the case where both are nil") @@ -769,7 +769,7 @@ func SetMember(ctx context.Context, sess *session.Session, request *packet.SetMe if newMember.UserID == sess.ID() { return networksInfoPayload } else { - UserPropagate(ctx, sess, newMember.UserID, networksInfoPayload) + UserPropagate(ctx, sess, newMember.UserID, networksInfoPayload, true) return membersInfoPayload } } @@ -1117,7 +1117,7 @@ func DeleteMessage(ctx context.Context, sess *session.Session, request *packet.D return UserPropagate(ctx, sess, *message.ReceiverID, &packet.MessagesInfo{ Messages: nil, RemovedMessages: []snowflake.ID{message.ID}, - }) + }, false) } assert.Never("unreachable") @@ -1197,7 +1197,7 @@ func EditMessage(ctx context.Context, sess *session.Session, request *packet.Edi return UserPropagate(ctx, sess, *message.ReceiverID, &packet.MessagesInfo{ Messages: []data.Message{editedMessage}, RemovedMessages: nil, - }) + }, false) } assert.Never("unreachable") @@ -1494,7 +1494,7 @@ func BlockUser(ctx context.Context, sess *session.Session, request *packet.Block RemovedBlockedUsers: nil, BlockingUsers: []snowflake.ID{sess.ID()}, RemovedBlockingUsers: nil, - }) + }, false) return &packet.BlockInfo{ BlockedUsers: []snowflake.ID{user.ID}, @@ -1534,7 +1534,7 @@ func BlockUser(ctx context.Context, sess *session.Session, request *packet.Block RemovedBlockedUsers: nil, BlockingUsers: nil, RemovedBlockingUsers: []snowflake.ID{sess.ID()}, - }) + }, false) return &packet.BlockInfo{ BlockedUsers: nil, diff --git a/internal/server/api/helpers.go b/internal/server/api/helpers.go index e8fce16..cadd863 100644 --- a/internal/server/api/helpers.go +++ b/internal/server/api/helpers.go @@ -129,10 +129,15 @@ func SplitMembersAndUsers(membersAndUsers []data.GetNetworkMembersRow) ([]data.M func UserPropagate( ctx context.Context, sess *session.Session, userId snowflake.ID, payload packet.Payload, + errorOnNil bool, ) packet.Payload { session := sess.Manager().Session(userId) if session == nil { - slog.ErrorContext(ctx, "propagation failed", ctxkeys.UserID.String(), userId, "reason", "session is nil") + if errorOnNil { + slog.ErrorContext(ctx, "propagation failed", ctxkeys.UserID.String(), userId, "reason", "session is nil") + } else { + slog.InfoContext(ctx, "propagation failed", ctxkeys.UserID.String(), userId, "reason", "session is nil") + } return payload } timeout := 1 * time.Second |
