Skip to content

Commit 8bc50e3

Browse files
authored
Preview 1.83.3 (#755)
# What's changed? - **[Fix]** Update .NET to 9.0.5 to address [CVE-2025-26646](GHSA-h4j7-5rxr-p4wc), by @bagusnl - **[Imp]** Update project dependencies, by @bagusnl - Microsoft.Windows.SDK.BuildTools (10.0.26100.3916 -> 10.0.26100.4188) - Velopack (0.0.1053 -> 0.0.1297) - Sentry (5.6.0 -> 5.10.0) - Protobuf (3.30.0 -> 3.31.1) - WindowsAppSDK (1.8.250410001-experimental1 -> 1.8.250515001-experimental2) - Webview (1.0.3240.44 -> 1.0.3296-prerelease) - Markdig.Signed (0.41.1 -> 0.41.2) - **[Fix]** Avoid initializing `config.ini` on initialization, by @neon-nyan - **[Fix]** Make Collapse aware of alternate game executable names, by @neon-nyan - **[Fix]** Remove unused string on delta patch repair mechanism, by @neon-nyan - **[Fix]** Fix wrong indicator if the game has both Sophon and Delta-patch file during update, by @neon-nyan - **[Fix]** Resolve an issue where the app would crash when the user creates a Steam shortcut for the game, by @neon-nyan - **[Imp]** Prevent repair from nuking the install for Genshin Impact, by @bagusnl - **[Imp]** Add image loading retry function, by @bagusnl - **[Fix]** Remove Velopack update error in console window due to the app not being installed (e.g., when ran as a nightly build or in Debug mode), by @bagusnl - **[Fix]**: Ignore 404 error when repairing files. The repair function will now simply skip the file and log the file that returns the 404 in the console window instead of interrupting the process altogether, by @bagusnl - **[Fix]**: Fix Sophon running while fallback ZIP mode is enabled, by @neon-nyan - **[New]**: Support game patching following ZZZ 2.0 update, by @neon-nyan - **[New]**: Adding "Ambient Noise Volume" on ZZZ Game Settings page, by @neon-nyan
2 parents cd9b5a8 + 0965bd9 commit 8bc50e3

File tree

80 files changed

+1516
-576
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+1516
-576
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ on:
2626

2727
env:
2828
DOTNET_INSTALL_DIR: '.\.dotnet'
29-
DOTNET_VERSION: '9.0.2xx'
29+
DOTNET_VERSION: '9.0.3xx'
3030
DOTNET_QUALITY: 'ga'
3131
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
3232

.github/workflows/qodana-scan-pr.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
Configuration: ${{ matrix.configuration }}
3030
Platform: ${{ matrix.platform }}
3131
DOTNET_INSTALL_DIR: '.\.dotnet'
32-
DOTNET_VERSION: '9.0.2xx'
32+
DOTNET_VERSION: '9.0.3xx'
3333
DOTNET_QUALITY: 'ga'
3434
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
3535

@@ -58,6 +58,8 @@ jobs:
5858
pr-mode: true
5959
env:
6060
QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }} # read the steps about it below
61+
_JAVA_OPTIONS: -Xmx2g
62+
JAVA_OPTIONS: -Xmx2g
6163
- uses: github/codeql-action/upload-sarif@v3
6264
if: ${{ github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name }}
6365
with:

.github/workflows/qodana-scan.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
Configuration: ${{ matrix.configuration }}
2121
Platform: ${{ matrix.platform }}
2222
DOTNET_INSTALL_DIR: '.\.dotnet'
23-
DOTNET_VERSION: '9.0.2xx'
23+
DOTNET_VERSION: '9.0.3xx'
2424
DOTNET_QUALITY: 'ga'
2525
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
2626
permissions:

.github/workflows/release-signed.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ env:
99
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
1010
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
1111
DOTNET_INSTALL_DIR: '.\.dotnet'
12-
DOTNET_VERSION: '9.0.2xx'
12+
DOTNET_VERSION: '9.0.3xx'
1313
DOTNET_QUALITY: 'ga'
1414
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
1515
SIGNPATH_ARTIFACT_SLUG: 'initial' # change this to 'aot-release' when releasing with AOT or 'initial' for normal release
121 KB
Loading
2.64 MB
Loading

