mirror of
https://github.com/ppy/osu.git
synced 2025-02-14 21:13:21 +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:
commit
b7f0310070
@ -25,6 +25,7 @@ namespace osu.Game.Online.API.Requests
|
||||
var req = base.CreateWebRequest();
|
||||
if (channel != null) req.AddParameter(@"channel", channel.Id.ToString());
|
||||
req.AddParameter(@"since", since.ToString());
|
||||
req.AddParameter(@"includes[]", "presence");
|
||||
|
||||
return req;
|
||||
}
|
||||
|
@ -16,5 +16,7 @@ namespace osu.Game.Online.API.Requests
|
||||
|
||||
[JsonProperty]
|
||||
public List<Message> Messages;
|
||||
|
||||
// TODO: Handle Silences here (will need to add to includes[] in the request).
|
||||
}
|
||||
}
|
||||
|
@ -33,11 +33,11 @@ namespace osu.Game.Online.Notifications
|
||||
|
||||
public override Task ConnectAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
API.Queue(CreateFetchMessagesRequest(0));
|
||||
API.Queue(CreateInitialFetchRequest(0));
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
protected APIRequest CreateFetchMessagesRequest(long? lastMessageId = null)
|
||||
protected APIRequest CreateInitialFetchRequest(long? lastMessageId = null)
|
||||
{
|
||||
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 HandleMessages(List<Message> messages)
|
||||
protected void HandleMessages(List<Message>? messages)
|
||||
{
|
||||
if (messages == null)
|
||||
return;
|
||||
|
||||
NewMessages?.Invoke(messages);
|
||||
lastMessageId = Math.Max(lastMessageId, messages.LastOrDefault()?.Id ?? 0);
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ namespace osu.Game.Tests
|
||||
{
|
||||
while (!cancellationToken.IsCancellationRequested)
|
||||
{
|
||||
await API.PerformAsync(CreateFetchMessagesRequest());
|
||||
await API.PerformAsync(CreateInitialFetchRequest());
|
||||
await Task.Delay(1000, cancellationToken);
|
||||
}
|
||||
}, cancellationToken);
|
||||
|
Loading…
Reference in New Issue
Block a user