Skip to content

Commit

Permalink
Stable 1.82.14 Release (#666)
Browse files Browse the repository at this point in the history
# What's new? - 1.82.14
- **[Imp]** Optimize Toggling Backdrop Blur effect, by @shatyuka 
- **[Imp]** Enhanced network exception filtering, by @bagusnl 
- **[Fix]** Playtime flyout not opening/closing in certain conditions,
by @shatyuka
- **[Imp]** Optimize language resource loading time, by @shatyuka 
- **[Imp]** Refactor SteamShortcut methods, by @shatyuka 
  - Fix types mismatches
  - Support for multi-languages
  - Compatibility with new Steam formats
  - Cache Steam grid images
  - Waiting for asynchronous image downloads
- **[Fix]** Text formatting for Git commit link in SettingsPage, by
@shatyuka
- **[Imp]** SevenZipExtractor improvements, by @neon-nyan 
  - Add async method for extraction
  - Add ability to adjust buffer size per method call
  - Use .NET's built-in COMVariant
  - Fix archive signature-based checking in ArchiveFile(string) method
  - Ability to use locally installed 7z xtra binaries
  - Fix wrong types in IInStream and IOutStream
  - Use sealed class when needed
  - Use faster GetDataRawRef unmanaged method when initializing entry
  - Add proper HResult throw when IInArchive method is failing
  - Set last write time on extracted files
  - Added support for extracting encrypted archives
- **[Imp]** CodeQA on Main project and ColorThief & Win32 submodules, by
@neon-nyan
- **[New]** Add the ability to disable Zooming behavior for Events
panel, by @shatyuka
- **[Fix]** [SR] Repair method did not properly write reference file, by
@neon-nyan
- **[Fix]** Fix performance regression in Zenless settings methods, by
@neon-nyan
- **[Imp]** Update nuggies, by @neon-nyan 
- **[New]** Show download and repair progress in Taskbar, by @shatyuka
- **[New]** Adding HoYoPlay's HDiffMap implementation for patching files
with HDiff, by @neon-nyan
- This process is going to be used starting on Honkai: Star Rail 3.0
update. Also, this feature is implemented to avoid files being unable to
get patched due to changes in HDiff mapping format.
  - The entire reason this version had to be pushed early, tank
- **[New]** Implement DLSS option for Honkai: Star Rail Game Settings,
by @Cryotechnic & @shatyuka
- **[Loc]** Sync locales, by localizers <3

### Templates

<details>
  <summary>Changelog Prefixes</summary>
  
  ```
    **[New]**
    **[Imp]**
    **[Fix]**
    **[Loc]**
    **[Doc]**
  ```

</details>
  • Loading branch information
neon-nyan authored Jan 14, 2025
2 parents f498a09 + 508fcfd commit 8478c98
Show file tree
Hide file tree
Showing 162 changed files with 3,450 additions and 2,518 deletions.
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

0 comments on commit 8478c98

Please sign in to comment.