Conversation
100% reviewed source file: 'en_US.json' on 'ja_JP'.
TODO: Implements VP9 software decoder for IMFTransform
This reverts commit f14ff61.
Track install state for reconcile/verify phases, refresh the progress ring on status changes, and treat same-or-older plugin manifests as up to date. Co-authored-by: Cursor <cursoragent@cursor.com>
Use GetDispatchAsync and GetGameServerAsync with the dispatcher key and game version array required by the updated KianaDispatch surface. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com> # Conflicts: # CollapseLauncher/Classes/CachesManagement/Honkai/Fetch.cs # CollapseLauncher/Classes/RepairManagement/HonkaiV2/HonkaiRepairV2.AsbExt.Cache.cs
# Main Goal Optimize video player performance ## PR Status : - Overall Status : In Progress - Commits : In Progress - Synced to base (Collapse:main) : Yes - Build status : OK - Crashing : No - Bug found caused by PR : N/A ### Checklist - [x] ~~Zero copy~~ (Acrylic effect doesn't work over SwapChainPanel) - [x] Fix memory leaks / race conditions - [x] SharedLastMediaPosition - [x] Video playback - [x] Fix stutter - [x] Enable read-ahead buffer
It ensures that even non-managed libraries (which uses the same console) respects the auto-return '\r' behavior after newline '\n'
Bump Hi3Helper.Plugin.Core to include `InstallProgressState.Reconciling`, which is already referenced by `PluginGameInstallWrapper`. This fixes the `CS0117` errors causing both Build-Canary jobs to fail. Verified with the CI-equivalent non-AOT publish command.
Convert `WindowUtility` to partial and add file drag-and-drop handling. - Added `internal FileDropEvent` and `SetFileDropEnabled` to toggle `DROPFILES`/`COPYDATA`/`COPYGLOBALDATA` filters and call `DragAcceptFiles`. - Implemented `TryGetExternalDragPosition` to read external drag cursor position. - `WndProc` now handles `WM_DROPFILES` and forwards to `HandleFileDrop`. - HandleFileDrop enumerates dropped files (`DragQueryFile`/`DragQueryPoint`) and invokes `FileDropEvent`, then cleans up with `DragFinish`. - Added `NativeFileDrop` partial class with `P/Invoke` bindings and a `NativePoint` struct.
- Enable WinUI and native file drag-and-drop support for the Plugin Manager - Add drag enter/over/leave/drop handlers - Add a `DispatcherTimer` to track external drag position, and a visual drop indicator. - Wire `WindowUtility.FileDropEvent` on page load/unload and gate drops to the import area. - Extract import flow into an async `ImportPlugins` method and improve error handling around imports.
- PluginImporter: support importing `.zip` packages or `manifest.json`, validate filenames, copy assets to a staging directory and atomically move into place, protect against directory-traversal by resolving contained paths (`GetContainedPath`), and ensure cleanup on failure. Uses stream-based copy for assets. - PluginManagerPage: fixes drag indicator state, collects per-file failures instead of throwing `AggregateException`, logs errors, and shows a friendly dialog mapping common exceptions to readable messages.
As FFmpegInteropX got updated to use FFmpeg 8.x builds, the version check needs to be updated
This reverts commit 648d76b.
The Thai README under Docs/README.localized/ links CONTRIBUTING.md, PRIVACY.md, and THIRD_PARTY_NOTICES.md with bare paths, which resolve under Docs/README.localized/ and 404 (those files live at the repo root). The other localized READMEs already use ../../, so this matches them.
Prevent cleanup crashes by guarding directory enumeration and deletion checks with existence checks in `InstallManagerBase`. Also broaden Zenless uninstall cleanup by removing additional launcher/plugin folders and executable/driver-related files left behind after uninstall.
`Docs/README.localized/README.th-TH.md` links three root files with bare paths: - `[...](CONTRIBUTING.md)` (line 250) - `[...](PRIVACY.md)` (line 256) - `[...](THIRD_PARTY_NOTICES.md)` (line 257) Because the file lives in `Docs/README.localized/`, those resolve to `Docs/README.localized/CONTRIBUTING.md` etc. and 404 on GitHub, while the files are at the repo root. The sibling localized READMEs already use the correct relative depth (e.g. `README.de-de.md` and `README.zh-cn.md` link `../../CONTRIBUTING.md`). This updates the Thai README to match.
100% reviewed source file: 'en_US.json' on 'ja_JP'.
Use Sophon branch as main, fallback to package branch
Comment on lines
+138
to
+148
| BackgroundSource_UseStatic(element); | ||
| element._lastBackgroundStaticSource = element.BackgroundStaticSource; | ||
| } | ||
| return; | ||
| } | ||
|
|
||
| BackgroundSource_UseNormal(element); | ||
| if (!IsSourceKindEquals(element._lastBackgroundSource, element.BackgroundSource)) | ||
| { | ||
| BackgroundSource_UseNormal(element); | ||
| element._lastBackgroundSource = element.BackgroundSource; | ||
| } |
There was a problem hiding this comment.
Bug: When a video background is active, the static background layer may not reload on context switch if its URL remains the same, even if the main video source changes.
Severity: LOW
Suggested Fix
The change handler BackgroundSource_OnChange should be updated. The check that prevents reloading if _lastBackgroundStaticSource equals BackgroundStaticSource should also verify if the main BackgroundSource has changed. If the main source is different, the static background should be reloaded regardless of whether its own URL has changed.
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/XAMLs/Theme/CustomControls/LayeredBackgroundImage.Events.Loaders.cs#L133-L148
Potential issue: The `BackgroundSource_OnChange` event handler contains deduplication
logic that prevents reloading a static background if its source URL has not changed.
This logic is flawed because it doesn't account for cases where the main
`BackgroundSource` (e.g., a video) has changed, but the accompanying
`BackgroundStaticSource` has not. This occurs when `IsVideoPlay` is true. As a result,
when switching between game contexts that share the same static background URL but have
different video backgrounds, the old static background will persist instead of being
reloaded with the new context.
Did we get this right? 👍 / 👎 to inform future reviews.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Preview 1.84.5 (Codename: Columbina)
What's Changed? - 1.84.5
Full Changelog: CL-v1.84.4-pre...CL-v1.84.5-pre
Code Signing Policy