From 24fa5c374ac9c8eab6cda39c66656ca71a4e9ae6 Mon Sep 17 00:00:00 2001 From: Abelfreyja <96177659+Abelfreyja@users.noreply.github.com> Date: Fri, 22 Aug 2025 20:53:15 +0900 Subject: [PATCH] remove references.. --- LightlessAPI | 2 +- LightlessSync/Localization/Strings.cs | 2 +- LightlessSync/Localization/de.json | 2 +- LightlessSync/Localization/fr.json | 2 +- LightlessSync/MarePlugin.cs | 5 +++-- .../Services/CommandManagerService.cs | 4 ++-- LightlessSync/Services/NotificationService.cs | 6 +++--- LightlessSync/UI/CharaDataHubUi.cs | 2 +- LightlessSync/UI/CompactUI.cs | 12 +++++------ LightlessSync/UI/DownloadUi.cs | 2 +- LightlessSync/UI/DtrEntry.cs | 8 ++++---- LightlessSync/UI/EditProfileUi.cs | 2 +- LightlessSync/UI/IntroUI.cs | 20 +++++++++---------- LightlessSync/UI/SettingsUi.cs | 4 ++-- LightlessSync/UI/UISharedService.cs | 4 ++-- LightlessSync/WebAPI/SignalR/ApiController.cs | 6 +++--- 16 files changed, 42 insertions(+), 41 deletions(-) diff --git a/LightlessAPI b/LightlessAPI index 73ecaf1..3648b92 160000 --- a/LightlessAPI +++ b/LightlessAPI @@ -1 +1 @@ -Subproject commit 73ecaf1e3e964a81f29daf4b5a64583d00dc1b34 +Subproject commit 3648b92b8cf2db187f7b7768b8fbe1909e6f94f8 diff --git a/LightlessSync/Localization/Strings.cs b/LightlessSync/Localization/Strings.cs index 291d2d8..56f938b 100644 --- a/LightlessSync/Localization/Strings.cs +++ b/LightlessSync/Localization/Strings.cs @@ -37,7 +37,7 @@ public static class Strings "The service holds no information about which mod files belong to which mod."); public readonly string Paragraph6 = Loc.Localize("Paragraph6", - "This service is provided as-is. In case of abuse join the Mare Synchronos Discord."); + "This service is provided as-is. In case of abuse join the Lightless Sync Discord."); public readonly string ReadLabel = Loc.Localize("ReadLabel", "READ THIS CAREFULLY"); } diff --git a/LightlessSync/Localization/de.json b/LightlessSync/Localization/de.json index f0f418d..b2552cb 100644 --- a/LightlessSync/Localization/de.json +++ b/LightlessSync/Localization/de.json @@ -32,7 +32,7 @@ "description": "ToSStrings..ctor" }, "Paragraph6": { - "message": "Dieser Dienst wird ohne Gewähr angeboten. Im Falle eines Missbrauchs tretet dem Mare Synchronos Discord bei.", + "message": "Dieser Dienst wird ohne Gewähr angeboten. Im Falle eines Missbrauchs tretet dem Lightless Sync Discord bei.", "description": "ToSStrings..ctor" }, "AgreeLabel": { diff --git a/LightlessSync/Localization/fr.json b/LightlessSync/Localization/fr.json index 352317d..7a2f328 100644 --- a/LightlessSync/Localization/fr.json +++ b/LightlessSync/Localization/fr.json @@ -32,7 +32,7 @@ "description": "ToSStrings..ctor" }, "Paragraph6": { - "message": "Ce service et ses composants vous sont fournis en l'état. En cas d'abus rejoindre le serveur Discord Mare Synchronos.", + "message": "Ce service et ses composants vous sont fournis en l'état. En cas d'abus rejoindre le serveur Discord Lightless Sync.", "description": "ToSStrings..ctor" }, "AgreeLabel": { diff --git a/LightlessSync/MarePlugin.cs b/LightlessSync/MarePlugin.cs index 1769a60..d012b72 100644 --- a/LightlessSync/MarePlugin.cs +++ b/LightlessSync/MarePlugin.cs @@ -65,6 +65,7 @@ namespace LightlessSync; */ #pragma warning restore S125 // Sections of code should not be commented out +// thank you dark 🙏 public class MarePlugin : MediatorSubscriberBase, IHostedService { @@ -89,9 +90,9 @@ public class MarePlugin : MediatorSubscriberBase, IHostedService public Task StartAsync(CancellationToken cancellationToken) { var version = Assembly.GetExecutingAssembly().GetName().Version!; - Logger.LogInformation("Launching {name} {major}.{minor}.{build}", "Mare Synchronos", version.Major, version.Minor, version.Build); + Logger.LogInformation("Launching {name} {major}.{minor}.{build}", "Lightless Sync", version.Major, version.Minor, version.Build); Mediator.Publish(new EventMessage(new Services.Events.Event(nameof(MarePlugin), Services.Events.EventSeverity.Informational, - $"Starting Mare Synchronos {version.Major}.{version.Minor}.{version.Build}"))); + $"Starting Lightless Sync {version.Major}.{version.Minor}.{version.Build}"))); Mediator.Subscribe(this, (msg) => { if (_launchTask == null || _launchTask.IsCompleted) _launchTask = Task.Run(WaitForPlayerAndLaunchCharacterManager); }); Mediator.Subscribe(this, (_) => DalamudUtilOnLogIn()); diff --git a/LightlessSync/Services/CommandManagerService.cs b/LightlessSync/Services/CommandManagerService.cs index 70ce6c6..5afb446 100644 --- a/LightlessSync/Services/CommandManagerService.cs +++ b/LightlessSync/Services/CommandManagerService.cs @@ -36,7 +36,7 @@ public sealed class CommandManagerService : IDisposable _mareConfigService = mareConfigService; _commandManager.AddHandler(_commandName, new CommandInfo(OnCommand) { - HelpMessage = "Opens the Mare Synchronos UI" + Environment.NewLine + Environment.NewLine + + HelpMessage = "Opens the Lightless Sync UI" + Environment.NewLine + Environment.NewLine + "Additionally possible commands:" + Environment.NewLine + "\t /mare toggle - Disconnects from Mare, if connected. Connects to Mare, if disconnected" + Environment.NewLine + "\t /mare toggle on|off - Connects or disconnects to Mare respectively" + Environment.NewLine + @@ -72,7 +72,7 @@ public sealed class CommandManagerService : IDisposable { if (_apiController.ServerState == WebAPI.SignalR.Utils.ServerState.Disconnecting) { - _mediator.Publish(new NotificationMessage("Mare disconnecting", "Cannot use /toggle while Mare Synchronos is still disconnecting", + _mediator.Publish(new NotificationMessage("Mare disconnecting", "Cannot use /toggle while Lightless Sync is still disconnecting", NotificationType.Error)); } diff --git a/LightlessSync/Services/NotificationService.cs b/LightlessSync/Services/NotificationService.cs index a3e43aa..83b1176 100644 --- a/LightlessSync/Services/NotificationService.cs +++ b/LightlessSync/Services/NotificationService.cs @@ -41,19 +41,19 @@ public class NotificationService : DisposableMediatorSubscriberBase, IHostedServ private void PrintErrorChat(string? message) { - SeStringBuilder se = new SeStringBuilder().AddText("[Mare Synchronos] Error: " + message); + SeStringBuilder se = new SeStringBuilder().AddText("[Lightless Sync] Error: " + message); _chatGui.PrintError(se.BuiltString); } private void PrintInfoChat(string? message) { - SeStringBuilder se = new SeStringBuilder().AddText("[Mare Synchronos] Info: ").AddItalics(message ?? string.Empty); + SeStringBuilder se = new SeStringBuilder().AddText("[Lightless Sync] Info: ").AddItalics(message ?? string.Empty); _chatGui.Print(se.BuiltString); } private void PrintWarnChat(string? message) { - SeStringBuilder se = new SeStringBuilder().AddText("[Mare Synchronos] ").AddUiForeground("Warning: " + (message ?? string.Empty), 31).AddUiForegroundOff(); + SeStringBuilder se = new SeStringBuilder().AddText("[Lightless Sync] ").AddUiForeground("Warning: " + (message ?? string.Empty), 31).AddUiForegroundOff(); _chatGui.Print(se.BuiltString); } diff --git a/LightlessSync/UI/CharaDataHubUi.cs b/LightlessSync/UI/CharaDataHubUi.cs index c30655f..b2ee0f7 100644 --- a/LightlessSync/UI/CharaDataHubUi.cs +++ b/LightlessSync/UI/CharaDataHubUi.cs @@ -79,7 +79,7 @@ internal sealed partial class CharaDataHubUi : WindowMediatorSubscriberBase UiSharedService uiSharedService, ServerConfigurationManager serverConfigurationManager, DalamudUtilService dalamudUtilService, FileDialogManager fileDialogManager, PairManager pairManager, CharaDataGposeTogetherManager charaDataGposeTogetherManager) - : base(logger, mediator, "Mare Synchronos Character Data Hub###LightlessSyncCharaDataUI", performanceCollectorService) + : base(logger, mediator, "Lightless Sync Character Data Hub###LightlessSyncCharaDataUI", performanceCollectorService) { SetWindowSizeConstraints(); diff --git a/LightlessSync/UI/CompactUI.cs b/LightlessSync/UI/CompactUI.cs index 1e4558a..c1dcc20 100644 --- a/LightlessSync/UI/CompactUI.cs +++ b/LightlessSync/UI/CompactUI.cs @@ -114,11 +114,11 @@ public class CompactUi : WindowMediatorSubscriberBase #if DEBUG string dev = "Dev Build"; var ver = Assembly.GetExecutingAssembly().GetName().Version!; - WindowName = $"Mare Synchronos {dev} ({ver.Major}.{ver.Minor}.{ver.Build})###LightlessSyncMainUI"; + WindowName = $"Lightless Sync {dev} ({ver.Major}.{ver.Minor}.{ver.Build})###LightlessSyncMainUI"; Toggle(); #else var ver = Assembly.GetExecutingAssembly().GetName().Version; - WindowName = "Mare Synchronos " + ver.Major + "." + ver.Minor + "." + ver.Build + "###LightlessSyncMainUI"; + WindowName = "Lightless Sync " + ver.Major + "." + ver.Minor + "." + ver.Build + "###LightlessSyncMainUI"; #endif Mediator.Subscribe(this, (_) => IsOpen = true); Mediator.Subscribe(this, (_) => IsOpen = false); @@ -151,8 +151,8 @@ public class CompactUi : WindowMediatorSubscriberBase ImGui.AlignTextToFramePadding(); ImGui.TextColored(ImGuiColors.DalamudRed, unsupported); } - UiSharedService.ColorTextWrapped($"Your Mare Synchronos installation is out of date, the current version is {ver.Major}.{ver.Minor}.{ver.Build}. " + - $"It is highly recommended to keep Mare Synchronos up to date. Open /xlplugins and update the plugin.", ImGuiColors.DalamudRed); + UiSharedService.ColorTextWrapped($"Your Lightless Sync installation is out of date, the current version is {ver.Major}.{ver.Minor}.{ver.Build}. " + + $"It is highly recommended to keep Lightless Sync up to date. Open /xlplugins and update the plugin.", ImGuiColors.DalamudRed); } if (!_ipcManager.Initialized) @@ -566,10 +566,10 @@ public class CompactUi : WindowMediatorSubscriberBase { ServerState.Connecting => "Attempting to connect to the server.", ServerState.Reconnecting => "Connection to server interrupted, attempting to reconnect to the server.", - ServerState.Disconnected => "You are currently disconnected from the Mare Synchronos server.", + ServerState.Disconnected => "You are currently disconnected from the Lightless Sync server.", ServerState.Disconnecting => "Disconnecting from the server", ServerState.Unauthorized => "Server Response: " + _apiController.AuthFailureMessage, - ServerState.Offline => "Your selected Mare Synchronos server is currently offline.", + ServerState.Offline => "Your selected Lightless Sync server is currently offline.", ServerState.VersionMisMatch => "Your plugin or the server you are connecting to is out of date. Please update your plugin now. If you already did so, contact the server provider to update their server to the latest version.", ServerState.RateLimited => "You are rate limited for (re)connecting too often. Disconnect, wait 10 minutes and try again.", diff --git a/LightlessSync/UI/DownloadUi.cs b/LightlessSync/UI/DownloadUi.cs index dfb2844..39dde73 100644 --- a/LightlessSync/UI/DownloadUi.cs +++ b/LightlessSync/UI/DownloadUi.cs @@ -23,7 +23,7 @@ public class DownloadUi : WindowMediatorSubscriberBase public DownloadUi(ILogger logger, DalamudUtilService dalamudUtilService, MareConfigService configService, FileUploadManager fileTransferManager, MareMediator mediator, UiSharedService uiShared, PerformanceCollectorService performanceCollectorService) - : base(logger, mediator, "Mare Synchronos Downloads", performanceCollectorService) + : base(logger, mediator, "Lightless Sync Downloads", performanceCollectorService) { _dalamudUtilService = dalamudUtilService; _configService = configService; diff --git a/LightlessSync/UI/DtrEntry.cs b/LightlessSync/UI/DtrEntry.cs index 5771594..e441bb7 100644 --- a/LightlessSync/UI/DtrEntry.cs +++ b/LightlessSync/UI/DtrEntry.cs @@ -88,7 +88,7 @@ public sealed class DtrEntry : IDisposable, IHostedService private IDtrBarEntry CreateEntry() { _logger.LogTrace("Creating new DtrBar entry"); - var entry = _dtrBar.Get("Mare Synchronos"); + var entry = _dtrBar.Get("Lightless Sync"); entry.OnClick = _ => _mareMediator.Publish(new UiToggleMessage(typeof(CompactUi))); return entry; @@ -146,19 +146,19 @@ public sealed class DtrEntry : IDisposable, IHostedService .Select(x => string.Format("{0}", _configService.Current.PreferNoteInDtrTooltip ? x.GetNote() ?? x.PlayerName : x.PlayerName)); } - tooltip = $"Mare Synchronos: Connected{Environment.NewLine}----------{Environment.NewLine}{string.Join(Environment.NewLine, visiblePairs)}"; + tooltip = $"Lightless Sync: Connected{Environment.NewLine}----------{Environment.NewLine}{string.Join(Environment.NewLine, visiblePairs)}"; colors = _configService.Current.DtrColorsPairsInRange; } else { - tooltip = "Mare Synchronos: Connected"; + tooltip = "Lightless Sync: Connected"; colors = _configService.Current.DtrColorsDefault; } } else { text = "\uE044 \uE04C"; - tooltip = "Mare Synchronos: Not Connected"; + tooltip = "Lightless Sync: Not Connected"; colors = _configService.Current.DtrColorsNotConnected; } diff --git a/LightlessSync/UI/EditProfileUi.cs b/LightlessSync/UI/EditProfileUi.cs index 645f0bd..8085f7a 100644 --- a/LightlessSync/UI/EditProfileUi.cs +++ b/LightlessSync/UI/EditProfileUi.cs @@ -33,7 +33,7 @@ public class EditProfileUi : WindowMediatorSubscriberBase public EditProfileUi(ILogger logger, MareMediator mediator, ApiController apiController, UiSharedService uiSharedService, FileDialogManager fileDialogManager, MareProfileManager mareProfileManager, PerformanceCollectorService performanceCollectorService) - : base(logger, mediator, "Mare Synchronos Edit Profile###LightlessSyncEditProfileUI", performanceCollectorService) + : base(logger, mediator, "Lightless Sync Edit Profile###LightlessSyncEditProfileUI", performanceCollectorService) { IsOpen = false; this.SizeConstraints = new() diff --git a/LightlessSync/UI/IntroUI.cs b/LightlessSync/UI/IntroUI.cs index 454aad6..e06ba5d 100644 --- a/LightlessSync/UI/IntroUI.cs +++ b/LightlessSync/UI/IntroUI.cs @@ -35,7 +35,7 @@ public partial class IntroUi : WindowMediatorSubscriberBase public IntroUi(ILogger logger, UiSharedService uiShared, MareConfigService configService, CacheMonitor fileCacheManager, ServerConfigurationManager serverConfigurationManager, MareMediator mareMediator, - PerformanceCollectorService performanceCollectorService, DalamudUtilService dalamudUtilService) : base(logger, mareMediator, "Mare Synchronos Setup", performanceCollectorService) + PerformanceCollectorService performanceCollectorService, DalamudUtilService dalamudUtilService) : base(logger, mareMediator, "Lightless Sync Setup", performanceCollectorService) { _uiShared = uiShared; _configService = configService; @@ -70,9 +70,9 @@ public partial class IntroUi : WindowMediatorSubscriberBase if (!_configService.Current.AcceptedAgreement && !_readFirstPage) { - _uiShared.BigText("Welcome to Mare Synchronos"); + _uiShared.BigText("Welcome to Lightless Sync"); ImGui.Separator(); - UiSharedService.TextWrapped("Mare Synchronos is a plugin that will replicate your full current character state including all Penumbra mods to other paired Mare Synchronos users. " + + UiSharedService.TextWrapped("Lightless Sync is a plugin that will replicate your full current character state including all Penumbra mods to other paired Lightless Sync users. " + "Note that you will have to have Penumbra as well as Glamourer installed to use this plugin."); UiSharedService.TextWrapped("We will have to setup a few things first before you can start using this plugin. Click on next to continue."); @@ -167,11 +167,11 @@ public partial class IntroUi : WindowMediatorSubscriberBase } else { - UiSharedService.TextWrapped("To not unnecessary download files already present on your computer, Mare Synchronos will have to scan your Penumbra mod directory. " + - "Additionally, a local storage folder must be set where Mare Synchronos will download other character files to. " + + UiSharedService.TextWrapped("To not unnecessary download files already present on your computer, Lightless Sync will have to scan your Penumbra mod directory. " + + "Additionally, a local storage folder must be set where Lightless Sync will download other character files to. " + "Once the storage folder is set and the scan complete, this page will automatically forward to registration at a service."); UiSharedService.TextWrapped("Note: The initial scan, depending on the amount of mods you have, might take a while. Please wait until it is completed."); - UiSharedService.ColorTextWrapped("Warning: once past this step you should not delete the FileCache.csv of Mare Synchronos in the Plugin Configurations folder of Dalamud. " + + UiSharedService.ColorTextWrapped("Warning: once past this step you should not delete the FileCache.csv of Lightless Sync in the Plugin Configurations folder of Dalamud. " + "Otherwise on the next launch a full re-scan of the file cache database will be initiated.", ImGuiColors.DalamudYellow); UiSharedService.ColorTextWrapped("Warning: if the scan is hanging and does nothing for a long time, chances are high your Penumbra folder is not set up properly.", ImGuiColors.DalamudYellow); _uiShared.DrawCacheDirectorySetting(); @@ -205,13 +205,13 @@ public partial class IntroUi : WindowMediatorSubscriberBase using (_uiShared.UidFont.Push()) ImGui.TextUnformatted("Service Registration"); ImGui.Separator(); - UiSharedService.TextWrapped("To be able to use Mare Synchronos you will have to register an account."); - UiSharedService.TextWrapped("For the official Mare Synchronos Servers the account creation will be handled on the official Mare Synchronos Discord. Due to security risks for the server, there is no way to handle this sensibly otherwise."); + UiSharedService.TextWrapped("To be able to use Lightless Sync you will have to register an account."); + UiSharedService.TextWrapped("For the official Lightless Sync Servers the account creation will be handled on the official Lightless Sync Discord. Due to security risks for the server, there is no way to handle this sensibly otherwise."); UiSharedService.TextWrapped("If you want to register at the main server \"" + WebAPI.ApiController.MainServer + "\" join the Discord and follow the instructions as described in #mare-service."); - if (ImGui.Button("Join the Mare Synchronos Discord")) + if (ImGui.Button("Join the Light Public Syncshells Discord")) { - Util.OpenLink("https://discord.gg/mpNdkrTRjW"); + Util.OpenLink("https://discord.gg/dsbjcXMnhA"); } UiSharedService.TextWrapped("For all other non official services you will have to contact the appropriate service provider how to obtain a secret key."); diff --git a/LightlessSync/UI/SettingsUi.cs b/LightlessSync/UI/SettingsUi.cs index 5707be0..50ef08b 100644 --- a/LightlessSync/UI/SettingsUi.cs +++ b/LightlessSync/UI/SettingsUi.cs @@ -77,7 +77,7 @@ public class SettingsUi : WindowMediatorSubscriberBase FileCacheManager fileCacheManager, FileCompactor fileCompactor, ApiController apiController, IpcManager ipcManager, CacheMonitor cacheMonitor, - DalamudUtilService dalamudUtilService, HttpClient httpClient) : base(logger, mediator, "Mare Synchronos Settings", performanceCollector) + DalamudUtilService dalamudUtilService, HttpClient httpClient) : base(logger, mediator, "Lightless Sync Settings", performanceCollector) { _configService = configService; _pairManager = pairManager; @@ -1940,7 +1940,7 @@ public class SettingsUi : WindowMediatorSubscriberBase ImGui.AlignTextToFramePadding(); ImGui.TextUnformatted("Community and Support:"); ImGui.SameLine(); - if (ImGui.Button("Mare Synchronos Discord")) + if (ImGui.Button("Lightless Sync Discord")) { Util.OpenLink("https://discord.gg/mpNdkrTRjW"); } diff --git a/LightlessSync/UI/UISharedService.cs b/LightlessSync/UI/UISharedService.cs index 4ba06f3..a7262fe 100644 --- a/LightlessSync/UI/UISharedService.cs +++ b/LightlessSync/UI/UISharedService.cs @@ -462,7 +462,7 @@ public partial class UiSharedService : DisposableMediatorSubscriberBase { if (IconButton(FontAwesomeIcon.Folder)) { - FileDialogManager.OpenFolderDialog("Pick Mare Synchronos Storage Folder", (success, path) => + FileDialogManager.OpenFolderDialog("Pick Lightless Sync Storage Folder", (success, path) => { if (!success) return; @@ -811,7 +811,7 @@ public partial class UiSharedService : DisposableMediatorSubscriberBase if (!_penumbraExists || !_glamourerExists) { - ImGui.TextColored(ImGuiColors.DalamudRed, "You need to install both Penumbra and Glamourer and keep them up to date to use Mare Synchronos."); + ImGui.TextColored(ImGuiColors.DalamudRed, "You need to install both Penumbra and Glamourer and keep them up to date to use Lightless Sync."); return false; } diff --git a/LightlessSync/WebAPI/SignalR/ApiController.cs b/LightlessSync/WebAPI/SignalR/ApiController.cs index 7bae884..235ba54 100644 --- a/LightlessSync/WebAPI/SignalR/ApiController.cs +++ b/LightlessSync/WebAPI/SignalR/ApiController.cs @@ -240,7 +240,7 @@ public sealed partial class ApiController : DisposableMediatorSubscriberBase, IL Mediator.Publish(new NotificationMessage("Client incompatible", $"Your client is outdated ({currentClientVer.Major}.{currentClientVer.Minor}.{currentClientVer.Build}), current is: " + $"{_connectionDto.CurrentClientVersion.Major}.{_connectionDto.CurrentClientVersion.Minor}.{_connectionDto.CurrentClientVersion.Build}. " + - $"This client version is incompatible and will not be able to connect. Please update your Mare Synchronos client.", + $"This client version is incompatible and will not be able to connect. Please update your Lightless Sync client.", NotificationType.Error)); } await StopConnectionAsync(ServerState.VersionMisMatch).ConfigureAwait(false); @@ -252,7 +252,7 @@ public sealed partial class ApiController : DisposableMediatorSubscriberBase, IL Mediator.Publish(new NotificationMessage("Client outdated", $"Your client is outdated ({currentClientVer.Major}.{currentClientVer.Minor}.{currentClientVer.Build}), current is: " + $"{_connectionDto.CurrentClientVersion.Major}.{_connectionDto.CurrentClientVersion.Minor}.{_connectionDto.CurrentClientVersion.Build}. " + - $"Please keep your Mare Synchronos client up-to-date.", + $"Please keep your Lightless Sync client up-to-date.", NotificationType.Warning)); } @@ -262,7 +262,7 @@ public sealed partial class ApiController : DisposableMediatorSubscriberBase, IL if (!_mareConfigService.Current.DebugStopWhining) Mediator.Publish(new NotificationMessage("Modified Game Files detected", "Dalamud is reporting your FFXIV installation has modified game files. Any mods installed through TexTools will produce this message. " + - "Mare Synchronos, Penumbra, and some other plugins assume your FFXIV installation is unmodified in order to work. " + + "Lightless Sync, Penumbra, and some other plugins assume your FFXIV installation is unmodified in order to work. " + "Synchronization with pairs/shells can break because of this. Exit the game, open XIVLauncher, click the arrow next to Log In " + "and select 'repair game files' to resolve this issue. Afterwards, do not install any mods with TexTools. Your plugin configurations will remain, as will mods enabled in Penumbra.", NotificationType.Error, TimeSpan.FromSeconds(15)));