Skip to content

Commit 3c39d33

Browse files
authored
[WIP] Collapse Preview 1.83.13 (#826)
# Main Goal {Describe/list your goal for the PR here} ## PR Status : - Overall Status : Done - Commits : Done - Synced to base (Collapse:main) : Done - Build status : Passing - Crashing : N/A - Bug found caused by PR : 0 # What's New - 1.83.13 - **[Fix]** Fix Honkai Repair crash due to 2x dispose on SenadinaFileIdentifier by @neon-nyan - **[Imp]** Use reload mechanism when registry value is not found by @neon-nyan - **[Fix]** Avoid double load conflict on metadata update by @neon-nyan - **[Fix]** Fix unwanted disposed callback on plugin disposal by @neon-nyan - **[Imp]** Remove WASDK ML junk on publish by @neon-nyan - **[Fix]** Fix UI conflicts while loading regions by @neon-nyan - Fix where sometimes the region has 1 second delay on loading region - Fix where an error occur, user will unable to switch to other region - Fix where sometimes, when a fatal error occur, a loading frame spawns, causing the buttons inside of the exception page become unclickable - **[Fix]** Fix DiscordPresence initialized even if it's disabled by @neon-nyan - **[Imp]** Move RegistryRoot and its dependencies to each GameSettings instance by @neon-nyan - **[Fix]** Avoid nested JSON serialization on CollapseScreenSetting by @neon-nyan - **[Imp]** Create game process with with explorer as parent by @shatyuka - **[New]** Re-map HYP API by @neon-nyan - **[Imp]** Simplify binding process on content data by @neon-nyan - **[Imp]** Make FlipView respects content alignment by @neon-nyan - **[New]** Add keybind to open Plugin Manager by @gablm - **[Fix]** Fix crash changing window size when bg is a video by @gablm - **[Imp]** Decouple ProgressBase and GamePropertyBase from Generics by @neon-nyan - **[Imp]** Make GamePropertyBase inherit NotifyPropertyChanged by @neon-nyan - **[Imp]** Adjust Progress classes to be bindable by @neon-nyan - Also adjust some changes due to field changed to property - **[Fix]** Fix nullable warning on LookupableApiResponse by @neon-nyan - **[Fix]** Fix severe UI thread lockups due to rapid GC for HashUtility by @neon-nyan - **[Fix]** Fix GamePath property ambiguity by @neon-nyan - **[Fix]** Fix COMException on spawning region-specific notification due to detached thread @neon-nyan - **[Imp]** Make CancellationTokenSourceWrapper state volatile by @neon-nyan - **[New]** Add IGameVersionCheck.SaveVersionConfig by @neon-nyan - **[Fix]** Fix thread-lock on accessing TaskSchedulerHelper by @neon-nyan - **[Fix]** Fix NRE while loading plugin-based games by @neon-nyan - **[Fix]** Fix double event assignment due to the absent of DataContext by @neon-nyan - **[Fix]** Fix default RegionID for Genshin if registry doesn't exist by @neon-nyan - **[Fix]** Fix attempt for MeasureOverride throw by @neon-nyan - **[Imp]** Use the new SimpleZipArchiveReader to read Zip entries on the fly, by @neon-nyan - **[Imp]** Reset taskbar status on GenshinRepair.ResetAndFetchAssets by @neon-nyan - **[Fix]** Fix wrong logic on GameVersionAPIPreload by @neon-nyan - **[Fix]** Fix compile error on AOT by @neon-nyan - **[Imp]** Prefer direct enumeration for ZipArchiveReader by @neon-nyan - **[Fix]** Fix Zip64 reading on SimpleZipArchiveReader by @neon-nyan - **[New]** Enhance release workflow with build attestation by @Cryotechnic - **[New]** Add button to change Game Location to Game Setting by @gablm - **[New]** Add support for custom Resizable Window Hook by @gablm - **[New]** Add plugin download button to page after plugins are installed by CryoTechnic - **[Fix]** Fix WPF package enabled if game isn't updated by @neon-nyan - **[Fix]** Fix WPF package version not changing after update by @neon-nyan - **[Fix]** Fix RPC not clearing status when idle status is disabled by @bagusnl - **[Fix]** Fix Tray not showing up due to GUID conflict by @bagusnl - **[New]** Add detection for ExplorerPatcher's OldTaskbar behaviour by @bagusnl - **[Fix]** Fake position to make CopyToAsync happy by @shatyuka - **[Fix]** Read ContentLength from HEAD request if response is chunked by @shatyuka - **[Fix]** Fix "Add to Steam" not working correctly by @gablm - **[Fix]** Fix calling UserFeedback dialog crashes app due to nulled game property by @neon-nyan - **[Fix]** Fix DbConfig.Init causing blocking on DbHandler.Init by @neon-nyan - **[Fix]** Fix double dispose on LazyLoadBitmap, by @bagusnl - **[Loc]** Update Localizations by Localizers ❤️ ### Templates <details> <summary>Changelog Prefixes</summary> ``` **[New]** **[Imp]** **[Fix]** **[Loc]** **[Doc]** ``` </details>
2 parents d8d82ba + 258bd46 commit 3c39d33

File tree

297 files changed

+11810
-12096
lines changed

Some content is hidden

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

297 files changed

+11810
-12096
lines changed

.all-contributorsrc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,15 @@
215215
"contributions": [
216216
"translation"
217217
]
218+
},
219+
{
220+
"login": "CatSouta",
221+
"name": "Souta",
222+
"avatar_url": "https://avatars.githubusercontent.com/u/18072048?v=4",
223+
"profile": "https://souta.cc",
224+
"contributions": [
225+
"translation"
226+
]
218227
}
219228
],
220229
"repoType": "github"

