8f385b93438044cd75a0e878e73af2166153045e
What a server tab knows beyond its views - the connection lifecycle, title and status, the identity used, the microphone/speaker/away and commander flags, chat sending and the channel lookups - moves from the Swing ServerTab and ServerTabSelfState into core's ServerSession, so another frontend gets the same behaviour without copying it. ServerSession also takes over what the Swing event bridge decided on its own: clearing the model on disconnect, naming the tab after the server, showing senders under their contact names, and the chat's system lines. The bridge now only updates views. SelfState moves along, while its icons stay with the tray. A server switch no longer needs to queue behind the UI thread: the disconnect is reported synchronously, so the session is free again by the time it reconnects. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Description
A reimplementation of TeamSpeak 3 in Java
TS3
Latest
Languages
Java
85.5%
Kotlin
13.3%
C++
0.6%
Python
0.5%