fix(web): stop the session view from covering settings and history
Settings and Timeline are siblings of the session view, and the session view is `position: fixed; z-index: 50` over an opaque background below the 768px breakpoint. toggleSettings/toggleTimeline never touched it, so a panel opened from inside a session rendered in normal flow UNDERNEATH it: laid out, focusable, and completely invisible. It was reachable at all only because the overlay's hardcoded 49px top edge sits above the header's real ~69px, leaving the top of the two buttons hit-testable. openPanel records what the panel covered and deactivates the session view; hidePanel restores exactly that. Only on the way in -- swapping between the two panels must not re-read the flag, because the session view is already deactivated by then and the panel would forget to bring it back. That also fixes the state wrinkle in the same path: hidePanel used to restore the agent list unconditionally, so closing a panel from inside a session left the list rendered under a still-active session view. The session keeps polling while a panel is up, so it comes back current. Both are geometry, so the tests measure them: elementFromPoint at the panel's own centre, at phone and desktop widths, and the arrow cluster's boxes rather than its CSS rule.
N
Nick007 committed
79f74bb5e6adbfc70b56a88d738bdbfcc3403d78
Parent: bf4f731