Merge branch 'master' into chat-profile-highlight-v2

This commit is contained in:
Dean Herbert 2022-11-30 16:15:48 +09:00
commit 9ab4664fcc
4 changed files with 10 additions and 4 deletions

View File

@ -25,6 +25,7 @@ protected override WebRequest CreateWebRequest()
var req = base.CreateWebRequest();
if (channel != null) req.AddParameter(@"channel", channel.Id.ToString());
req.AddParameter(@"since", since.ToString());
req.AddParameter(@"includes[]", "presence");
return req;
}

View File

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

View File

@ -33,11 +33,11 @@ protected NotificationsClient(IAPIProvider api)
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 @@ protected void HandleChannelJoined(Channel 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);
lastMessageId = Math.Max(lastMessageId, messages.LastOrDefault()?.Id ?? 0);
}

View File

@ -24,7 +24,7 @@ public override Task ConnectAsync(CancellationToken cancellationToken)
{
while (!cancellationToken.IsCancellationRequested)
{
await API.PerformAsync(CreateFetchMessagesRequest());
await API.PerformAsync(CreateInitialFetchRequest());
await Task.Delay(1000, cancellationToken);
}
}, cancellationToken);