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 | |
| parent | 375cd7a0f5fcf6c92ca02d24b8c61179decd4f41 (diff) | |
Fix writing a message to an offline user causes an error log on the
backend
| -rw-r--r-- | embeds/VERSION | 2 | ||||
| -rw-r--r-- | internal/server/api/api.go | 12 | ||||
| -rw-r--r-- | internal/server/api/helpers.go | 7 |
3 files changed, 13 insertions, 8 deletions
diff --git a/embeds/VERSION b/embeds/VERSION index 8308b63..5366600 100644 --- a/embeds/VERSION +++ b/embeds/VERSION @@ -1 +1 @@ -v0.1.1 +v0.1.2 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 |
