diagnostics_ok/decoders/js8_decoder/decoders/js8_test.wav?t=1779873841893n_utils.h",
"QCoreApplication",
"QDialogButtonBox",
"QPushButton"
],
"interesting_symbols": [
{
"line": 6,
"text": "#include \"JS8MessageBox.h\""
},
{
"line": 13,
"text": "JS8MessageBox::JS8MessageBox(QWidget *parent) : QMessageBox{parent} {"
},
{
"line": 17,
"text": "JS8MessageBox::JS8MessageBox(Icon icon, QString const &text,"
},
{
"line": 24,
"text": "void JS8MessageBox::about_message(QWidget *parent, QString const &text) {"
},
{
"line": 28,
"text": "void JS8MessageBox::about_Qt_message(QWidget *parent) {"
},
{
"line": 34,
"text": "show_it(QWidget *parent, JS8MessageBox::Icon icon, QString const &text,"
},
{
"line": 36,
"text": "JS8MessageBox::StandardButtons buttons,"
},
{
"line": 37,
"text": "JS8MessageBox::StandardButton default_button) {"
},
{
"line": 38,
"text": "JS8MessageBox mb{icon, text, JS8MessageBox::NoButton, parent};"
},
{
"line": 42,
"text": "uint mask = JS8MessageBox::FirstButton;"
}
]
},
{
"path": "JS8_Mode/Modulator.h",
"exists": true,
"category": "rx_core_candidate",
"focused_rx_score": 64,
"hits": {
"sync": 1,
"js8": 1
},
"tx_risk_terms": {
"tx": 1,
"tune": 1
},
"includes": [
"JS8_Audio/AudioDevice.h",
"QAudio",
"QPointer"
],
"interesting_symbols": [
{
"line": 4,
"text": "#include \"JS8_Audio/AudioDevice.h\""
},
{
"line": 24,
"text": "enum class State { Synchronizing, Active, Idle };"
},
{
"line": 55,
"text": "Q_SLOT void start(double audioFrequency, int submode, double tx_delay,"
}
]
},
{
"path": "JS8_Mode/Detector.h",
"exists": true,
"category": "rx_core_candidate",
"focused_rx_score": 63,
"hits": {
"js8": 1
},
"tx_risk_terms": {},
"includes": [
"JS8_Audio/AudioDevice.h",
"QMutex",
"vendor/Eigen/Dense",
"array"
],
"interesting_symbols": [
{
"line": 4,
"text": "#include \"JS8_Audio/AudioDevice.h\""
}
]
},
{
"path": "JS8_Include/Maidenhead.h",
"exists": true,
"category": "rx_core_candidate",
"focused_rx_score": 63,
"hits": {
"soft": 1
},
"tx_risk_terms": {},
"includes": [
"QString",
"QStringView",
"QValidator"
],
"interesting_symbols": []
},
{
"path": "JS8_Include/sleep.h",
"exists": true,
"category": "rx_core_candidate",
"focused_rx_score": 60,
"hits": {},
"tx_risk_terms": {},
"includes": [
"qthread.h"
],
"interesting_symbols": []
},
{
"path": "JS8_Include/pimpl_h.h",
"exists": true,
"category": "rx_core_candidate",
"focused_rx_score": 60,
"hits": {},
"tx_risk_terms": {},
"includes": [
"memory"
],
"interesting_symbols": []
},
{
"path": "JS8_Include/pimpl_impl.h",
"exists": true,
"category": "rx_core_candidate",
"focused_rx_score": 60,
"hits": {},
"tx_risk_terms": {},
"includes": [
"utility"
],
"interesting_symbols": []
},
{
"path": "JS8_Include/EventFilter.h",
"exists": true,
"category": "rx_core_candidate",
"focused_rx_score": 60,
"hits": {},
"tx_risk_terms": {},
"includes": [
"QEvent",
"QKeyEvent",
"QMouseEvent",
"QObject",
"functional"
],
"interesting_symbols": []
},
{
"path": "JS8_Include/SettingsGroup.h",
"exists": true,
"category": "rx_core_candidate",
"focused_rx_score": 60,
"hits": {},
"tx_risk_terms": {},
"includes": [
"QSettings",
"QString"
],
"interesting_symbols": []
},
{
"path": "JS8_Include/eclipse.txt",
"exists": true,
"category": "rx_core_candidate",
"focused_rx_score": 60,
"hits": {},
"tx_risk_terms": {},
"includes": [],
"interesting_symbols": []
},
{
"path": "JS8_JSC/JSC_checker.h",
"exists": true,
"category": "rx_core_candidate",
"focused_rx_score": 59,
"hits": {},
"tx_risk_terms": {
"rig": 1
},
"includes": [
"QObject"
],
"interesting_symbols": []
},
{
"path": "JS8_JSC/JSC.h",
"exists": true,
"category": "rx_core_candidate",
"focused_rx_score": 59,
"hits": {},
"tx_risk_terms": {
"rig": 1
},
"includes": [
"QList",
"QMap",
"QPair",
"QStringList",
"QTextStream",
"QVector"
],
"interesting_symbols": []
},
{
"path": "JS8_Main/APRSISClient.cpp",
"exists": true,
"category": "support_or_unknown",
"focused_rx_score": 51,
"hits": {
"sync": 1,
"js8": 21
},
"tx_risk_terms": {
"send": 3,
"rig": 1,
"cat": 11
},
"includes": [
"APRSISClient.h",
"DriftingDateTime.h",
"Varicode.h",
"QLoggingCategory",
"QRandomGenerator",
"cmath"
],
"interesting_symbols": [
{
"line": 7,
"text": "#include \"Varicode.h\""
},
{
"line": 14,
"text": "Q_DECLARE_LOGGING_CATEGORY(aprsisclient_js8)"
},
{
"line": 105,
"text": "loginFrame = loginFrame.arg(\"JS8Call\");"
},
{
"line": 319,
"text": "qCDebug(aprsisclient_js8)"
},
{
"line": 354,
"text": "auto spotFrame = QString(\"%1>APJ8CL,qAS,%2:=%3/%4G#JS8 %5\\n\");"
},
{
"line": 427,
"text": "qCDebug(aprsisclient_js8)"
},
{
"line": 446,
"text": "qCDebug(aprsisclient_js8)"
},
{
"line": 468,
"text": "qCDebug(aprsisclient_js8)"
},
{
"line": 478,
"text": "qCDebug(aprsisclient_js8)"
},
{
"line": 486,
"text": "qCDebug(aprsisclient_js8)"
}
]
},
{
"path": "JS8_Main/main.cpp",
"exists": true,
"category": "support_or_unknown",
"focused_rx_score": 51,
"hits": {
"js8": 29
},
"tx_risk_terms": {
"rig": 9,
"cat": 27
},
"includes": [
"DriftingDateTime.h",
"FrequencyList.h",
"JS8MessageBox.h",
"JS8_Include/SettingsGroup.h",
"JS8_Include/commons.h",
"JS8_UI/mainwindow.h",
"JS8_UI/styles.h",
"MetaDataRegistry.h",
"MultiSettings.h",
"Radio.h",
"TraceFile.h",
"revision_utils.h",
"QApplication",
"QDateTime",
"QDir",
"QLibraryInfo",
"QLockFile",
"QLoggingCategory",
"QObject",
"QRegularExpression",
"QSettings",
"QStack",
"QStandardPaths",
"QStringList",
"QSysInfo",
"fftw3.h",
"locale.h",
"exception",
"iostream",
"stdexcept",
"string",
"QCommandLineOption",
"QCommandLineParser"
],
"interesting_symbols": [
{
"line": 8,
"text": "#include \"JS8MessageBox.h\""
},
{
"line": 9,
"text": "#include \"JS8_Include/SettingsGroup.h\""
},
{
"line": 10,
"text": "#include \"JS8_Include/commons.h\""
},
{
"line": 11,
"text": "#include \"JS8_UI/mainwindow.h\""
},
{
"line": 12,
"text": "#include \"JS8_UI/styles.h\""
},
{
"line": 45,
"text": "Q_DECLARE_LOGGING_CATEGORY(main_js8)"
},
{
"line": 91,
"text": "a.setApplicationName(\"JS8Call\");"
},
{
"line": 183,
"text": "switch (JS8MessageBox::query_message("
},
{
"line": 188,
"text": "JS8MessageBox::Yes | JS8MessageBox::Retry |"
},
{
"line": 189,
"text": "JS8MessageBox::No,"
}
]
},
{
"path": "JS8_Include/qpriorityqueue.h",
"exists": true,
"category": "rx_core_candidate",
"focused_rx_score": 45,
"hits": {
"soft": 1
},
"tx_risk_terms": {
"tx": 1,
"rig": 17
},
"includes": [
"QtCore/qalgorithms.h",
"queue",
"vector"
],
"interesting_symbols": []
},
{
"path": "JS8_Main/FrequencyList.cpp",
"exists": true,
"category": "support_or_unknown",
"focused_rx_score": 42,
"hits": {
"js8": 15
},
"tx_risk_terms": {
"rig": 2,
"cat": 1
},
"includes": [
"FrequencyList.h",
"JS8_Include/pimpl_impl.h",
"JS8_Main/Bands.h",
"Radio.h",
"QAbstractTableModel",
"QByteArray",
"QDataStream",
"QDebugStateSaver",
"QList",
"QListIterator",
"QMetaType",
"QMimeData",
"QString",
"QStringList",
"QVector",
"cstdlib",
"limits",
"utility",
"moc_FrequencyList.cpp"
],
"interesting_symbols": [
{
"line": 7,
"text": "#include \"JS8_Include/pimpl_impl.h\""
},
{
"line": 8,
"text": "#include \"JS8_Main/Bands.h\""
},
{
"line": 31,
"text": "{1843500, Modes::JS8, IARURegions::ALL, \"\"}, // 3.5 above"
},
{
"line": 32,
"text": "{3578000, Modes::JS8, IARURegions::ALL, \"\"}, // 5 above"
},
{
"line": 33,
"text": "{5363000, Modes::JS8,"
},
{
"line": 35,
"text": "{7078000, Modes::JS8, IARURegions::ALL, \"\"}, // 4 above"
},
{
"line": 36,
"text": "{10130000, Modes::JS8, IARURegions::ALL, \"\"}, // 6 below"
},
{
"line": 37,
"text": "{14078000, Modes::JS8, IARURegions::ALL, \"\"}, // 4 above"
},
{
"line": 38,
"text": "{18104000, Modes::JS8, IARURegions::ALL, \"\"}, // 4 above"
},
{
"line": 39,
"text": "{21078000, Modes::JS8, IARURegions::ALL, \"\"}, // 4 above"
}
]
}
],
"next_action": "Run sync-probe and soft-symbols on real JS8 WAVs, then continue with LDPC/FEC. Message unpack remains not implemented in this step."
}
[webftr-js8-lab] OK
[webftr-js8-lab] log file: /decoders/js8_decoder/logs/20260527T085141Z_source-map.log
[webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260527T085141Z_source-map_manifest.json
[webftr-js8-lab] source-map exit_code=0
========== FULL-AUDIT STEP 4/4: LOG BUNDLE ==========
[webftr-js8-lab] collecting JS8Lab logs from /decoders/js8_decoder/logs
[webftr-js8-lab] upload this JS8Lab bundle: /decoders/js8_decoder/logs/js8_decoder_lab_full_audit_20260527T084305Z.zip
[webftr-js8-lab] OK
[webftr-js8-lab] log file: /decoders/js8_decoder/logs/20260527T084305Z_full-audit.log
[webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260527T084305Z_full-audit_manifest.json
Auto-Refresh alle 5 Sekunden mit frischem ?t=.... RX-only: kein TX, kein PTT, kein Tune, kein Send.