Some checks failed
Tag and Release Lightless / tag-and-release (push) Failing after 32s
 Lightless 1.12.0 is HERE! In this major update, we are introducing something we've been working on and testing for the last couple of weeks. In this update we are introducing a new (**OPTIONAL**) feature called **LightFinder**! We took inspiration from FFXIV's very own Party Finder and decided to implement something that allows users to not only look for fellow Lightless users, but also put up their Syncshell for others looking to join a sync community! When you enable LightFinder, you will be visible to other LightFinder users for **3 hours** or when you want to disabled it. When the 3 hours are up, you can either leave it disabled or enable it again for another 3 hours. The tag shown above will show above your nameplate, and you will be able to receive pair requests in your UI from other users with LightFinder enabled without having to input their uid!  Are you at a Venue? In Limsa? Partying in the streets of Uldah? If you're looking for fellow Lightless users you can now enable LightFinder and you will be shown to others who also have LightFinder enabled! Looking for a Syncshell to join? Enable LightFinder to see what SyncShells are available to join! Want to advertise your Syncshell? Choose the syncshell you want to put up in LightFinder and enable LightFinder. **IMPORTANT: We want to stress the fact that, if you just want to sync with just your friends and no one else, this does not take that away. No one will know you use Lightless unless you choose to tell them, or use this **OPTIONAL** feature. Your privacy is still maintained if you don't want to use the feature.** # Major Changes ## LightFinder - **OPTIONAL FEATURE** - **DOES NOT AFFECT YOU IF YOU DON'T WANT TO USE IT**  * New **OPTIONAL** syncing feature where one can enable something like a Party Finder so that other Lightless users in the area can see you are looking for people to sync with. Enable it by clicking the compass button and then the `Enable LightFinder` button.  * [L] Send Pair Request has been added to player context menus. You should still be able to send a request without Lightfinder on BUT you will need to know the other player is using Lightless and have them send a pair request back.  * When in LightFinder mode, for X mins you will be visible to all Lightless Users WHO ALSO HAVE LIGHTFINDER ON and will receive notifications of people wanting to pair with you. If you are the person using LightFinder, you understand the risks of pairing with someone you don't know. If you are the person sending a request to someone with LightFinder on, you also understand the risks of pairing with someone you don't know. **AGAIN, THIS IS OPTIONAL.** * When in LightFinder mode, you can also put up a Syncshell you own on the Syncshell Finder so that others can easily find it and join. This has to be done prior to enabling LightFinder.  * Syncshell Finder allows you to join Syncshells that are indexed by LightFinder  # Minor Changes * Vanity addition to our supporters: On top of vanity ids you can find a fun addition under Your User Settings -> Edit Lightless Profile -> Vanity Settings to change the colour of your name in the lightless ui. This will be shown to all users.  * Pairing nameplate colour override can also now override FC tag (new option_ * Bunch of UI fixes, updates, and changes * kdb is now a whitelisted filetype that can upload Co-authored-by: CakeAndBanana <admin@cakeandbanana.nl> Co-authored-by: azyges <aaaaaa@aaa.aaa> Co-authored-by: choco <thijmenhogenkamp@gmail.com> Co-authored-by: choco <choco@noreply.git.lightless-sync.org> Co-authored-by: defnotken <itsdefnotken@gmail.com> Reviewed-on: #39
