From 8a9afcbec65a9fa556cbd0e3623440dd2d200f51 Mon Sep 17 00:00:00 2001 From: oobabooga <112222186+oobabooga@users.noreply.github.com> Date: Fri, 6 Mar 2026 01:19:36 -0300 Subject: [PATCH] Allow extensions to skip output post-processing --- modules/chat.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/chat.py b/modules/chat.py index 2beb1543..5d7e0e56 100644 --- a/modules/chat.py +++ b/modules/chat.py @@ -923,7 +923,9 @@ def chatbot_wrapper(text, state, regenerate=False, _continue=False, loading_mess visible_reply = html.escape(visible_reply) if shared.stop_everything: - output['visible'][-1][1] = apply_extensions('output', output['visible'][-1][1], state, is_chat=True) + if not state.get('_skip_output_extensions'): + output['visible'][-1][1] = apply_extensions('output', output['visible'][-1][1], state, is_chat=True) + yield output return @@ -956,9 +958,11 @@ def chatbot_wrapper(text, state, regenerate=False, _continue=False, loading_mess full_visible = full_internal full_visible = html.escape(full_visible) - output['visible'][-1][1] = apply_extensions('output', full_visible, state, is_chat=True) + if not state.get('_skip_output_extensions'): + output['visible'][-1][1] = apply_extensions('output', full_visible, state, is_chat=True) else: - output['visible'][-1][1] = apply_extensions('output', output['visible'][-1][1], state, is_chat=True) + if not state.get('_skip_output_extensions'): + output['visible'][-1][1] = apply_extensions('output', output['visible'][-1][1], state, is_chat=True) # Final sync for version metadata (in case streaming was disabled) if regenerate: