feat(gupi): add temporary sessions and global shortcut actions - #233
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e735fbd3d7
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 730060f72c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
gpui/crates/platform-ext/src/app.rs
Lines 108 to 111 in 9eac642
On Windows with multiple monitors, this returns the monitor's enumeration ordinal, but target_display_id compares it with GPUI DisplayId values, which the pinned Windows backend derives from the raw HMONITOR. The direct lookup therefore never selects the cursor's monitor; the remaining fallback compares GetCursorPos device coordinates with DPI-scaled GPUI bounds, so mixed-DPI layouts can open the temporary window on the wrong display.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: de88d79772
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f764868e94
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 86eb3bc465
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7823d3b944
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: be4e7dc67f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Summary
为 Gupi 增加独立于主窗口任务的临时多会话窗口、全局模板快捷任务和托盘入口。临时窗口隐藏或回收后,已有会话和 Pi 任务继续由应用持有;可从操作面板复制或回填最后完整回答。
目标分支为父 Issue #217 的
codex/217-gupi-pi-rpc-client。相对该分支,本 PR 仅增加 #221 的一个实现提交。相对仓库main,父分支已经包含 Gupi 启动引导、Pi RPC 生命周期、会话工作区与历史、命令入口、运行展示和统一设置;这些前序内容由父分支承接,本 PR 在此基础上补齐临时窗口阶段。Motivation
用户需要在主窗口任务运行期间,通过系统快捷键对选中文字或剪贴板内容执行已有 Pi 模板,并能恢复、切换和清理临时会话。后台运行也需要托盘提供主窗口、设置和退出入口。
Changes
--no-session启动 Pi;临时内容和草稿不进入普通会话目录。窗口失焦隐藏,隐藏 600 秒后仅回收视图,重新召唤恢复应用持有的会话。Validation
platform-ext测试和受影响 crate 的 Clippy。实际执行及结果:
重点验证覆盖会话隔离、窗口重建保留草稿、操作面板、新建复用、数字导航、最终回答提取、空白/非空输入分发、停止/隐藏切换,以及设置页改绑保存和菜单键帽同步。原生验证使用隔离目录;测试实例与临时数据已清理。
补充验证:主窗口/临时状态不依赖版本探测、模板任务触发与去重回归通过;RPC 进程测试 10 项、临时窗口相关回归和 Gupi/pi-rpc Clippy 通过,pi-rpc 已交叉编译检查 Windows 目标。macOS 隔离原生验证确认:启动不调用
--version,设置诊断失败后主会话和新临时会话仍可用。系统热键合成未触发,不视作真实模板快捷键验收。Risks
main的 PR,因此向父 Issue 分支提交不会自动触发该工作流。本 PR 未修改 CI 触发范围,也不将本机验证视作多平台 CI 通过。详细记录:阶段计划、总待处理文档。
Related Issues