1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-19 12:23:13 +08:00

Merge pull request #21353 from peppy/no-initial-presence

Stop requesting messages as part of initial chat presence
This commit is contained in:
Dean Herbert 2022-11-30 16:15:23 +09:00 committed by GitHub
commit b7f0310070
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 10 additions and 4 deletions

View File

@ -25,6 +25,7 @@ namespace osu.Game.Online.API.Requests
var req = base.CreateWebRequest(); var req = base.CreateWebRequest();
if (channel != null) req.AddParameter(@"channel", channel.Id.ToString()); if (channel != null) req.AddParameter(@"channel", channel.Id.ToString());
req.AddParameter(@"since", since.ToString()); req.AddParameter(@"since", since.ToString());
req.AddParameter(@"includes[]", "presence");
return req; return req;
} }

View File

@ -16,5 +16,7 @@ namespace osu.Game.Online.API.Requests
[JsonProperty] [JsonProperty]
public List<Message> Messages; public List<Message> Messages;
// TODO: Handle Silences here (will need to add to includes[] in the request).
} }
} }

View File

@ -33,11 +33,11 @@ namespace osu.Game.Online.Notifications
public override Task ConnectAsync(CancellationToken cancellationToken) public override Task ConnectAsync(CancellationToken cancellationToken)
{ {
API.Queue(CreateFetchMessagesRequest(0)); API.Queue(CreateInitialFetchRequest(0));
return Task.CompletedTask; return Task.CompletedTask;
} }
protected APIRequest CreateFetchMessagesRequest(long? lastMessageId = null) protected APIRequest CreateInitialFetchRequest(long? lastMessageId = null)
{ {
var fetchReq = new GetUpdatesRequest(lastMessageId ?? this.lastMessageId); var fetchReq = new GetUpdatesRequest(lastMessageId ?? this.lastMessageId);
@ -67,8 +67,11 @@ namespace osu.Game.Online.Notifications
protected void HandleChannelParted(Channel channel) => ChannelParted?.Invoke(channel); protected void HandleChannelParted(Channel channel) => ChannelParted?.Invoke(channel);
protected void HandleMessages(List<Message> messages) protected void HandleMessages(List<Message>? messages)
{ {
if (messages == null)
return;
NewMessages?.Invoke(messages); NewMessages?.Invoke(messages);
lastMessageId = Math.Max(lastMessageId, messages.LastOrDefault()?.Id ?? 0); lastMessageId = Math.Max(lastMessageId, messages.LastOrDefault()?.Id ?? 0);
} }

View File

@ -24,7 +24,7 @@ namespace osu.Game.Tests
{ {
while (!cancellationToken.IsCancellationRequested) while (!cancellationToken.IsCancellationRequested)
{ {
await API.PerformAsync(CreateFetchMessagesRequest()); await API.PerformAsync(CreateInitialFetchRequest());
await Task.Delay(1000, cancellationToken); await Task.Delay(1000, cancellationToken);
} }
}, cancellationToken); }, cancellationToken);