Report a chosen client version and operating system

Other clients see the version and platform from clientinit in the info
panel, and until now that was whatever ts3j sends. The new Client Version
tab picks one instead.

Servers refuse a version they do not know with "client is modified", so
free text is not enough: the list holds genuine version/platform/signature
triples from released clients, newest first per platform. The fields stay
editable for a version whose signature is known from elsewhere, and a
refused connection now says where to change it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-14 20:06:09 +00:00
parent 97148cfe9a
commit ef95b6305d
5 changed files with 334 additions and 1 deletions

View File

@@ -57,6 +57,7 @@ public final class SettingsDialog extends JDialog {
private NotificationsPanel notificationsPanel;
private IconPackPanel iconPackPanel;
private ClientVersionPanel clientVersionPanel;
private JComboBox<AudioDevices.Device> inputCombo;
private JComboBox<AudioDevices.Device> outputCombo;
@@ -107,6 +108,8 @@ public final class SettingsDialog extends JDialog {
tabs.addTab("Notifications", notificationsPanel);
iconPackPanel = new IconPackPanel(settings);
tabs.addTab("Design", iconPackPanel);
clientVersionPanel = new ClientVersionPanel(settings);
tabs.addTab("Client Version", scrollable(clientVersionPanel));
JPanel buttons = new JPanel(new BorderLayout());
JPanel right = new JPanel();
@@ -551,6 +554,7 @@ public final class SettingsDialog extends JDialog {
settings.music = musicCheck.isSelected();
notificationsPanel.apply();
iconPackPanel.apply();
clientVersionPanel.apply();
settings.save();
if (liveMic != null) {