| ... | @@ -1122,7 +1122,8 @@ const SidebarThreadRow = memo(function SidebarThreadRow(props: { | ... | @@ -1122,7 +1122,8 @@ const SidebarThreadRow = memo(function SidebarThreadRow(props: { |
| 1122 | [onSnooze, threadRef], | 1122 | [onSnooze, threadRef], |
| 1123 | ); | 1123 | ); |
| 1124 | // While the snooze popover is open the pointer leaves the row, which | 1124 | // While the snooze popover is open the pointer leaves the row, which |
| 1125 | // would fade the hover actions out from under the open menu; pin them. | 1125 | // would fade the hover actions out from under the open menu. Pin them and |
| | 1126 | // suppress the row tooltip so its portal cannot overlap the popover. |
| 1126 | const [snoozeMenuOpenRaw, setSnoozeMenuOpen] = useState(false); | 1127 | const [snoozeMenuOpenRaw, setSnoozeMenuOpen] = useState(false); |
| 1127 | // Snooze is offered only where it can succeed: capability-gated and never | 1128 | // Snooze is offered only where it can succeed: capability-gated and never |
| 1128 | // on blocked-on-you work or queued turns (the server rejects both). | 1129 | // on blocked-on-you work or queued turns (the server rejects both). |
| ... | @@ -1445,7 +1446,7 @@ const SidebarThreadRow = memo(function SidebarThreadRow(props: { | ... | @@ -1445,7 +1446,7 @@ const SidebarThreadRow = memo(function SidebarThreadRow(props: { |
| 1445 | sortable?.isDragging && "z-20 opacity-80", | 1446 | sortable?.isDragging && "z-20 opacity-80", |
| 1446 | )} | 1447 | )} |
| 1447 | > | 1448 | > |
| 1448 | <Tooltip> | 1449 | <Tooltip disabled={snoozeMenuOpen}> |
| 1449 | <TooltipTrigger | 1450 | <TooltipTrigger |
| 1450 | render={ | 1451 | render={ |
| 1451 | <div | 1452 | <div |