.github/workflows/release-signed.yml

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,11 @@ jobs:
2323
strategy:
2424
matrix:
2525
platform: [x64]
26-
framework: [net9.0-windows10.0.26100.0]
26+
27+
# Required for build attestation
28+
permissions:
29+
id-token: write
30+
attestations: write
2731

2832
env:
2933
CONFIGURATION_STRATEGY: ""
@@ -206,7 +210,11 @@ jobs:
206210
run: |
207211
$exePath = "${{ runner.temp }}\SignedArtifact\BuildArtifact-${{ env.VERSION }}\CollapseLauncher.exe"
208212
if (Test-Path $exePath) {
209-
$version = "CollapseLauncher@" + ([System.Diagnostics.FileVersionInfo]::GetVersionInfo("./CollapseLauncher.exe").ProductVersion)
213+
$version = ((Get-Item $exePath).VersionInfo.FileVersion)
214+
if ($version.EndsWith(".0")) {
215+
$version = $version.Substring(0, $version.Length - 2)
216+
}
217+
210218
if ($version) {
211219
sentry-cli releases new --org collapse --project collapse-launcher $version
212220
sentry-cli releases set-commits --auto $version
@@ -219,3 +227,9 @@ jobs:
219227
else {
220228
Write-Error "File not found: $exePath"
221229
}
230+
231+
- name: Attest Build Provenance
232+
uses: actions/attest-build-provenance@v3
233+
with:
234+
subject-path: "${{ runner.temp }}/SignedArtifact/BuildArtifact-${{ env.VERSION }}/**"
235+
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Publish Stable & Preview builds to WinGet
2+
on:
3+
release:
4+
types: [released]
5+
jobs:
6+
determine_channel:
7+
runs-on: ubuntu-latest
8+
outputs:
9+
channel: ${{ steps.check.outputs.channel }}
10+
version: ${{ steps.check.outputs.version }}
11+
steps:
12+
- name: Check Release Name and Extract Version
13+
id: check
14+
# Find X.Y.Z version, then check for "Preview" after it for regex
15+
run: |
16+
RELEASE_NAME="${{ github.event.release.name }}"
17+
if [[ "$RELEASE_NAME" =~ (\d+\.\d+\.\d+) ]]; then
18+
VERSION="${BASH_REMATCH[1]}"
19+
else
20+
echo "Error: Could not find X.Y.Z version in release name."
21+
exit 1
22+
fi
23+
24+
if [[ "$RELEASE_NAME" == *"Preview"* ]]; then
25+
CHANNEL="Preview"
26+
else
27+
CHANNEL="Stable"
28+
fi
29+
30+
echo "Detected Channel: $CHANNEL"
31+
echo "Detected Version: $VERSION"
32+
echo "channel=$CHANNEL" >> $GITHUB_OUTPUT
33+
echo "version=$VERSION" >> $GITHUB_OUTPUT
34+
35+
publish_stable:
36+
needs: determine_channel
37+
if: needs.determine_channel.outputs.channel == 'Stable'
38+
runs-on: windows-latest
39+
steps:
40+
- name: Publish CollapseLauncher.Collapse (Stable) to WinGet
41+
uses: vedantmgoyal9/winget-releaser@main
42+
with:
43+
identifier: CollapseLauncher.Collapse
44+
version: ${{ needs.determine_channel.outputs.version }}
45+
installers-regex: '\.exe$'
46+
token: ${{ secrets.WINGET_TOKEN }}
47+
48+
publish_preview:
49+
needs: determine_channel
50+
if: needs.determine_channel.outputs.channel == 'Preview'
51+
runs-on: windows-latest
52+
steps:
53+
- name: Publish CollapseLauncher.Collapse.Preview to WinGet
54+
uses: vedantmgoyal9/winget-releaser@main
55+
with:
56+
identifier: CollapseLauncher.Collapse.Preview
57+
version: ${{ needs.determine_channel.outputs.version }}
58+
installers-regex: '\.exe$'
59+
token: ${{ secrets.WINGET_TOKEN }}

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,6 @@
3131
[submodule "Hi3Helper.Plugin.Core"]
3232
path = Hi3Helper.Plugin.Core
3333
url = https://github.com/CollapseLauncher/Hi3Helper.Plugin.Core
34+
[submodule "Hi3Helper.SimpleZipArchiveReader"]
35+
path = Hi3Helper.SimpleZipArchiveReader
36+
url = https://github.com/CollapseLauncher/Hi3Helper.SimpleZipArchiveReader

.idea/.idea.CollapseLauncher/.idea/vcs.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CollapseLauncher.sln

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "H.NotifyIcon", "H.NotifyIco
4242
EndProject
4343
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "H.NotifyIcon.WinUI", "H.NotifyIcon\src\libs\H.NotifyIcon.WinUI\H.NotifyIcon.WinUI.csproj", "{0128963B-3044-224A-7E5D-3FC91B8B054C}"
4444
EndProject
45+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Hi3Helper.SimpleZipArchiveReader", "Hi3Helper.SimpleZipArchiveReader\src\Hi3Helper.SimpleZipArchiveReader\Hi3Helper.SimpleZipArchiveReader.csproj", "{833CA9EB-26C4-D977-383C-E3F90AE509F9}"
46+
EndProject
4547
Global
4648
GlobalSection(SolutionConfigurationPlatforms) = preSolution
4749
Debug|x64 = Debug|x64
@@ -168,6 +170,12 @@ Global
168170
{0128963B-3044-224A-7E5D-3FC91B8B054C}.Publish|x64.Build.0 = Release|x64
169171
{0128963B-3044-224A-7E5D-3FC91B8B054C}.Release|x64.ActiveCfg = Release|x64
170172
{0128963B-3044-224A-7E5D-3FC91B8B054C}.Release|x64.Build.0 = Release|x64
173+
{833CA9EB-26C4-D977-383C-E3F90AE509F9}.Debug|x64.ActiveCfg = Debug|x64
174+
{833CA9EB-26C4-D977-383C-E3F90AE509F9}.Debug|x64.Build.0 = Debug|x64
175+
{833CA9EB-26C4-D977-383C-E3F90AE509F9}.Publish|x64.ActiveCfg = Release|x64
176+
{833CA9EB-26C4-D977-383C-E3F90AE509F9}.Publish|x64.Build.0 = Release|x64
177+
{833CA9EB-26C4-D977-383C-E3F90AE509F9}.Release|x64.ActiveCfg = Release|x64
178+
{833CA9EB-26C4-D977-383C-E3F90AE509F9}.Release|x64.Build.0 = Release|x64
171179
EndGlobalSection
172180
GlobalSection(SolutionProperties) = preSolution
173181
HideSolutionNode = FALSE

CollapseLauncher.slnx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@
5858
<BuildType Solution="Publish|*" Project="Release" />
5959
<Platform Project="x64" />
6060
</Project>
61+
<Project Path="Hi3Helper.SimpleZipArchiveReader/src/Hi3Helper.SimpleZipArchiveReader/Hi3Helper.SimpleZipArchiveReader.csproj">
62+
<BuildType Solution="Publish|*" Project="Release" />
63+
<Platform Project="x64" />
64+
</Project>
6165
<Project Path="Hi3Helper.Sophon/Hi3Helper.Sophon.csproj">
6266
<BuildType Solution="Publish|*" Project="Release" />
6367
<Platform Project="x64" />

CollapseLauncher/App.xaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
<ResourceDictionary Source="ms-appx:///XAMLs/Theme/CustomControls/CommunityToolkit.Labs/DataTable/DataColumn.xaml" />
3030
<ResourceDictionary Source="ms-appx:///XAMLs/Theme/CustomControls/CommunityToolkit.Labs/MarkdownTextBlock/MarkdownTextBlock.xaml" />
3131
<ResourceDictionary Source="ms-appx:///XAMLs/Theme/CustomControls/UserFeedbackDialog/UserFeedbackDialog.xaml" />
32+
<ResourceDictionary Source="ms-appx:///XAMLs/Theme/CustomControls/SocMedIconButton/SocMedIconButton.xaml" />
3233
<ResourceDictionary Source="ms-appx:///XAMLs/Theme/CustomControls/FullPageOverlay/FullPageOverlay.xaml" />
3334
<ResourceDictionary>
3435
<ResourceDictionary.ThemeDictionaries>
@@ -124,7 +125,7 @@
124125
<AcrylicBrush x:Key="SocMedPanelAcrylicBrush"
125126
FallbackColor="#E1222222"
126127
TintColor="#222222"
127-
TintLuminosityOpacity="0.25"
128+
TintLuminosityOpacity="0.5"
128129
TintOpacity="0.0" />
129130
<AcrylicBrush x:Key="WebView2GridBackground"
130131
FallbackColor="#EE1D1D1D"
@@ -489,8 +490,8 @@
489490
TintOpacity="0.25" />
490491
<AcrylicBrush x:Key="SocMedPanelAcrylicBrush"
491492
FallbackColor="#CCEEEEEE"
492-
TintColor="#EEEEEE"
493-
TintLuminosityOpacity="0.6"
493+
TintColor="#FFFFFF"
494+
TintLuminosityOpacity="0.25"
494495
TintOpacity="0" />
495496
<AcrylicBrush x:Key="WebView2GridBackground"
496497
FallbackColor="#EEEAEAEA"

CollapseLauncher/Classes/CachesManagement/Honkai/Check.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ private void AddGenericCheckAsset(CacheAsset asset, CacheAssetStatus assetStatus
183183

184184
// Add to asset entry display
185185
Dispatch(() => AssetEntry!.Add(new AssetProperty<CacheAssetType>(
186-
Path.GetFileName(asset.N),
186+
Path.GetFileName(asset.N) ?? "",
187187
asset.DataType,
188188
Path.GetDirectoryName(asset.N),
189189
asset.CS,

CollapseLauncher/Classes/CachesManagement/Honkai/Fetch.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
using Hi3Helper;
55
using Hi3Helper.EncTool;
66
using Hi3Helper.EncTool.Parser.KianaDispatch;
7-
using Hi3Helper.Http;
87
using Hi3Helper.UABT;
98
using System;
109
using System.Collections.Concurrent;

0 commit comments

Comments
 (0)