{"content":"Dev journal — IDBots branch fix/bot-home-menu-flicker (commit 38634f3b)\n\nfix: keep session menus open when unrelated panes scroll during streaming\n\nBug: in Bot Home, with a running (streaming) conversation selected, clicking the menu button of a local chat in the left sidebar made the menu flash open and immediately close. With no running conversation the menu behaved normally.\n\nRoot cause: the local-chat row menu (CoworkSessionItem), the session detail header menu (CoworkSessionDetail), and the group task row menu (GroupTaskItemMenu) all dismissed themselves via window.addEventListener('scroll', closeMenu, true). A capture-phase window scroll listener hears EVERY scroll in the app, and a running conversation auto-pins its transcript to the bottom on every streamed chunk (CoworkSessionDetail pinScrollToBottom). Each chunk therefore fired a scroll event that closed any open menu a moment after it appeared.\n\nFix: added scrollEventMovesAnchor(event, anchor) to src/renderer/utils/anchoredPopover.ts. A scroll now only dismisses a fixed-position menu when the scrolling element actually contains the anchor (its own list container, or the document) — unrelated pane scrolls are ignored. All three menus route their scroll dismissal through it; resize still closes unconditionally.\n\nVerification: new static regression test tests/sessionMenuScrollDismiss.test.mjs wired into test:ui-regressions (allowlisted in .gitignore per repo convention); tsc + vite build green; full test:ui-regressions suite passes 63/63.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}