mirror of
https://github.com/osukey/osukey.git
synced 2025-08-06 16:13:57 +09:00
Merge remote-tracking branch 'origin/update-chat-api' into update-framework
This commit is contained in:
@ -60,6 +60,8 @@ namespace osu.Game.Online.Chat
|
|||||||
{
|
{
|
||||||
messages = messages.Except(Messages).ToArray();
|
messages = messages.Except(Messages).ToArray();
|
||||||
|
|
||||||
|
if (messages.Length == 0) return;
|
||||||
|
|
||||||
Messages.AddRange(messages);
|
Messages.AddRange(messages);
|
||||||
MessagesLoaded = true;
|
MessagesLoaded = true;
|
||||||
|
|
||||||
|
@ -304,6 +304,8 @@ namespace osu.Game.Overlays
|
|||||||
|
|
||||||
Scheduler.Add(delegate
|
Scheduler.Add(delegate
|
||||||
{
|
{
|
||||||
|
//todo: decide how to handle default channels for a user now that they are saved server-side.
|
||||||
|
// we likely don't want to re-join every startup like this.
|
||||||
//addChannel(channels.Find(c => c.Name == @"#lazer"));
|
//addChannel(channels.Find(c => c.Name == @"#lazer"));
|
||||||
//addChannel(channels.Find(c => c.Name == @"#osu"));
|
//addChannel(channels.Find(c => c.Name == @"#osu"));
|
||||||
//addChannel(channels.Find(c => c.Name == @"#lobby"));
|
//addChannel(channels.Find(c => c.Name == @"#lobby"));
|
||||||
@ -449,14 +451,16 @@ namespace osu.Game.Overlays
|
|||||||
|
|
||||||
fetchReq.Success += updates =>
|
fetchReq.Success += updates =>
|
||||||
{
|
{
|
||||||
// fuck the what.
|
|
||||||
if (updates?.Presence != null)
|
if (updates?.Presence != null)
|
||||||
{
|
{
|
||||||
foreach (var channel in updates.Presence)
|
foreach (var channel in updates.Presence)
|
||||||
|
{
|
||||||
|
if (careChannels.Find(c => c.Id == channel.Id) == null)
|
||||||
{
|
{
|
||||||
channel.Joined.Value = true;
|
channel.Joined.Value = true;
|
||||||
addChannel(channel);
|
addChannel(channel);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
foreach (var group in updates.Messages.Where(m => m.TargetType == TargetType.Channel).GroupBy(m => m.TargetId))
|
foreach (var group in updates.Messages.Where(m => m.TargetType == TargetType.Channel).GroupBy(m => m.TargetId))
|
||||||
careChannels.Find(c => c.Id == group.Key)?.AddNewMessages(group.ToArray());
|
careChannels.Find(c => c.Id == group.Key)?.AddNewMessages(group.ToArray());
|
||||||
@ -464,13 +468,11 @@ namespace osu.Game.Overlays
|
|||||||
lastMessageId = updates.Messages.LastOrDefault()?.Id ?? lastMessageId;
|
lastMessageId = updates.Messages.LastOrDefault()?.Id ?? lastMessageId;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Write("success!");
|
|
||||||
fetchReq = null;
|
fetchReq = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
fetchReq.Failure += delegate
|
fetchReq.Failure += delegate
|
||||||
{
|
{
|
||||||
Debug.Write("failure!");
|
|
||||||
fetchReq = null;
|
fetchReq = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user