Skip to content

feat(dashboard): unify escape fallback hierarchy#496

Merged
liche719 merged 5 commits into
1024XEngineer:mainfrom
gdemonc:feat/dashboard-escape-fallback
May 11, 2026
Merged

feat(dashboard): unify escape fallback hierarchy#496
liche719 merged 5 commits into
1024XEngineer:mainfrom
gdemonc:feat/dashboard-escape-fallback

Conversation

@gdemonc
Copy link
Copy Markdown
Collaborator

@gdemonc gdemonc commented May 9, 2026

solve #489

Summary

  • unify dashboard Escape handling so local overlays close before module routes fall back to dashboard home
  • restore notes-page Escape behavior for source-note studio and note detail panels
  • keep the desktop window close fallback limited to the dashboard home route

Testing

  • pnpm --dir apps/desktop typecheck
  • pnpm --dir apps/desktop lint

gdemonc added 2 commits May 9, 2026 19:59
Route-level Escape now unwinds local dashboard overlays before returning module pages to home, and only allows the desktop window to close from the home route. This keeps fallback behavior consistent across task, mirror, safety, and home surfaces.
Restore the notes page Escape hierarchy so source-note studio and note detail panels unwind before the route falls back to dashboard home. Keep the contract test aligned with the restored notes-specific escape handlers.
@codecov
Copy link
Copy Markdown

codecov Bot commented May 9, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@gdemonc gdemonc requested review from Late-Smoke and liche719 and removed request for liche719 May 9, 2026 18:18
@liche719
Copy link
Copy Markdown
Collaborator

/review

@liche719 liche719 linked an issue May 10, 2026 that may be closed by this pull request
Copy link
Copy Markdown
Contributor

@fennoai fennoai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the dashboard Escape coordination changes across code quality, performance, security, and documentation accuracy. No noteworthy issues found.

Comment thread docs/dashboard-design.md
gdemonc and others added 3 commits May 11, 2026 00:23
Let the dashboard voice field use the shared route-level Escape coordinator so voice dismiss follows the same fallback ladder as other dashboard overlays. Keep the latest notes-page external-url import aligned with the rebased branch state.
@gdemonc
Copy link
Copy Markdown
Collaborator Author

gdemonc commented May 11, 2026

@xgopilot 现在还有问题吗?

@fennoai
Copy link
Copy Markdown
Contributor

fennoai Bot commented May 11, 2026

Review

这轮基于 origin/main...HEAD 重新看了一遍 Escape 协调器、首页/模块回退层级、window close fallback,以及 notes/task/memory/safety 的局部 overlay 接入,当前没有再发现新的剩余问题。

本次结论是静态审查结果:

  • 没有发现新的功能性回退点或明显竞态。
  • Escape 的层级现在符合这次 PR 的目标:先关局部层,再退首页,最后仅在首页空态下关闭 dashboard 窗口。
  • notes 页对 SourceNoteStudio 和详情面板的优先级回退也已经补齐。

校验限制:本地尝试执行 pnpm --dir apps/desktop typecheckpnpm --dir apps/desktop lint,但当前环境缺少 pnpm,所以这两项我没法复跑确认。

View job run

@liche719 liche719 merged commit cc2e016 into 1024XEngineer:main May 11, 2026
3 checks passed
Blackcloudss added a commit that referenced this pull request May 11, 2026
…t task flow (#506)

* style(local-service): clarify backend go comments

* ci(local-service): block chinese go comments

* refactor(orchestrator): stage task entry flows

* refactor(rpc): align entrypoint decoding with protocol

* test(rpc): guard protocol method registry

* fix(orchestrator): reuse free-text flow for notepad tasks

* docs(protocol): refresh notepad task conversion example

* fix(orchestrator): make notepad conversion rollback-safe

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* chore(local-service): sync taskcontext merge changes

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* fix(notepad): preserve task-start tracing and explicit inputs

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* chore(desktop): sync notepad convert test stub contract

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* fix(notepad): keep related resources out of task files

* fix(notepad): restore explicit resource snapshot inputs

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* fix(notepad): restore convert task confirmation flow

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* docs(protocol): fix notepad convert_to_task response example

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* fix(notepad): tighten convert-to-task rollback boundaries

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* fix(notepad): persist legacy note conversion provenance

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* fix(notepad): keep internal provenance out of RPC items

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* fix(notepad): avoid guessing legacy conversion provenance

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* docs(notepad): clarify legacy convert-to-task note text semantics

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* fix(notepad): preserve explicit file attachments and cleared note provenance

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* fix(notepad): dedupe explicit snapshot attachments

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* fix(notepad): align convert task with free-text flow

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* fix(notepad): rollback failed direct conversions

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* fix(notepad): constrain convert snapshot resource paths

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* fix(notepad): keep published convert tasks after start failure

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* fix(notepad): keep directory resources out of snapshot files

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* fix(notepad): keep published failure note linkage consistent

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* fix(notes): gate auto-open on supported delivery targets

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* fix(notepad): tighten convert task resource promotion

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: Blackcloudss <161042579+Blackcloudss@users.noreply.github.com>

* feat(dashboard): unify escape fallback hierarchy (#496)

* feat(dashboard): unify escape fallback hierarchy

Route-level Escape now unwinds local dashboard overlays before returning module pages to home, and only allows the desktop window to close from the home route. This keeps fallback behavior consistent across task, mirror, safety, and home surfaces.

* fix(dashboard): restore notes escape fallback

Restore the notes page Escape hierarchy so source-note studio and note detail panels unwind before the route falls back to dashboard home. Keep the contract test aligned with the restored notes-specific escape handlers.

* fix(dashboard): route voice escape through fallback hierarchy

Let the dashboard voice field use the shared route-level Escape coordinator so voice dismiss follows the same fallback ladder as other dashboard overlays. Keep the latest notes-page external-url import aligned with the rebased branch state.

* fix(desktop): stop shell-ball from attaching foreground page context (#523)

* fix(shell-ball): clear hover input immediately after submit

* fix(dashboard): add task delivery page and sync task status

* fix(shell-ball): support top and bottom edge docking

* fix(shell-ball): add edge snap animation

* fix(dashboard): include browser context in voice submit

* fix(shell-ball): attach browser page context on submit

* fix(shell-ball): surface detected browser urls in bubbles

* fix(dashboard): limit voice context reuse to browser pages

* fix(desktop): restore corrupted contract test copy

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: liche719 <203191226+liche719@users.noreply.github.com>

* fix(shell-ball): remove auto-detected page bubble display (#461)

* fix(desktop): stop shell-ball from attaching page context

---------

Co-authored-by: xgopilot <noreply@goplus.org>
Co-authored-by: liche719 <203191226+liche719@users.noreply.github.com>

---------

Co-authored-by: xgopilot <noreply@goplus.org>
Co-authored-by: gdemonc <146809967+gdemonc@users.noreply.github.com>
Co-authored-by: liche <3372134858@qq.com>
Co-authored-by: liche719 <203191226+liche719@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

完善:规范统一仪表盘的回退行为

3 participants