Don't report a channel join that leaving the server cut short
Connecting with a channel moves there once the channel list is in; if the connection was left again before that, the move ran against the closed socket and reported an error nobody could act on. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -404,6 +404,8 @@ public final class TeamspeakConnection implements TS3Listener {
|
||||
*/
|
||||
private void joinDefaultChannelIfNeeded(String channel, String channelPassword) {
|
||||
if (normaliseChannelRef(channel) == null) return;
|
||||
LocalTeamspeakClientSocket sock = client;
|
||||
if (sock == null || !connected) return; // already left again
|
||||
ChannelNode target = model.findChannelByPath(channel);
|
||||
if (target == null) {
|
||||
ui.onError("Channel \"" + channel.trim() + "\" not found on this server.");
|
||||
@@ -411,9 +413,10 @@ public final class TeamspeakConnection implements TS3Listener {
|
||||
}
|
||||
if (currentChannelId() == target.id) return; // clientinit already put us there
|
||||
try {
|
||||
client.joinChannel(target.id, (channelPassword == null || channelPassword.isEmpty())
|
||||
sock.joinChannel(target.id, (channelPassword == null || channelPassword.isEmpty())
|
||||
? null : channelPassword);
|
||||
} catch (Exception e) {
|
||||
if (!connected) return;
|
||||
error("Could not join channel \"" + target.name + "\": " + rootMessage(e));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user