106 lines
6.6 KiB
C#
106 lines
6.6 KiB
C#
using Dalamud.Game.ClientState.Objects.Types;
|
|
using LightlessSync.API.Data;
|
|
using LightlessSync.API.Dto;
|
|
using LightlessSync.API.Dto.CharaData;
|
|
using LightlessSync.API.Dto.Group;
|
|
using LightlessSync.LightlessConfiguration.Models;
|
|
using LightlessSync.PlayerData.Handlers;
|
|
using LightlessSync.PlayerData.Pairs;
|
|
using LightlessSync.Services.Events;
|
|
using LightlessSync.WebAPI.Files.Models;
|
|
using System.Numerics;
|
|
|
|
namespace LightlessSync.Services.Mediator;
|
|
|
|
#pragma warning disable MA0048 // File name must match type name
|
|
#pragma warning disable S2094
|
|
public record SwitchToIntroUiMessage : MessageBase;
|
|
public record SwitchToMainUiMessage : MessageBase;
|
|
public record OpenSettingsUiMessage : MessageBase;
|
|
public record DalamudLoginMessage : MessageBase;
|
|
public record DalamudLogoutMessage : MessageBase;
|
|
public record PriorityFrameworkUpdateMessage : SameThreadMessage;
|
|
public record FrameworkUpdateMessage : SameThreadMessage;
|
|
public record ClassJobChangedMessage(GameObjectHandler GameObjectHandler) : MessageBase;
|
|
public record DelayedFrameworkUpdateMessage : SameThreadMessage;
|
|
public record ZoneSwitchStartMessage : MessageBase;
|
|
public record ZoneSwitchEndMessage : MessageBase;
|
|
public record CutsceneStartMessage : MessageBase;
|
|
public record GposeStartMessage : SameThreadMessage;
|
|
public record GposeEndMessage : MessageBase;
|
|
public record CutsceneEndMessage : MessageBase;
|
|
public record CutsceneFrameworkUpdateMessage : SameThreadMessage;
|
|
public record ConnectedMessage(ConnectionDto Connection) : MessageBase;
|
|
public record DisconnectedMessage : SameThreadMessage;
|
|
public record PenumbraModSettingChangedMessage : MessageBase;
|
|
public record PenumbraInitializedMessage : MessageBase;
|
|
public record PenumbraDisposedMessage : MessageBase;
|
|
public record PenumbraRedrawMessage(IntPtr Address, int ObjTblIdx, bool WasRequested) : SameThreadMessage;
|
|
public record GlamourerChangedMessage(IntPtr Address) : MessageBase;
|
|
public record HeelsOffsetMessage : MessageBase;
|
|
public record PenumbraResourceLoadMessage(IntPtr GameObject, string GamePath, string FilePath) : SameThreadMessage;
|
|
public record CustomizePlusMessage(nint? Address) : MessageBase;
|
|
public record HonorificMessage(string NewHonorificTitle) : MessageBase;
|
|
public record MoodlesMessage(IntPtr Address) : MessageBase;
|
|
public record PetNamesReadyMessage : MessageBase;
|
|
public record PetNamesMessage(string PetNicknamesData) : MessageBase;
|
|
public record HonorificReadyMessage : MessageBase;
|
|
public record TransientResourceChangedMessage(IntPtr Address) : MessageBase;
|
|
public record HaltScanMessage(string Source) : MessageBase;
|
|
public record ResumeScanMessage(string Source) : MessageBase;
|
|
public record NotificationMessage
|
|
(string Title, string Message, NotificationType Type, TimeSpan? TimeShownOnScreen = null) : MessageBase;
|
|
public record CreateCacheForObjectMessage(GameObjectHandler ObjectToCreateFor) : SameThreadMessage;
|
|
public record ClearCacheForObjectMessage(GameObjectHandler ObjectToCreateFor) : SameThreadMessage;
|
|
public record CharacterDataCreatedMessage(CharacterData CharacterData) : SameThreadMessage;
|
|
public record CharacterDataAnalyzedMessage : MessageBase;
|
|
public record PenumbraStartRedrawMessage(IntPtr Address) : MessageBase;
|
|
public record PenumbraEndRedrawMessage(IntPtr Address) : MessageBase;
|
|
public record HubReconnectingMessage(Exception? Exception) : SameThreadMessage;
|
|
public record HubReconnectedMessage(string? Arg) : SameThreadMessage;
|
|
public record HubClosedMessage(Exception? Exception) : SameThreadMessage;
|
|
public record DownloadReadyMessage(Guid RequestId) : MessageBase;
|
|
public record DownloadStartedMessage(GameObjectHandler DownloadId, Dictionary<string, FileDownloadStatus> DownloadStatus) : MessageBase;
|
|
public record DownloadFinishedMessage(GameObjectHandler DownloadId) : MessageBase;
|
|
public record UiToggleMessage(Type UiType) : MessageBase;
|
|
public record PlayerUploadingMessage(GameObjectHandler Handler, bool IsUploading) : MessageBase;
|
|
public record ClearProfileDataMessage(UserData? UserData = null) : MessageBase;
|
|
public record CyclePauseMessage(UserData UserData) : MessageBase;
|
|
public record PauseMessage(UserData UserData) : MessageBase;
|
|
public record ProfilePopoutToggle(Pair? Pair) : MessageBase;
|
|
public record CompactUiChange(Vector2 Size, Vector2 Position) : MessageBase;
|
|
public record ProfileOpenStandaloneMessage(Pair Pair) : MessageBase;
|
|
public record RemoveWindowMessage(WindowMediatorSubscriberBase Window) : MessageBase;
|
|
public record RefreshUiMessage : MessageBase;
|
|
public record OpenBanUserPopupMessage(Pair PairToBan, GroupFullInfoDto GroupFullInfoDto) : MessageBase;
|
|
public record OpenCensusPopupMessage() : MessageBase;
|
|
public record OpenSyncshellAdminPanel(GroupFullInfoDto GroupInfo) : MessageBase;
|
|
public record OpenPermissionWindow(Pair Pair) : MessageBase;
|
|
public record DownloadLimitChangedMessage() : SameThreadMessage;
|
|
public record CensusUpdateMessage(byte Gender, byte RaceId, byte TribeId) : MessageBase;
|
|
public record TargetPairMessage(Pair Pair) : MessageBase;
|
|
public record CombatStartMessage : MessageBase;
|
|
public record CombatEndMessage : MessageBase;
|
|
public record PerformanceStartMessage : MessageBase;
|
|
public record PerformanceEndMessage : MessageBase;
|
|
public record InstanceOrDutyStartMessage : MessageBase;
|
|
public record InstanceOrDutyEndMessage : MessageBase;
|
|
public record EventMessage(Event Event) : MessageBase;
|
|
public record PenumbraDirectoryChangedMessage(string? ModDirectory) : MessageBase;
|
|
public record PenumbraRedrawCharacterMessage(ICharacter Character) : SameThreadMessage;
|
|
public record GameObjectHandlerCreatedMessage(GameObjectHandler GameObjectHandler, bool OwnedObject) : SameThreadMessage;
|
|
public record GameObjectHandlerDestroyedMessage(GameObjectHandler GameObjectHandler, bool OwnedObject) : SameThreadMessage;
|
|
public record HaltCharaDataCreation(bool Resume = false) : SameThreadMessage;
|
|
public record GposeLobbyUserJoin(UserData UserData) : MessageBase;
|
|
public record GPoseLobbyUserLeave(UserData UserData) : MessageBase;
|
|
public record GPoseLobbyReceiveCharaData(CharaDataDownloadDto CharaDataDownloadDto) : MessageBase;
|
|
public record GPoseLobbyReceivePoseData(UserData UserData, PoseData PoseData) : MessageBase;
|
|
public record GPoseLobbyReceiveWorldData(UserData UserData, WorldData WorldData) : MessageBase;
|
|
public record OpenCharaDataHubWithFilterMessage(UserData UserData) : MessageBase;
|
|
public record EnableBroadcastMessage(string HashedCid, bool Enabled) : MessageBase;
|
|
public record BroadcastStatusChangedMessage(bool Enabled, TimeSpan? Ttl) : MessageBase;
|
|
public record SyncshellBroadcastsUpdatedMessage : MessageBase;
|
|
public record PairRequestsUpdatedMessage : MessageBase;
|
|
public record VisibilityChange : MessageBase;
|
|
#pragma warning restore S2094
|
|
#pragma warning restore MA0048 // File name must match type name |