SIGN IN SIGN UP

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