Compare commits

..

31 Commits

Author SHA1 Message Date
f35052638a Merge pull request '#19: Fixed massive font size on the threshhold warning.' (#24) from show-own-threshold into 1.11.6
Reviewed-on: #24
2025-09-11 01:52:31 +02:00
1d70c8777e Merge pull request '#19: Added the treshhold information in compactUI to show in the UID header.' (#23) from show-own-threshold into 1.11.6
Reviewed-on: #23
Reviewed-by: defnotken <defnotken@noreply.git.lightless-sync.org>
2025-09-11 01:32:27 +02:00
880299997f Merge pull request '#9: Added validation on saving/creation of folders on name check.' (#22) from folders-name-limit into 1.11.6
Reviewed-on: #22
Reviewed-by: defnotken <defnotken@noreply.git.lightless-sync.org>
2025-09-11 01:32:19 +02:00
CakeAndBanana
1842cb3954 Fixed massive font size on the threshhold warning. 2025-09-10 22:04:07 +02:00
3e46014e5f Merge branch '1.11.6' into folders-name-limit 2025-09-10 16:02:48 +02:00
defnotken
f69ad70f0c updates to submodules 2025-09-10 09:02:10 -05:00
defnotken
7e7f88a072 Merge branch '1.11.6' of https://git.lightless-sync.org/Lightless-Sync/LightlessClient into 1.11.6 2025-09-10 08:59:54 -05:00
defnotken
bd98a630c8 Fixing PVP Nameplate 2025-09-10 08:58:04 -05:00
CakeAndBanana
523dfc7295 Added the treshhold information in compactUI to show in the UID header. 2025-09-10 06:08:02 +02:00
CakeAndBanana
e07863ddd4 Added validation on saving/creation of folders on name check. 2025-09-10 05:18:19 +02:00
2361b30e9f Merge pull request 'add UI colors in config file' (#21) from color-picker-fix into 1.11.6
Reviewed-on: #21
Reviewed-by: defnotken <defnotken@noreply.git.lightless-sync.org>
2025-09-10 00:09:13 +02:00
cc03bb576d Merge branch '1.11.6' into color-picker-fix 2025-09-10 00:05:47 +02:00
choco
1511090f63 add UI colors in config file 2025-09-09 23:55:02 +02:00
defnotken
dfc6f4ec3c update API 2025-09-09 16:36:57 -05:00
25a0eeadc8 #9: Functionality to have Syncshell folders. (#20)
Co-authored-by: CakeAndBanana <admin@cakeandbanana.nl>
Reviewed-on: #20
Reviewed-by: defnotken <defnotken@noreply.git.lightless-sync.org>
Co-authored-by: cake <cake@noreply.git.lightless-sync.org>
Co-committed-by: cake <cake@noreply.git.lightless-sync.org>
2025-09-09 23:31:50 +02:00
9416e376b8 Pause at duty (#18)
Co-authored-by: defnotken <itsdefnotken@gmail.com>
Reviewed-on: #18
Reviewed-by: cake <cake@noreply.git.lightless-sync.org>
2025-09-07 23:43:19 +02:00
1bc120c8aa Merge pull request 'choco-ui-color-picker' (#17) from choco/LightlessClient:choco-ui-color-picker into 1.11.6
Reviewed-on: #17
Reviewed-by: cake <cake@noreply.git.lightless-sync.org>
2025-09-07 21:06:44 +02:00
choco
46bc99a932 merges 2025-09-07 20:51:07 +02:00
choco
3605db0969 Merge branch '1.11.6' of https://git.lightless-sync.org/choco/LightlessClient into choco-ui-color-picker 2025-09-07 20:46:29 +02:00
c64091d997 Merge pull request '#12: Added different event listener for DtrInteractionEvent.' (#15) from dtrbar-change into 1.11.6
Reviewed-on: #15
Reviewed-by: defnotken <defnotken@noreply.git.lightless-sync.org>
2025-09-07 20:29:43 +02:00
65d483e0f8 Merge pull request '#7: Redoing of the admin syncshell screen' (#6) from syncshell_admin_user_list into 1.11.6
Reviewed-on: #6
Reviewed-by: defnotken <defnotken@noreply.git.lightless-sync.org>
2025-09-07 20:29:36 +02:00
8c1751fe61 Merge branch '1.11.6' into ui-color-picker 2025-09-07 20:14:57 +02:00
thijmenh
1b6eb149b8 change color theme feature with reset functionality to settings UI also changed dalamudyellow to lightlessyellow 2025-09-07 19:19:49 +02:00
CakeAndBanana
2f6dbc273c Changed some strings 2025-09-07 16:42:33 +02:00
CakeAndBanana
7bb4e89a0d Added 1 and 3 option in the inactive setting. 2025-09-07 16:39:34 +02:00
CakeAndBanana
8facbafff9 Added different left and right click function. Added disconnect on right click, settings if you shift+leftclick. 2025-09-07 16:00:46 +02:00
defnotken
5e30cb7bea Update LightlessAPI submodule + allow pinning 2025-09-06 08:00:40 -05:00
CakeAndBanana
4b8445a120 Redid syncshell admin panel with same style as settings 2025-09-04 03:53:24 +02:00
CakeAndBanana
d9cf5aecf4 Added owner icon and removed ban/kick/pin buttons for owner if he/she is in list. 2025-09-03 23:04:33 +02:00
defnotken
d2ac922881 wrong letter oops 2025-09-02 10:38:27 -05:00
defnotken
b31f59a7b5 Starting 1.11.6 off with a Library Update 2025-09-02 10:34:10 -05:00
6 changed files with 33 additions and 81 deletions

View File

@@ -583,14 +583,7 @@ public sealed class CacheMonitor : DisposableMediatorSubscriberBase
}
catch (Exception ex)
{
if (workload != null)
{
Logger.LogWarning(ex, "Failed validating {path}", workload.ResolvedFilepath);
}
else
{
Logger.LogWarning(ex, "Failed validating unknown workload");
}
Logger.LogWarning(ex, "Failed validating {path}", workload.ResolvedFilepath);
}
Interlocked.Increment(ref _currentFileProgress);
}
@@ -654,12 +647,6 @@ public sealed class CacheMonitor : DisposableMediatorSubscriberBase
CancellationToken = ct
}, (cachePath) =>
{
if (_fileDbManager == null || _ipcManager?.Penumbra == null || cachePath == null)
{
Logger.LogTrace("Potential null in db: {isDbNull} penumbra: {isPenumbraNull} cachepath: {isPathNull}", _fileDbManager == null, _ipcManager?.Penumbra == null, cachePath == null);
return;
}
if (ct.IsCancellationRequested) return;
if (!_ipcManager.Penumbra.APIAvailable)

View File

@@ -180,32 +180,21 @@ public sealed class FileCacheManager : IHostedService
try
{
var cleanedPaths = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
foreach (var p in paths)
{
var cleaned = p.Replace("/", "\\", StringComparison.OrdinalIgnoreCase)
var cleanedPaths = paths.Distinct(StringComparer.OrdinalIgnoreCase).ToDictionary(p => p,
p => p.Replace("/", "\\", StringComparison.OrdinalIgnoreCase)
.Replace(_ipcManager.Penumbra.ModDirectory!, _ipcManager.Penumbra.ModDirectory!.EndsWith('\\') ? PenumbraPrefix + '\\' : PenumbraPrefix, StringComparison.OrdinalIgnoreCase)
.Replace(_configService.Current.CacheFolder, _configService.Current.CacheFolder.EndsWith('\\') ? CachePrefix + '\\' : CachePrefix, StringComparison.OrdinalIgnoreCase)
.Replace("\\\\", "\\", StringComparison.Ordinal);
if (!cleanedPaths.ContainsValue(cleaned))
{
_logger.LogDebug("Adding to cleanedPaths: {cleaned}", cleaned);
cleanedPaths[p] = cleaned;
} else
{
_logger.LogWarning("Duplicated found: {cleaned}", cleaned);
}
}
.Replace("\\\\", "\\", StringComparison.Ordinal),
StringComparer.OrdinalIgnoreCase);
Dictionary<string, FileCacheEntity?> result = new(StringComparer.OrdinalIgnoreCase);
var dict = _fileCaches.SelectMany(f => f.Value).Distinct()
var dict = _fileCaches.SelectMany(f => f.Value)
.ToDictionary(d => d.PrefixedFilePath, d => d, StringComparer.OrdinalIgnoreCase);
foreach (var entry in cleanedPaths)
{
_logger.LogDebug("Checking if in cache: {path}", entry.Value);
//_logger.LogDebug("Checking {path}", entry.Value);
if (dict.TryGetValue(entry.Value, out var entity))
{

View File

@@ -3,7 +3,7 @@
<PropertyGroup>
<Authors></Authors>
<Company></Company>
<Version>1.11.8</Version>
<Version>1.11.6</Version>
<Description></Description>
<Copyright></Copyright>
<PackageProjectUrl>https://github.com/Light-Public-Syncshells/LightlessClient</PackageProjectUrl>

View File

@@ -299,7 +299,7 @@ public class ServerConfigurationManager
internal void AddPairTag(string tag)
{
if (tag.Length <= _maxCharactersFolder)
if (tag.Length > _maxCharactersFolder)
{
CurrentPairTagStorage().ServerAvailablePairTags.Add(tag);
_pairTagConfig.Save();
@@ -313,7 +313,7 @@ public class ServerConfigurationManager
internal void AddSyncshellTag(string tag)
{
if (tag.Length <= _maxCharactersFolder)
if (tag.Length > _maxCharactersFolder)
{
CurrentSyncshellTagStorage().ServerAvailableSyncshellTags.Add(tag);
_syncshellTagConfig.Save();

View File

@@ -416,6 +416,10 @@ public class CompactUi : WindowMediatorSubscriberBase
//Getting information of character and triangles threshold to show overlimit status in UID bar.
_cachedAnalysis = _characterAnalyzer.LastAnalysis.DeepClone();
var groupedfiles = _cachedAnalysis.First().Value.Select(v => v.Value).GroupBy(f => f.FileType, StringComparer.Ordinal)
.OrderBy(k => k.Key, StringComparer.Ordinal).ToList();
var actualTriCount = _cachedAnalysis.First().Value.Sum(f => f.Value.Triangles);
var isOverTriHold = actualTriCount > (_playerPerformanceConfig.Current.TrisWarningThresholdThousands * 1000);
using (_uiSharedService.UidFont.Push())
{
@@ -424,58 +428,30 @@ public class CompactUi : WindowMediatorSubscriberBase
ImGui.TextColored(GetUidColor(), uidText);
}
UiSharedService.AttachToolTip("Click to copy");
if (ImGui.IsItemClicked())
if (groupedfiles != null)
{
ImGui.SetClipboardText(uidText);
}
//Checking of VRAM threshhold
var actualVramUsage = groupedfiles.SingleOrDefault(v => string.Equals(v.Key, "tex", StringComparison.Ordinal)).Sum(f => f.OriginalSize);
var isOverVRAMUsage = _playerPerformanceConfig.Current.VRAMSizeWarningThresholdMiB * 1024 * 1024 < actualVramUsage;
if (_cachedAnalysis != null)
{
var firstEntry = _cachedAnalysis.FirstOrDefault();
var valueDict = firstEntry.Value;
if (valueDict != null && valueDict.Count > 0)
if (isOverTriHold || isOverVRAMUsage)
{
var groupedfiles = valueDict
.Select(v => v.Value)
.Where(v => v != null)
.GroupBy(f => f.FileType, StringComparer.Ordinal)
.OrderBy(k => k.Key, StringComparer.Ordinal)
.ToList();
var actualTriCount = valueDict
.Select(v => v.Value)
.Where(v => v != null)
.Sum(f => f.Triangles);
if (groupedfiles != null)
ImGui.SameLine();
_uiSharedService.IconText(FontAwesomeIcon.ExclamationTriangle, UIColors.Get("LightlessYellow"));
string warningMessage = "";
if (isOverTriHold)
{
//Checking of VRAM threshhold
var texGroup = groupedfiles.SingleOrDefault(v => string.Equals(v.Key, "tex", StringComparison.Ordinal));
var actualVramUsage = texGroup != null ? texGroup.Sum(f => f.OriginalSize) : 0L;
var isOverVRAMUsage = _playerPerformanceConfig.Current.VRAMSizeWarningThresholdMiB * 1024 * 1024 < actualVramUsage;
var isOverTriHold = actualTriCount > (_playerPerformanceConfig.Current.TrisWarningThresholdThousands * 1000);
warningMessage += $"You exceed your own triangles threshold by " +
$"{actualTriCount - _playerPerformanceConfig.Current.TrisWarningThresholdThousands * 1000} triangles.";
warningMessage += Environment.NewLine;
if ((isOverTriHold || isOverVRAMUsage) && _playerPerformanceConfig.Current.WarnOnExceedingThresholds)
{
ImGui.SameLine();
_uiSharedService.IconText(FontAwesomeIcon.ExclamationTriangle, UIColors.Get("LightlessYellow"));
string warningMessage = "";
if (isOverTriHold)
{
warningMessage += $"You exceed your own triangles threshold by " +
$"{actualTriCount - _playerPerformanceConfig.Current.TrisWarningThresholdThousands * 1000} triangles.";
warningMessage += Environment.NewLine;
}
if (isOverVRAMUsage)
{
warningMessage += $"You exceed your own VRAM threshold by " +
$"{UiSharedService.ByteToString(actualVramUsage - (_playerPerformanceConfig.Current.VRAMSizeWarningThresholdMiB * 1024 * 1024))}.";
}
UiSharedService.AttachToolTip(warningMessage);
}
}
if (isOverVRAMUsage)
{
warningMessage += $"You exceed your own VRAM threshold by " +
$"{UiSharedService.ByteToString(actualVramUsage - (_playerPerformanceConfig.Current.VRAMSizeWarningThresholdMiB * 1024 * 1024))}.";
}
UiSharedService.AttachToolTip(warningMessage);
}
}

View File

@@ -169,7 +169,7 @@ public class DownloadUi : WindowMediatorSubscriberBase
var dlProgressPercent = transferredBytes / (double)totalBytes;
drawList.AddRectFilled(dlBarStart,
dlBarEnd with { X = dlBarStart.X + (float)(dlProgressPercent * dlBarWidth) },
UiSharedService.Color(UIColors.Get("LightlessPurple")));
UiSharedService.Color(173, 138, 245, transparency), 1);
if (_configService.Current.TransferBarsShowText)
{