CollapseLauncher.slnx

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,81 +5,81 @@
55
<BuildType Name="Release" />
66
<Platform Name="x64" />
77
</Configurations>
8-
<Project Path="CollapseLauncher\CollapseLauncher.csproj" Id="b71c36f7-f4f7-4d7d-8ba4-cfeb0fc8bd92">
8+
<Project Path="CollapseLauncher/CollapseLauncher.csproj">
99
<Platform Project="x64" />
10+
<Deploy Solution="Release|*" />
1011
</Project>
11-
<Project Path="ColorThief\ColorThief\ColorThief.csproj" Id="2ed0d451-cbaf-4919-9026-e7add7ca8e2d">
12+
<Project Path="ColorThief/ColorThief/ColorThief.csproj">
1213
<BuildType Solution="Publish|*" Project="Release" />
1314
<Platform Project="x64" />
1415
</Project>
15-
<Project Path="H.NotifyIcon\src\libs\H.GeneratedIcons.System.Drawing\H.GeneratedIcons.System.Drawing.csproj" Id="1f5ca675-4adf-4664-99b7-c27cce07e498">
16+
<Project Path="H.NotifyIcon/src/libs/H.GeneratedIcons.System.Drawing/H.GeneratedIcons.System.Drawing.csproj">
1617
<BuildType Solution="Publish|*" Project="Release" />
1718
<Platform Project="x64" />
1819
</Project>
19-
<Project Path="H.NotifyIcon\src\libs\H.NotifyIcon.WinUI\H.NotifyIcon.WinUI.csproj" Id="89b8ef27-0207-4f5e-8321-171e210df786">
20+
<Project Path="H.NotifyIcon/src/libs/H.NotifyIcon.WinUI/H.NotifyIcon.WinUI.csproj">
2021
<BuildType Solution="Publish|*" Project="Release" />
2122
<Platform Project="x64" />
2223
</Project>
23-
<Project Path="H.NotifyIcon\src\libs\H.NotifyIcon\H.NotifyIcon.csproj" Id="ee54b1d4-6fe3-422b-8b42-6af9fddfee2a">
24+
<Project Path="H.NotifyIcon/src/libs/H.NotifyIcon/H.NotifyIcon.csproj">
2425
<BuildType Solution="Publish|*" Project="Release" />
2526
<Platform Project="x64" />
2627
</Project>
27-
<Project Path="Hi3Helper.CommunityToolkit\ImageCropper\Hi3Helper.CommunityToolkit.WinUI.Controls.ImageCropper.csproj" Id="8e437186-9d61-4fd3-b9da-4871a0a32ef4">
28+
<Project Path="Hi3Helper.CommunityToolkit/ImageCropper/Hi3Helper.CommunityToolkit.WinUI.Controls.ImageCropper.csproj">
2829
<BuildType Solution="Publish|*" Project="Release" />
2930
<Platform Project="x64" />
3031
</Project>
31-
<Project Path="Hi3Helper.CommunityToolkit\SettingsControls\Hi3Helper.CommunityToolkit.WinUI.Controls.SettingsControls.csproj" Id="5bcd6877-0385-4f3e-b490-f619fe9f880c">
32+
<Project Path="Hi3Helper.CommunityToolkit/SettingsControls/Hi3Helper.CommunityToolkit.WinUI.Controls.SettingsControls.csproj">
3233
<BuildType Solution="Publish|*" Project="Release" />
3334
<Platform Project="x64" />
3435
</Project>
35-
<Project Path="Hi3Helper.Core\Hi3Helper.Core.csproj" Id="0ad5f84e-a3c1-4984-837f-6046e8c219de">
36-
<BuildType Solution="Publish|*" Project="Release" />
36+
<Project Path="Hi3Helper.Core/Hi3Helper.Core.csproj">
3737
<Platform Project="x64" />
3838
</Project>
39-
<Project Path="Hi3Helper.EncTool.Test\Hi3Helper.EncTool.Test.csproj" Id="02f12e87-7423-420f-a3b6-07f32b4f5b9e">
39+
<Project Path="Hi3Helper.EncTool.Test/Hi3Helper.EncTool.Test.csproj">
4040
<BuildType Solution="Publish|*" Project="Release" />
4141
<Platform Project="x64" />
4242
<Build Solution="Publish|*" Project="false" />
4343
<Build Solution="Release|*" Project="false" />
4444
</Project>
45-
<Project Path="Hi3Helper.EncTool\Hi3Helper.EncTool.csproj" Id="5ba95b31-a352-4477-ae5a-640a7c0e4b35">
45+
<Project Path="Hi3Helper.EncTool/Hi3Helper.EncTool.csproj">
4646
<BuildType Solution="Publish|*" Project="Release" />
4747
<Platform Project="x64" />
4848
</Project>
49-
<Project Path="Hi3Helper.Http\Hi3Helper.Http.csproj" Id="9b438d88-6f1e-4eaa-aaa4-499aebb04de8">
49+
<Project Path="Hi3Helper.Http/Hi3Helper.Http.csproj">
5050
<BuildType Solution="Publish|*" Project="Release" />
5151
<Platform Project="x64" />
5252
</Project>
53-
<Project Path="Hi3Helper.SharpDiscordRPC\DiscordRPC\DiscordRPC.csproj" Id="3708cd62-4b90-4498-b61a-43bca7a4a144">
53+
<Project Path="Hi3Helper.SharpDiscordRPC/DiscordRPC/DiscordRPC.csproj">
5454
<BuildType Solution="Publish|*" Project="Release" />
5555
<Platform Project="x64" />
5656
</Project>
57-
<Project Path="Hi3Helper.Sophon\Hi3Helper.Sophon.csproj" Id="17e6d3cd-1d68-4254-85b3-6286a7992a4e">
57+
<Project Path="Hi3Helper.Sophon/Hi3Helper.Sophon.csproj">
5858
<BuildType Solution="Publish|*" Project="Release" />
5959
<Platform Project="x64" />
6060
</Project>
61-
<Project Path="Hi3Helper.TaskScheduler\Hi3Helper.TaskScheduler.csproj" Id="561b6ad6-2bc3-4a88-8401-ab5e7f0bd517">
61+
<Project Path="Hi3Helper.TaskScheduler/Hi3Helper.TaskScheduler.csproj">
6262
<BuildType Solution="Publish|*" Project="Release" />
6363
<Platform Project="x64" />
6464
</Project>
6565
<Project Path="Hi3Helper.Win32/Hi3Helper.Win32.csproj">
66-
<BuildType Solution="Publish|*" Project="Debug" />
66+
<BuildType Solution="Publish|*" Project="Release" />
67+
<Platform Project="x64" />
68+
</Project>
69+
<Project Path="Hi3Helper.Win32/WinRT/Hi3Helper.Win32.WinRT.csproj">
70+
<BuildType Solution="Publish|*" Project="Release" />
6771
<Platform Project="x64" />
6872
</Project>
69-
<Project Path="ImageEx\ImageEx\ImageEx.csproj" Id="9c7abc1d-504e-45c4-ae76-98a9f6e28c80">
73+
<Project Path="ImageEx/ImageEx/ImageEx.csproj">
7074
<BuildType Solution="Publish|*" Project="Release" />
7175
<Platform Project="x64" />
7276
</Project>
73-
<Project Path="InnoSetupHelper\InnoSetupHelper.csproj" Id="505d0af2-3df6-4a1e-a593-e7bcf390948b">
77+
<Project Path="InnoSetupHelper/InnoSetupHelper.csproj">
7478
<BuildType Solution="Publish|*" Project="Release" />
7579
<Platform Project="x64" />
7680
</Project>
77-
<Project Path="SevenZipExtractor\SevenZipExtractor\SevenZipExtractor.csproj" Id="3a870233-747f-495d-b08d-770141bd715e">
81+
<Project Path="SevenZipExtractor/SevenZipExtractor/SevenZipExtractor.csproj">
7882
<BuildType Solution="Publish|*" Project="Release" />
7983
<Platform Project="x64" />
8084
</Project>
81-
<Project Path="Hi3Helper.Win32\WinRT\Hi3Helper.Win32.WinRT.csproj" Id="5CA5A261-1D5B-8A4D-EA87-B031CFFD4DDD">
82-
<BuildType Solution="Publish|*" Project="Release" />
83-
<Platform Project="x64" />
84-
</Project>
85-
</Solution>
85+
</Solution>

