bunch of changes

- incoming pair requests
- auto fill notes when paired
- vanity colored uid at the top
- notifications now resolve player names
- hide lightfinder icon when not connected
- fixed download snapshot crashing the ui, supposedly
This commit is contained in:
2025-10-04 01:57:50 +09:00
parent f2b7b0c4e3
commit 458aa5f933
9 changed files with 542 additions and 19 deletions

View File

@@ -105,6 +105,21 @@ public partial class ApiController
return Task.CompletedTask;
}
public Task Client_ReceiveBroadcastPairRequest(UserPairNotificationDto dto)
{
if (dto == null)
return Task.CompletedTask;
var request = _pairRequestService.RegisterIncomingRequest(dto.myHashedCid, dto.message ?? string.Empty);
Mediator.Publish(new NotificationMessage(
"Pair request received",
request.Message,
NotificationType.Info,
TimeSpan.FromSeconds(5)));
return Task.CompletedTask;
}
public Task Client_UpdateSystemInfo(SystemInfoDto systemInfo)
{
SystemInfoDto = systemInfo;
@@ -277,6 +292,7 @@ public partial class ApiController
_lightlessHub!.On(nameof(Client_GroupSendInfo), act);
}
public void OnGroupUpdateProfile(Action<GroupProfileDto> act)
{
if (_initialized) return;
@@ -289,6 +305,12 @@ public partial class ApiController
_lightlessHub!.On(nameof(Client_ReceiveServerMessage), act);
}
public void OnReceiveBroadcastPairRequest(Action<UserPairNotificationDto> act)
{
if (_initialized) return;
_lightlessHub!.On(nameof(Client_ReceiveBroadcastPairRequest), act);
}
public void OnUpdateSystemInfo(Action<SystemInfoDto> act)
{
if (_initialized) return;

View File

@@ -28,6 +28,7 @@ public sealed partial class ApiController : DisposableMediatorSubscriberBase, IL
private readonly DalamudUtilService _dalamudUtil;
private readonly HubFactory _hubFactory;
private readonly PairManager _pairManager;
private readonly PairRequestService _pairRequestService;
private readonly ServerConfigurationManager _serverManager;
private readonly TokenProvider _tokenProvider;
private readonly LightlessConfigService _lightlessConfigService;
@@ -42,12 +43,13 @@ public sealed partial class ApiController : DisposableMediatorSubscriberBase, IL
private CensusUpdateMessage? _lastCensus;
public ApiController(ILogger<ApiController> logger, HubFactory hubFactory, DalamudUtilService dalamudUtil,
PairManager pairManager, ServerConfigurationManager serverManager, LightlessMediator mediator,
PairManager pairManager, PairRequestService pairRequestService, ServerConfigurationManager serverManager, LightlessMediator mediator,
TokenProvider tokenProvider, LightlessConfigService lightlessConfigService) : base(logger, mediator)
{
_hubFactory = hubFactory;
_dalamudUtil = dalamudUtil;
_pairManager = pairManager;
_pairRequestService = pairRequestService;
_serverManager = serverManager;
_tokenProvider = tokenProvider;
_lightlessConfigService = lightlessConfigService;
@@ -428,6 +430,7 @@ public sealed partial class ApiController : DisposableMediatorSubscriberBase, IL
Logger.LogDebug("Initializing data");
OnDownloadReady((guid) => _ = Client_DownloadReady(guid));
OnReceiveServerMessage((sev, msg) => _ = Client_ReceiveServerMessage(sev, msg));
OnReceiveBroadcastPairRequest(dto => _ = Client_ReceiveBroadcastPairRequest(dto));
OnUpdateSystemInfo((dto) => _ = Client_UpdateSystemInfo(dto));
OnUserSendOffline((dto) => _ = Client_UserSendOffline(dto));