Which server captures with the microphone, handing it over, push-to-talk and key presses reaching the right microphones, and away state and nickname applied everywhere were all worked out in MainFrame. They move to a Sessions class in core, next to ServerSession, where another frontend can use them; the window keeps only the tabs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>