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:
commit
b7f0310070
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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).
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user