Fix welcome composer idle placeholder overlap

Suppress the chat progress ghost placeholder until a chat is selected so the welcome new-chat prompt remains the only visible composer hint. Add a focused static regression for the welcome composer idle-progress overlap case.

Alessandro committed Jun 23, 2026 at 20:31 UTC 022bae8496d3607aedbb43aefbc9d7ca285e21d1
2 files changed +7
tests/test_welcome_composer_static.py
+6
@@ -102,6 +102,12 @@ def test_welcome_composer_can_create_a_chat_before_sending() -> None:
102 assert 'return "arrow_forward";' in input_store
103
104
105 +def test_welcome_composer_does_not_overlap_idle_progress_placeholder() -> None:
106 + input_store = _read("webui/components/chat/input/input-store.js")
107 +
108 + assert "!!chatsStore.selected &&\n this._getSendState() !== \"all\"" in input_store
109 +
110 +
111 def test_welcome_composer_buttons_keep_target_geometry_without_glow() -> None:
112 chat_bar = _read("webui/components/chat/input/chat-bar-input.html")
113 mic_css = _read("plugins/_whisper_stt/webui/whisper-stt.css")
webui/components/chat/input/input-store.js
+1
@@ -91,6 +91,7 @@ const model = {
91
92 get showProgressPlaceholder() {
93 return (
94 + !!chatsStore.selected &&
95 this._getSendState() !== "all" &&
96 !!this.progressText &&
97 !this.message