Skip to content

fix(desktop): keep task menu interactive while open - #3114

Merged
Astro-Han merged 1 commit into
apache:mainfrom
Astro-Han:fix/desktop-task-menu-actions
Aug 16, 2026
Merged

fix(desktop): keep task menu interactive while open#3114
Astro-Han merged 1 commit into
apache:mainfrom
Astro-Han:fix/desktop-task-menu-actions

Conversation

@Astro-Han

Copy link
Copy Markdown
Contributor

Summary

Fix task row action menus whose visible native popover stopped accepting pointer clicks after the cursor left the row. Keep the action host pointer-interactive for the full popover-open lifetime so the underlying chat surface cannot intercept menu item clicks.

Verification

  • Focused Electron pointer regression failed on main because the chat message list intercepted the menu-item click, then passed after the fix.
  • npm --workspace @maka/desktop run e2e -- sidebar-project-row.spec.ts --grep "task row action menu accepts pointer selection"
  • npx playwright test --config e2e/playwright.config.ts sidebar-project-row.spec.ts — 3 passed
  • npm run format:check — 1463 files checked, no fixes needed
  • Manual real-window coordinate check: opening the task menu and clicking 重命名 opens the rename dialog.

Root cause

The hover-only task action host returned to pointer-events: none while its native popover remained visibly open in the top layer. That value made hit testing fall through the menu to the chat surface underneath. The open popover is now an additional authority for keeping the host interactive.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Codex diagnosed the pointer hit-testing regression, authored the CSS fix and Electron regression test, and ran the reported verification.

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

Keep the task row action host pointer-interactive for the native popover's full open lifetime so the chat surface cannot intercept menu item clicks. Add an Electron pointer regression covering the rename action.

Generated-by: Codex
@coderabbitai

coderabbitai Bot commented Aug 16, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 4a0c362a-4be2-407a-83da-0ce2bde882e3

📥 Commits

Reviewing files that changed from the base of the PR and between ded2dcd and b97723c.

📒 Files selected for processing (2)
  • apps/desktop/e2e/sidebar-project-row.spec.ts
  • apps/desktop/src/renderer/styles/sidebar.css

Included review availability: Your plan includes up to 3 reviews per rolling hour; 2 remain after this review.


📝 Walkthrough

Summary

  • Fixes task-row action menus so they remain pointer-interactive while the native popover is open.
  • Prevents the underlying chat surface from receiving menu-item clicks after the pointer leaves the task row.
  • Adds an Electron regression test for opening the task menu and selecting 重命名.

Design and scope

  • Extends the existing sidebar CSS behavior. It does not create a parallel interaction path.
  • The change is small and coherent. It adds the native popover-open state to the existing visibility rule.
  • The regression test covers the affected user flow and does not duplicate unrelated coverage.

Simplification

  • No safe deletion or simplification is evident from the provided diff summary.
  • Removing the popover-open selector would restore the pointer-interaction defect.
  • Removing the regression test would reduce coverage for the reported failure.

Validation

  • The PR objectives report affected Playwright tests, formatting checks, and a manual check that clicking 重命名 opens the rename dialog.
  • Final check status is unverified because direct command output is not available here.

Review-relevant risks

  • The CSS change affects user-visible task-menu visibility and pointer behavior. Material changes in this area require independent human review under repository policy.
  • No public contract, security, licensing, release, or governance effect was identified in the current diff.
  • The person performing the merge must review the final diff. A maintainer makes the final determination.

Walkthrough

The sidebar action menu now stays visible while its native popover is open. An end-to-end test opens the menu with pointer input, selects “重命名,” and verifies the task rename dialog.

Changes

Sidebar action-menu interaction

Layer / File(s) Summary
Native popover visibility
apps/desktop/src/renderer/styles/sidebar.css
The action menu is visible when a descendant native popover is open. The documentation records pointer-event behavior during pointer handoff.
Pointer-based rename flow
apps/desktop/e2e/sidebar-project-row.spec.ts
The test identifies the seeded task row, opens its action menu, selects “重命名,” and verifies the rename dialog.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to b9772

The change keeps task action menus interactive while open and includes focused regression coverage; no actionable merge-blocking risk remains after normal checks and review.

Possibly related PRs

Suggested reviewers: moonold, jackwener

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: keeping the desktop task menu interactive while its native popover is open.
Description check ✅ Passed The description covers the problem, root cause, fix, verification results, AI use, tests, and behavior change.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Ai Use Disclosure ✅ Passed The PR selects generative tooling, names Codex and its scope, and its sole introduced commit has the standalone matching trailer Generated-by: Codex; no conflicting declaration appears.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@Astro-Han

Copy link
Copy Markdown
Contributor Author

Fast path rationale: this PR is a low-impact, narrowly scoped fix that restores the existing task-menu pointer behavior. It changes one CSS hit-testing rule, adds a focused Electron regression test, is easy to revert, and does not touch public contracts, security, licensing, releases, governance, or Runtime architecture boundaries.

Human contributor @Astro-Han reviewed the final diff and chose the self-merge fast path. Required checks must pass before merge.

AI-assisted implementation: Codex diagnosed the regression, authored the fix and regression test, and ran the reported verification. The human contributor verified the final diff and owns the merge decision.

— Posted by Codex at @Astro-Han's direction.

@Astro-Han
Astro-Han merged commit 8b79a6d into apache:main Aug 16, 2026
12 checks passed
@Astro-Han
Astro-Han deleted the fix/desktop-task-menu-actions branch August 16, 2026 09:57
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.

1 participant