https://gitlab.synchro.net/main/sbbs/-/commit/79af1082cafd0d73836adeca
Added Files:
src/sbbs3/qtmonitor/CMakeLists.txt LICENSE clientwidget.cpp clientwidget.h loginattemptswidget.cpp loginattemptswidget.h logwidget.cpp logwidget.h main.cpp mainwindow.cpp mainwindow.h mqttclient.cpp mqttclient.h nodewidget.cpp nodewidget.h settingsdialog.cpp settingsdialog.h statswidget.cpp statswidget.h
Modified Files:
src/sbbs3/qtmonitor/.gitignore CLAUDE.md README.md
Removed Files:
src/sbbs3/qtmonitor/client_widget.py log_widget.py login_attempts_widget.py mainwindow.py mqtt_client.py node_widget.py pyproject.toml qtmonitor.py requirements.txt settings_dialog.py stats_widget.py tls_psk.py
Log Message:
qtmonitor: rewrite in C++ with Qt6 Widgets + Qt MQTT
Replace the Python/PySide6 prototype with a native C++ implementation.
No Python dependency, no fragile ctypes TLS-PSK hack.
Uses QSslSocket's native preSharedKeyAuthenticationRequired signal for
TLS-PSK authentication with broker.js. PSK ciphers filtered from QSslConfiguration::supportedCiphers() since setCiphers(QString) doesn't
accept OpenSSL directives. TLS managed independently; QMqttClient
receives the encrypted socket as an IODevice transport.
SSL certificate errors prompt the user for confirmation; accepted errors
are remembered for subsequent reconnects within the session.
Co-Authored-By: Claude Opus 4.6 (1M context) <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net