gui(routes): show resolve summary + timeout recheck badges
This commit is contained in:
@@ -361,6 +361,11 @@ class MainWindow(QMainWindow):
|
||||
RU: Делает DNS-запросы wildcard-доменов, чтобы заранее наполнить agvpn_dyn4.""")
|
||||
self.btn_routes_prewarm.clicked.connect(self.on_smartdns_prewarm)
|
||||
relay_row.addWidget(self.btn_routes_prewarm)
|
||||
self.btn_routes_precheck_debug = QPushButton("Debug precheck now")
|
||||
self.btn_routes_precheck_debug.setToolTip("""EN: Debug helper. Arms one-shot resolver precheck and requests routes restart now.
|
||||
RU: Отладочный helper. Включает one-shot precheck резолвера и запрашивает restart routes.""")
|
||||
self.btn_routes_precheck_debug.clicked.connect(self.on_routes_precheck_debug)
|
||||
relay_row.addWidget(self.btn_routes_precheck_debug)
|
||||
relay_row.addStretch(1)
|
||||
traffic_layout.addLayout(relay_row)
|
||||
|
||||
@@ -383,6 +388,18 @@ RU: Агрессивный режим дополнительно дергает
|
||||
self.lbl_traffic_mode_diag.setStyleSheet("color: gray;")
|
||||
traffic_layout.addWidget(self.lbl_traffic_mode_diag)
|
||||
|
||||
self.lbl_routes_resolve_summary = QLabel("Resolve summary: —")
|
||||
self.lbl_routes_resolve_summary.setToolTip("""EN: Parsed from latest 'resolve summary' trace line.
|
||||
RU: Берется из последней строки 'resolve summary' в trace.""")
|
||||
self.lbl_routes_resolve_summary.setStyleSheet("color: gray;")
|
||||
traffic_layout.addWidget(self.lbl_routes_resolve_summary)
|
||||
|
||||
self.lbl_routes_recheck_summary = QLabel("Timeout recheck: —")
|
||||
self.lbl_routes_recheck_summary.setToolTip("""EN: Hidden timeout-recheck counters included in resolve summary.
|
||||
RU: Счетчики скрытого timeout-recheck из итогового resolve summary.""")
|
||||
self.lbl_routes_recheck_summary.setStyleSheet("color: gray;")
|
||||
traffic_layout.addWidget(self.lbl_routes_recheck_summary)
|
||||
|
||||
layout.addWidget(traffic_group)
|
||||
|
||||
# --- NFT progress (agvpn4) ---
|
||||
@@ -1083,6 +1100,11 @@ RU: Источник wildcard IP: резолвер, runtime nftset SmartDNS, и
|
||||
t.iface_reason,
|
||||
t.message,
|
||||
)
|
||||
rs = self.ctrl.routes_resolve_summary_view()
|
||||
self.lbl_routes_resolve_summary.setText(rs.text)
|
||||
self.lbl_routes_resolve_summary.setStyleSheet(f"color: {rs.color};")
|
||||
self.lbl_routes_recheck_summary.setText(rs.recheck_text)
|
||||
self.lbl_routes_recheck_summary.setStyleSheet(f"color: {rs.recheck_color};")
|
||||
self._safe(work, title="Routes error")
|
||||
|
||||
def refresh_dns_tab(self) -> None:
|
||||
@@ -1423,6 +1445,19 @@ RU: Источник wildcard IP: резолвер, runtime nftset SmartDNS, и
|
||||
self.refresh_status_tab()
|
||||
self._safe(work, title="Traffic mode test error")
|
||||
|
||||
def on_routes_precheck_debug(self) -> None:
|
||||
def work():
|
||||
res = self.ctrl.routes_precheck_debug(run_now=True)
|
||||
txt = (res.pretty_text or "").strip()
|
||||
if res.ok:
|
||||
QMessageBox.information(self, "Resolve precheck debug", txt or "OK")
|
||||
else:
|
||||
QMessageBox.critical(self, "Resolve precheck debug", txt or "ERROR")
|
||||
self.refresh_routes_tab()
|
||||
self.refresh_status_tab()
|
||||
self.refresh_trace_tab()
|
||||
self._safe(work, title="Resolve precheck debug error")
|
||||
|
||||
def on_toggle_timer(self) -> None:
|
||||
def work():
|
||||
enabled = self.chk_timer.isChecked()
|
||||
|
||||
Reference in New Issue
Block a user