From 4cc700f57d5f9ff2eb4a6df3125ef4aabe1ee010 Mon Sep 17 00:00:00 2001 From: LIghtJUNction Date: Tue, 24 Mar 2026 19:08:09 +0800 Subject: [PATCH] fix(dashboard): suppress benign SSL close notify errors When clients disconnect abruptly, hypercorn raises ssl.SSLError APPLICATION_DATA_AFTER_CLOSE_NOTIFY during SSL shutdown. This is benign and expected behavior. Wrap serve() with try/except to suppress these spurious errors. --- astrbot/dashboard/server.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/astrbot/dashboard/server.py b/astrbot/dashboard/server.py index c438a12be..d740395be 100644 --- a/astrbot/dashboard/server.py +++ b/astrbot/dashboard/server.py @@ -6,6 +6,7 @@ import os import platform import re import socket +import ssl from collections.abc import Callable from datetime import datetime from ipaddress import IPv4Address, IPv6Address, ip_address @@ -584,7 +585,11 @@ class AstrBotDashboard: config.accesslog = "-" config.access_log_format = "%(h)s %(r)s %(s)s %(b)s %(D)s" - await serve(self.app, config, shutdown_trigger=self.shutdown_trigger) + try: + await serve(self.app, config, shutdown_trigger=self.shutdown_trigger) + except (ssl.SSLError, asyncio.CancelledError): + # Client disconnected abruptly — SSL shutdown errors are benign. + pass @staticmethod def _build_bind(host: str, port: int) -> str: