Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preview 1.82.14 Release #665

Merged
merged 64 commits into from
Jan 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
41d8287
[skip ci] Update README.md
neon-nyan Jan 5, 2025
4ece037
Native `ToggleBlurBackdrop`
shatyuka Jan 5, 2025
cc7f298
[Sentry] Enhance ExceptionFilter
bagusnl Jan 6, 2025
d25afeb
Testing NativeAOT deployment with debug symbols
bagusnl Jan 6, 2025
6424ccc
Fix playtime stats flyout not showing/disappearing
shatyuka Jan 6, 2025
8ef11fb
Show PlaytimeFlyout on playtime button click
shatyuka Jan 6, 2025
d17f190
Optimize loading language resources
shatyuka Jan 7, 2025
f0bc628
[skip ci] Scan published releases via VirusTotal
bagusnl Jan 8, 2025
1a6342d
[skip ci] [CI] Ignore certain paths for build and qodana pr scans
bagusnl Jan 8, 2025
de9b7c9
Fix steam shortcut appid
shatyuka Jan 8, 2025
5c68c03
Add placeholder field for DLSS in HSR 3.0
Cryotechnic Jan 8, 2025
6914ee1
[skip ci] Sync translation Translate en_US.json in zh_CN
transifex-integration[bot] Jan 9, 2025
a25ae3c
Apply translations to shortcut name
shatyuka Jan 9, 2025
ee6edd2
[skip ci] Sync translation Translate en_US.json in fr_FR
transifex-integration[bot] Jan 9, 2025
794a8b5
[skip ci] [CI] SignPath Github Actions
bagusnl Jan 10, 2025
fbe3dd4
[CI] Enhance builder CI flow
bagusnl Jan 10, 2025
a721b02
[CI] Remove explicit working directory declaration
bagusnl Jan 10, 2025
1694ad0
Refactor SteamShortcutParser
shatyuka Jan 10, 2025
d53a958
Fit Git version link width to text content
shatyuka Jan 10, 2025
e142d74
Adjust SevenZipExtractor changes
neon-nyan Jan 10, 2025
8d392c9
Merge branch 'main' into code-qa-20250110
neon-nyan Jan 10, 2025
3fa9a5d
Wait for Steam grid images to finish downloading
shatyuka Jan 11, 2025
1f85227
Adjust SevenZipExtractor changes
neon-nyan Jan 11, 2025
ff08f46
Merge branch 'main' into code-qa-20250110
neon-nyan Jan 11, 2025
cf0bae7
[skip ci] Sync translation Translate en_US.json in zh_CN
transifex-integration[bot] Jan 11, 2025
7062753
CodeQA for ColorThief, Win32 and SevenZipExtractor module
neon-nyan Jan 11, 2025
5fdde27
CodeQA SteamShortcut
shatyuka Jan 11, 2025
328a40b
Add an option to disable the feature to scale up events panel on hover
shatyuka Jan 11, 2025
e2ce5e3
[skip ci] Sync translation Translate en_US.json in zh_CN
transifex-integration[bot] Jan 11, 2025
d28a257
[skip ci] Sync translation Translate en_US.json in es_419
transifex-integration[bot] Jan 12, 2025
b1e35c0
CodeQA for EncTool
neon-nyan Jan 12, 2025
9f9bac6
Merge branch 'main' into code-qa-20250110
neon-nyan Jan 12, 2025
98d8b87
Main Project CodeQA
neon-nyan Jan 12, 2025
e2f9f98
Fix M_NativeData reference file not being written properly
neon-nyan Jan 12, 2025
4a4a129
Fix ZZZ GSP regression
neon-nyan Jan 12, 2025
70da717
Update ZenlessGameSettingsPage.Ext.cs
neon-nyan Jan 12, 2025
e2b5875
Update ColorThief
neon-nyan Jan 12, 2025
cd771c4
Update ColorThief
neon-nyan Jan 12, 2025
9dcdcb5
Move Sophon.Test into its own submodule
neon-nyan Jan 12, 2025
0cd59a4
Update NuGet
neon-nyan Jan 12, 2025
086063f
Show current progress in taskbar
shatyuka Jan 12, 2025
d3b6263
Try catch TaskbarList
shatyuka Jan 13, 2025
0aca798
[QD] Update workload before build in bootstrapping step
bagusnl Jan 13, 2025
daad193
Revert "[QD] Update workload before build in bootstrapping step"
bagusnl Jan 13, 2025
47cd02e
[HSR] Fix DLSS entry name
shatyuka Jan 14, 2025
5b9b102
[skip ci] Sync translation Translate en_US.json in zh_CN
transifex-integration[bot] Jan 14, 2025
1bf0462
Fix possible unpredicted stream disposal on SevenZipExtractor
neon-nyan Jan 14, 2025
d9b85d0
Reimplement HDiffMap feature on HoYoPlay
neon-nyan Jan 14, 2025
7fc46d8
Delete HDiffMap file after deserializing
neon-nyan Jan 14, 2025
8d29f77
Remove HDiff source file if path isn't identical
neon-nyan Jan 14, 2025
fda2f71
Fix flipped filename on HDiffMap
neon-nyan Jan 14, 2025
d27a5a5
Avoid where the source file actually still being used on HDiffMap
neon-nyan Jan 14, 2025
068f8c3
Allow skip if HDiffMap is empty or doesn't exist
neon-nyan Jan 14, 2025
18cf6a3
[HDiffMap] Remove unnecessary equality source name
neon-nyan Jan 14, 2025
ac49bd5
[HDiffMap] Check only source file
neon-nyan Jan 14, 2025
3cad652
Ensure the targetPathTemp is up-to-date before moving
neon-nyan Jan 14, 2025
dbc868c
Fix WinRT Warnings
neon-nyan Jan 14, 2025
c85f358
Disable CsWinRTAotOptimizerEnabled on debug
neon-nyan Jan 14, 2025
eaf40b9
[skip ci] Sync translation Translate en_US.json in es_419
transifex-integration[bot] Jan 14, 2025
20885a0
Fix Compile Error + Slight CodeQA
neon-nyan Jan 14, 2025
a9699d2
Fix debug compile error (again)
neon-nyan Jan 14, 2025
7c2d435
[skip ci] Sync translation Translate en_US.json in id_ID
transifex-integration[bot] Jan 14, 2025
e4b5e87
Bump version
neon-nyan Jan 14, 2025
508fcfd
Use 1 MiB of stream buffer size on 7-zip
neon-nyan Jan 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 38 additions & 17 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,30 @@ on:
push:
branches:
- 'main'
paths-ignore:
- '**.md'
- 'Hi3Helper.Core/Lang/**.json'
- 'Docs/**'
- '**/packages.lock.json'
pull_request:
branches-ignore:
- 'stable'
- 'preview'
- 'translations_**'
paths-ignore:
- '**.md'
- 'Hi3Helper.Core/Lang/**.json'
- 'Docs/**'
- '**/packages.lock.json'
# schedule:
# - cron: '0 0 * * 0' # At 00:00 on Sunday

env:
DOTNET_INSTALL_DIR: '.\.dotnet'
DOTNET_VERSION: '9.x'
DOTNET_QUALITY: 'ga'
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages

jobs:
build:
# runs-on: [self-hosted, linux]
Expand All @@ -28,10 +44,6 @@ jobs:
env:
Configuration: ${{ matrix.configuration }}
Platform: ${{ matrix.platform }}
DOTNET_INSTALL_DIR: '.\.dotnet'
DOTNET_VERSION: '9.x'
DOTNET_QUALITY: 'ga'
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages

steps:
- name: Checkout
Expand All @@ -47,6 +59,9 @@ jobs:
cache: true
cache-dependency-path: CollapseLauncher/packages.lock.json

- name: Update .NET workload
run: dotnet workload update

- name: Build
run: |
dotnet publish CollapseLauncher -c ${{matrix.Configuration}} -p:PublishProfile=Publish-DebugCIRelease -p:PublishDir=".\debug-build\"
Expand All @@ -69,10 +84,6 @@ jobs:
env:
Configuration: ${{ matrix.configuration }}
Platform: ${{ matrix.platform }}
DOTNET_INSTALL_DIR: '.\.dotnet'
DOTNET_VERSION: '9.x'
DOTNET_QUALITY: 'ga'
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages

steps:
- name: Checkout
Expand All @@ -88,21 +99,31 @@ jobs:
cache: true
cache-dependency-path: CollapseLauncher/packages.lock.json

# - name: Restore
# run: dotnet restore CollapseLauncher --locked-mode
# Don't need to do restore explicitly, should be done on Build time

- name: Update .NET workload
run: dotnet workload update

- name: Build
run: |
dotnet publish CollapseLauncher -c ${{matrix.Configuration}} -p:PublishProfile=Publish-DebugCIReleaseAOT -p:PublishDir=".\debug-aot-build\"


- name: Upload debug symbols
uses: actions/upload-artifact@v4
with:
name: aot-experimental-symbols_collapse_${{ matrix.platform }}-${{ matrix.configuration }}_${{ matrix.framework }}_${{ github.sha }}
path: ./CollapseLauncher/debug-aot-build/**/*.pdb
compression-level: 9

- name: Remove debug symbols
run: |
Remove-Item -Path "./CollapseLauncher/debug-aot-build/*.pdb" -Recurse -Force

- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: aot-experimental_collapse_${{ matrix.platform }}-${{ matrix.configuration }}_${{ matrix.framework }}_${{ github.sha }}
path: ./CollapseLauncher/debug-aot-build/
compression-level: 9

name: aot-experimental_collapse_${{ matrix.platform }}-${{ matrix.configuration }}_${{ matrix.framework }}_${{ github.sha }}
path: ./CollapseLauncher/debug-aot-build/
compression-level: 9
notify-discord:
runs-on: ubuntu-latest
if: always()
Expand Down
13 changes: 9 additions & 4 deletions .github/workflows/qodana-scan-pr.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
name: Qodana for Pull Request
on:
pull_request:
branches:
- main
- preview
- stable
branches:
- main
- preview
- stable
paths-ignore:
- '**.md'
- 'Hi3Helper.Core/Lang/**.json'
- 'Docs/**'
- '**/packages.lock.json'

jobs:
qodana:
Expand Down
148 changes: 148 additions & 0 deletions .github/workflows/release-signed.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
# Credits to @Scighost from Starward for his contributions!
name: Publish Signed Builds
#run-name: Canary Build for ${{ github.ref }}

on:
workflow_dispatch:
inputs:
branch:
description: 'Specify branch name (preview/stable/github-signpath-test)'
required: true
default: 'github-signpath-test'

env:
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
DOTNET_INSTALL_DIR: '.\.dotnet'
DOTNET_VERSION: '9.x'
DOTNET_QUALITY: 'ga'
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
SIGNPATH_ARTIFACT_SLUG: 'initial' # change this to 'aot-release' when releasing with AOT

# schedule:
# - cron: '0 0 * * 0' # At 00:00 on Sunday

jobs:
build:
runs-on: windows-latest
strategy:
matrix:
platform: [x64]
framework: [net9.0-windows10.0.22621.0]

env:
CONFIGURATION_STRATEGY: ""
PUBLISH_PROFILE: ""
SIGNING_POLICY_SLUG: ""
VERSION: ""
Platform: ${{ matrix.platform }}


steps:
- name: Set Configuration and Environment Variables
id: set_env
run: |
if ($env:GITHUB_EVENT_NAME -eq "workflow_dispatch") {
$branch = $env:GITHUB_EVENT_INPUTS_BRANCH
} else {
$branch = $env:GITHUB_REF_NAME
}

if ($branch -eq "preview") {
echo "CONFIGURATION_STRATEGY=Release" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "PUBLISH_PROFILE=Publish-PreviewRelease" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "SIGNING_POLICY_SLUG=release-signing" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
} elseif ($branch -eq "stable") {
echo "CONFIGURATION_STRATEGY=Publish" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "PUBLISH_PROFILE=Publish-StableRelease" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "SIGNING_POLICY_SLUG=release-signing" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
} elseif ($branch -eq "github-signpath-test") {
echo "CONFIGURATION_STRATEGY=Debug" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "PUBLISH_PROFILE=Publish-DebugCIRelease" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "SIGNING_POLICY_SLUG=test-signing" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
} else {
Write-Error "Unknown branch or input: $branch"
exit 1
}

- name: Print env
run: |
echo Configuration Strategy: $env:CONFIGURATION_STRATEGY
echo Publish Profile: $env:PUBLISH_PROFILE
echo Signing Policy: $env:SIGNING_POLICY_SLUG

- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive

- name: Install .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
dotnet-quality: ${{ env.DOTNET_QUALITY }}
cache: true
cache-dependency-path: CollapseLauncher/packages.lock.json

- name: Build
run: |
dotnet publish CollapseLauncher -c ${{ env.CONFIGURATION_STRATEGY }} -p:PublishProfile=${{ env.PUBLISH_PROFILE }} -p:PublishDir=".\build\"

- name: Prepare publish artifacts
run: |
.\build\CollapseLauncher.exe generatevelopackmetadata
$version = ((Get-Item .\build\CollapseLauncher.exe).VersionInfo.FileVersion).TrimEnd(".0")
echo Build version: $version
echo "VERSION=$version" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
mkdir SignArtifact
mkdir SignArtifact\BuildArtifact-$version
xcopy .\build\ "SignArtifact\BuildArtifact-$version\" /E /K /Y /I

- name: Upload Artifact (unsigned)
id: upload-unsigned-artifact
uses: actions/upload-artifact@v4
with:
name: collapse_${{ env.SIGNING_POLICY_SLUG }}-${{ env.CONFIGURATION_STRATEGY }}_${{ env.PUBLISH_PROFILE }}
path: ./CollapseLauncher/SignArtifact
compression-level: 9

- name: Sign Build Artifact with SignPath
uses: signpath/[email protected]
with:
api-token: '${{ secrets.SIGNPATH_API_TOKEN }}'
organization-id: ${{ secrets.SIGNPATH_ORG_ID }}
project-slug: 'Collapse'
signing-policy-slug: ${{ env.SIGNING_POLICY_SLUG }}
github-artifact-id: '${{ steps.upload-unsigned-artifact.outputs.artifact-id }}'
wait-for-completion: true
output-artifact-directory: '/SignedArtifact/'

- name: Process Signed Build
run: |
$buildDir = '\SignedArtifact\BuildArtifact-${{ env.VERSION }}'
echo Re-checking build version
echo ((Get-Item $buildDir\CollapseLauncher.exe).VersionInfo.FileVersion).TrimEnd(".0")

- name: Re-upload Signed Artifact to GitHub
uses: actions/upload-artifact@v4
with:
name: (SIGNED)collapse_${{ env.SIGNING_POLICY_SLUG }}-${{ env.CONFIGURATION_STRATEGY }}_${{ env.PUBLISH_PROFILE }}
path: /SignedArtifact
compression-level: 9

notify-discord:
runs-on: ubuntu-latest
if: always()
needs: [build]
steps:
- name: Notify Discord
uses: sarisia/[email protected]
if: always()
continue-on-error: true
with:
webhook: ${{ secrets.DISCORD_WEBHOOK_NIGHTLY }}
title: Collapse Launcher CI build is complete!
status: ${{ job.status }}
description: |
Commit `${{ github.sha }}` by ${{ github.actor }}
Click [here](https://nightly.link/CollapseLauncher/Collapse/actions/runs/${{ github.run_id }}) to download!
20 changes: 20 additions & 0 deletions .github/workflows/vt-scan-releases.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: VirusTotal Scan for Releases

on:
release:
types: [published]

jobs:
virustotal:
runs-on: ubuntu-latest
steps:
-
name: VirusTotal Scan
uses: crazy-max/ghaction-virustotal@v4
with:
vt_api_key: ${{ secrets.VT_API_KEY }}
update_release_body: true
github_token: ${{ secrets.GITHUB_TOKEN }}
files: |
*.exe
*.7z
25 changes: 2 additions & 23 deletions CollapseLauncher/App.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,11 @@
using Hi3Helper.Win32.Native.Enums;
using Hi3Helper.Win32.Native.LibraryImport;
using Microsoft.UI;
using Microsoft.UI.Private.Media;
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Media;
using PhotoSauce.MagicScaler;
using PhotoSauce.NativeCodecs.Libwebp;
using System;
using System.Linq;
using Windows.UI;
using static CollapseLauncher.InnerLauncherConfig;
using static Hi3Helper.Logger;
Expand Down Expand Up @@ -150,27 +149,7 @@ protected override void OnLaunched(LaunchActivatedEventArgs args)

public static void ToggleBlurBackdrop(bool useBackdrop = true)
{
// Enumerate the dictionary (MergedDictionaries)
foreach (ResourceDictionary resource in Current!.Resources!.MergedDictionaries!)
{
// Parse the dictionary (ThemeDictionaries) and read the type of KeyValuePair<object, object>,
// then select the value, get the type of ResourceDictionary, then enumerate it
foreach (ResourceDictionary list in resource!
.ThemeDictionaries!
.Select(x => x.Value)
.OfType<ResourceDictionary>())
{
// Parse the dictionary as type of KeyValuePair<object, object>,
// and get the value which has type of AcrylicBrush only, then enumerate it
foreach (AcrylicBrush theme in list
.Select(x => x.Value)
.OfType<AcrylicBrush>())
{
// Set the theme AlwaysUseFallback as per toggle from useBackdrop.
theme.AlwaysUseFallback = !useBackdrop;
}
}
}
MaterialHelperTestApi.SimulateDisabledByPolicy = !useBackdrop;
}
}
}
2 changes: 1 addition & 1 deletion CollapseLauncher/Classes/CachesManagement/Honkai/Check.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using CollapseLauncher.Helper;
using CollapseLauncher.Helper.StreamUtility;
using CollapseLauncher.Interfaces;
using Hi3Helper;
using System;
Expand Down
1 change: 1 addition & 0 deletions CollapseLauncher/Classes/CachesManagement/Honkai/Update.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using CollapseLauncher.Helper.StreamUtility;
using CollapseLauncher.Helper;
using CollapseLauncher.Interfaces;
using Hi3Helper;
Expand Down
Loading
Loading