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

coderabbitaiBot 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 nameStatusExplanation
Title check✅ PassedThe title clearly summarizes the main change: keeping the desktop task menu interactive while its native popover is open.
Description check✅ PassedThe description covers the problem, root cause, fix, verification results, AI use, tests, and behavior change.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Ai Use Disclosure✅ PassedThe 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
ContributorAuthor

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:mainAug 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 freeto 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

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
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

coderabbitaiBot 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 nameStatusExplanation
Title check✅ PassedThe title clearly summarizes the main change: keeping the desktop task menu interactive while its native popover is open.
Description check✅ PassedThe description covers the problem, root cause, fix, verification results, AI use, tests, and behavior change.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Ai Use Disclosure✅ PassedThe 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
ContributorAuthor

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:mainAug 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 freeto 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

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
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

coderabbitaiBot 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 nameStatusExplanation
Title check✅ PassedThe title clearly summarizes the main change: keeping the desktop task menu interactive while its native popover is open.
Description check✅ PassedThe description covers the problem, root cause, fix, verification results, AI use, tests, and behavior change.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Ai Use Disclosure✅ PassedThe 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
ContributorAuthor

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:mainAug 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 freeto 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

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
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

coderabbitaiBot 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 nameStatusExplanation
Title check✅ PassedThe title clearly summarizes the main change: keeping the desktop task menu interactive while its native popover is open.
Description check✅ PassedThe description covers the problem, root cause, fix, verification results, AI use, tests, and behavior change.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Ai Use Disclosure✅ PassedThe 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
ContributorAuthor

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:mainAug 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 freeto 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

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
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

coderabbitaiBot 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 nameStatusExplanation
Title check✅ PassedThe title clearly summarizes the main change: keeping the desktop task menu interactive while its native popover is open.
Description check✅ PassedThe description covers the problem, root cause, fix, verification results, AI use, tests, and behavior change.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Ai Use Disclosure✅ PassedThe 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
ContributorAuthor

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:mainAug 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 freeto 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

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
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

coderabbitaiBot 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 nameStatusExplanation
Title check✅ PassedThe title clearly summarizes the main change: keeping the desktop task menu interactive while its native popover is open.
Description check✅ PassedThe description covers the problem, root cause, fix, verification results, AI use, tests, and behavior change.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Ai Use Disclosure✅ PassedThe 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
ContributorAuthor

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:mainAug 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 freeto 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

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
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

coderabbitaiBot 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 nameStatusExplanation
Title check✅ PassedThe title clearly summarizes the main change: keeping the desktop task menu interactive while its native popover is open.
Description check✅ PassedThe description covers the problem, root cause, fix, verification results, AI use, tests, and behavior change.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Ai Use Disclosure✅ PassedThe 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
ContributorAuthor

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:mainAug 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 freeto 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

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
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

coderabbitaiBot 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 nameStatusExplanation
Title check✅ PassedThe title clearly summarizes the main change: keeping the desktop task menu interactive while its native popover is open.
Description check✅ PassedThe description covers the problem, root cause, fix, verification results, AI use, tests, and behavior change.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Ai Use Disclosure✅ PassedThe 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
ContributorAuthor

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:mainAug 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 freeto 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

@Astro-Han