CollapseLauncher/Classes/CachesManagement/StarRail/Update.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ private async Task UpdateCacheAsset((SRAsset AssetIndex, IAssetProperty AssetPro
102102
{
103103
// Increment total count and update the status
104104
ProgressAllCountCurrent++;
105-
FileInfo fileInfo = new FileInfo(asset.AssetIndex.LocalName!).EnsureCreationOfDirectory().EnsureNoReadOnly();
105+
FileInfo fileInfo = new FileInfo(asset.AssetIndex.LocalName!).EnsureCreationOfDirectory().StripAlternateDataStream().EnsureNoReadOnly();
106106
Status.ActivityStatus = string.Format(Lang._Misc.Downloading + " {0}: {1}", asset.AssetIndex.AssetType, Path.GetFileName(fileInfo.Name));
107107
UpdateAll();
108108

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
5+
namespace CollapseLauncher.Classes.Extension
6+
{
7+
#nullable enable
8+
public static class DictionaryExtension
9+
{
10+
/// <summary>
11+
/// Gets the value from a dictionary by key, ignoring case.
12+
/// </summary>
13+
/// <param name="dict">Dictionary you want to get value from</param>
14+
/// <param name="key">Key of the value you want to get</param>
15+
/// <param name="comparer">Comparison culture you want to use. Default: OrdinalIgnoreCase</param>
16+
/// <returns>String of the key, null when dictionary is null or not found or value is null</returns>
17+
public static string? TryGetValueIgnoreCase(this IDictionary<string, string>? dict,
18+
string key,
19+
StringComparison comparer = StringComparison.OrdinalIgnoreCase)
20+
{
21+
if (dict == null || dict.Count == 0) return null;
22+
23+
// Check if dictionary already implements case-insensitive comparison
24+
if (comparer == StringComparison.OrdinalIgnoreCase &&
25+
dict is Dictionary<string, string?> typedDict &&
26+
Equals(typedDict.Comparer, StringComparer.OrdinalIgnoreCase))
27+
{
28+
return dict.TryGetValue(key, out var value) ? value : null;
29+
}
30+
31+
var matchingPair = dict.FirstOrDefault(x => string.Equals(x.Key, key, comparer));
32+
return matchingPair.Value;
33+
}
34+
}
35+
}

CollapseLauncher/Classes/Extension/UIElementExtensions.cs

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -360,16 +360,29 @@ internal static TextBlock AddTextBlockNewLine(this TextBlock textBlock, int coun
360360
return textBlock;
361361
}
362362

363-
internal static TextBlock AddTextBlockLine(this TextBlock textBlock, string message, bool appendSpaceAtEnd, FontWeight? weight = null, double size = 14d)
363+
internal static TextBlock AddTextBlockLine(this TextBlock textBlock, string message, bool appendSpaceAtEnd, FontWeight? weight = null, double size = 14d, double opacity = 1d)
364364
{
365365
message += ' ';
366-
return textBlock.AddTextBlockLine(message, weight, size);
366+
return textBlock.AddTextBlockLine(message, weight, size, opacity);
367367
}
368368

369-
internal static TextBlock AddTextBlockLine(this TextBlock textBlock, string message, FontWeight? weight = null, double size = 14d)
369+
internal static TextBlock AddTextBlockLine(this TextBlock textBlock, string message, FontWeight? weight = null, double size = 14d, double opacity = 1d)
370370
{
371371
weight ??= FontWeights.Normal;
372-
textBlock.Inlines.Add(new Run { Text = message, FontWeight = weight.Value, FontSize = size });
372+
Run run = new Run { Text = message, FontWeight = weight.Value, FontSize = size };
373+
374+
if (opacity < 1d)
375+
{
376+
SolidColorBrush brush = GetApplicationResource<SolidColorBrush>("DefaultTextForegroundThemeBrush");
377+
SolidColorBrush opaqueBrush = new SolidColorBrush(brush.Color)
378+
{
379+
Opacity = opacity
380+
};
381+
run.Foreground = opaqueBrush;
382+
}
383+
384+
textBlock.Inlines.Add(run);
385+
373386
return textBlock;
374387
}
375388

0 commit comments

Comments
 (0)