Conversation
100% reviewed source file: 'en_US.json' on 'ja_JP'.
This to fix an issue where PublishAot property is getting ignored and thus causing compilation error on AOT build
We have 4 options here: - Automatic - Automatic with System Decoder - Force System Decoder - Force FFmpeg Software Decoder
…assets (DesignV, NativeDataV)
Thanks to @studiobutter for noticing on Discord
As per this release, we are going to set target build to x86-64-v4 or native. This means, the ILC could possibly support latest intrinsics like AVX2 and AVX512, allowing some code to run better due to wide vectorization. Some static libraries which utilizes BMI and AVX intrinsics (like ZStandard library) might not run properly on an old machine without AVX or BMI intrinsics support.
+ Merge Waifu2X PInvoke to a single PInvoke Resolver + Add small util to check available codecs on FFmpeg lib
100% reviewed source file: 'en_US.json' on 'zh_CN'.
We now check standard language codes in addition to to `mini-xx-xx` formats introduced recently by HoYoVerse in 2.8.0 preload.
Will now display "Downloading" or "Verifying" depending on what's being done.
100% reviewed source file: 'en_US.json' on 'ja_JP'.
| continue; | ||
| } | ||
| restArgs[i < indexOfArg ? i : i - 1] = currentArg; | ||
| } |
There was a problem hiding this comment.
Bug: The application crashes with an IndexOutOfRangeException when launched with any command-line arguments, due to an incorrect index calculation when parsing arguments.
Severity: CRITICAL
Suggested Fix
The logic for populating the restArgs array is flawed. The index calculation i < indexOfArg ? i : i - 1 results in -1 when i is 0 and indexOfArg is -1. The loop and array population logic should be rewritten to correctly handle cases where the restartedFromPid argument is not present, ensuring no negative indices are accessed.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.
Location: CollapseLauncher/Program.cs#L715
Potential issue: When the application is launched with command-line arguments like
`tray` or `open`, the argument parsing logic incorrectly calculates an array index.
Specifically, on the first iteration of the argument-parsing loop, the code attempts to
access `restArgs[-1]`, which immediately throws an `IndexOutOfRangeException` and
crashes the application. This bug affects all launch modes that use command-line
arguments, except for the specific case where the `restartedFromPid` argument is
present.
| Arguments = $"update --input \"{m_arguments.Updater.AppPath}\" --channel {m_arguments.Updater.UpdateChannel}", | ||
| UseShellExecute = true, | ||
| Verb = "runas" | ||
| }); |
There was a problem hiding this comment.
Bug: The RunElevateUpdate method incorrectly calls .Start() on a Process object that has already been started by the static Process.Start() method, causing an InvalidOperationException.
Severity: HIGH
Suggested Fix
Remove the redundant elevatedProc?.Start(); call. The static Process.Start() method already starts the process, so the subsequent call is unnecessary and incorrect.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.
Location: CollapseLauncher/Program.cs#L656
Potential issue: In the `RunElevateUpdate` method, the static `Process.Start()` is
called, which immediately creates and starts the elevated updater process. The next line
of code then attempts to call `.Start()` again on the returned `Process` object. If the
initial `Process.Start()` call successfully returns a non-null `Process` object
(representing the already-running process), the second `.Start()` call will throw an
`InvalidOperationException`, causing the elevated update feature to fail. This is a
regression from the previous implementation which correctly instantiated a `Process`
object before starting it.
Preview 1.84.2 (Codename: Columbina)
What's changed?
As per this release, we are going to set target build to x86-64-v4 or native. This means, the ILC could possibly support latest intrinsics like AVX2 and AVX512, allowing some code to run better due to wide vectorization.
Some static libraries which utilizes BMI and AVX intrinsics (like ZStandard library) might not run properly on an old machine without AVX or BMI intrinsics support.
Full Changelog: CL-v1.84.1-pre...CL-v1.84.2-pre
Code Signing Policy