From d2723b73c5247fa343918d9f5acd0502ad5232d6 Mon Sep 17 00:00:00 2001 From: Taksh Date: Thu, 30 Apr 2026 12:37:58 +0530 Subject: [PATCH] fix: guard vote_last_response against None state After clear_history resets state to None, a rapid click on a vote button before Gradio updates the UI sends a request with state=None, causing AttributeError on state.dict(). Return early when state is None. Fixes #3787 --- fastchat/serve/gradio_web_server.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fastchat/serve/gradio_web_server.py b/fastchat/serve/gradio_web_server.py index 8941c6ecb..a9247b6ca 100644 --- a/fastchat/serve/gradio_web_server.py +++ b/fastchat/serve/gradio_web_server.py @@ -286,6 +286,8 @@ def load_demo(url_params, request: gr.Request): def vote_last_response(state, vote_type, model_selector, request: gr.Request): + if state is None: + return filename = get_conv_log_filename() if "llava" in model_selector: filename = filename.replace("2024", "vision-tmp-2024")