windows 原生rdp集成问题修复 - #92
Merged
Merged
Conversation
ActiveX 宿主创建/更新边界/凭据应用/Connect 都会泵 COM 消息, 派发 pending GPUI 前台任务并重入已借用的 App:常驻后台任务 (AsyncApp::update, async_context.rs:165)直接 panic,同时 on_request_frame 的 handle.update(...).log_err() 跳帧且丢失 next_frame_callbacks,导致窗口白屏。 初始化重构为五个阶段,所有会泵消息的 COM 调用期间零 App 借用: - Phase 1(借用内):纯 Rust 快照输入(HWND、generation、bounds、 连接选项克隆),selection/proxy 检查前置 - Phase 2(无借用):create_with_owner 创建 ActiveX 宿主、 update_bounds、parse_destination、连接选项与凭据准备 - Phase 3(借用内):shutdown 注册与失败路由(注册仍先于 connect, 保持退出 drain 安全性) - Phase 4(无借用):Connect - Phase 5(借用内):attach 其他相关改动一并纳入: - windows_native.rs 新增 parent_window_owner / create_with_owner - remote_desktop 共享 crate 下沉 feature 与能力探测 - 连接测试分流与 provider guard 跳过逻辑 - render_contract_tests 重写三个契约测试: create/prepare/connect 全部无借用、Phase 2 无 GPUI 上下文
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.
Closes #[issue number]
Description
Describe in English for the changes made in this pull request and the problem it solves.
Please keep 1 PR to solve 1 problem, and keep Small improvements should be small modifications to make PR easier to review and to merge.
Screenshot
Break Changes
Describe any breaking changes introduced by this pull request. If none, remove this section.
How to Test
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.
Checklist
cargo runfor story tests related to the changes.