Spaces:
Running
Running
fix: switch liveboard name from change to blur to prevent queue flooding
Browse filesPer-keystroke change events were queuing behind long-running deploy
generators, causing Gradio to show the queue wait timer directly on
the liveboard name textbox β the "flashy and freaky" concurrent
session behavior. Switching to blur eliminates the per-keystroke
queue churn; outputs=[] removes the unnecessary round-trip since
send_message always reads the live UI value at submit time.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- chat_interface.py +6 -4
- sprint_2026_03.md +10 -0
chat_interface.py
CHANGED
|
@@ -5079,16 +5079,18 @@ def create_chat_tab(chat_controller_state, settings, current_stage, current_mode
|
|
| 5079 |
outputs=[current_model, chatbot]
|
| 5080 |
)
|
| 5081 |
|
| 5082 |
-
# Liveboard name
|
|
|
|
|
|
|
|
|
|
| 5083 |
def update_liveboard_name(name, controller):
|
| 5084 |
if controller is not None:
|
| 5085 |
controller.settings['liveboard_name'] = name
|
| 5086 |
-
return name
|
| 5087 |
|
| 5088 |
-
liveboard_name_input.
|
| 5089 |
fn=update_liveboard_name,
|
| 5090 |
inputs=[liveboard_name_input, chat_controller_state],
|
| 5091 |
-
outputs=[
|
| 5092 |
)
|
| 5093 |
|
| 5094 |
# TS environment change β update controller settings in real-time
|
|
|
|
| 5079 |
outputs=[current_model, chatbot]
|
| 5080 |
)
|
| 5081 |
|
| 5082 |
+
# Liveboard name blur β update controller settings when user leaves the field.
|
| 5083 |
+
# Using blur (not change) avoids per-keystroke queue events that cause the
|
| 5084 |
+
# Gradio progress spinner/timer to appear on this component while a deploy runs.
|
| 5085 |
+
# No output needed β the value is already in the textbox; we only update the dict.
|
| 5086 |
def update_liveboard_name(name, controller):
|
| 5087 |
if controller is not None:
|
| 5088 |
controller.settings['liveboard_name'] = name
|
|
|
|
| 5089 |
|
| 5090 |
+
liveboard_name_input.blur(
|
| 5091 |
fn=update_liveboard_name,
|
| 5092 |
inputs=[liveboard_name_input, chat_controller_state],
|
| 5093 |
+
outputs=[]
|
| 5094 |
)
|
| 5095 |
|
| 5096 |
# TS environment change β update controller settings in real-time
|
sprint_2026_03.md
CHANGED
|
@@ -171,6 +171,16 @@ This sprint covers hardening, settings, and new capabilities before that happens
|
|
| 171 |
|
| 172 |
## Done
|
| 173 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 174 |
### Session: March 26, 2026 β Liveboard Name Fix + Settings Reorganization
|
| 175 |
|
| 176 |
- [x] **Liveboard Name Bug Fixed** β
β UI field value now takes priority over DB-loaded default
|
|
|
|
| 171 |
|
| 172 |
## Done
|
| 173 |
|
| 174 |
+
### Session: March 26, 2026 β HF Deployment Fixes + Auth + Settings
|
| 175 |
+
|
| 176 |
+
- [x] **HF Blank Page After Login β Root Cause Found** β
|
| 177 |
+
- Cause: users were accessing via `huggingface.co/spaces/thoughtspot-dp/demoprep` (HF wrapper)
|
| 178 |
+
- The wrapper embeds the app in an iframe; modern browsers block third-party iframe cookies β auth cookie not sent back β stays on login page
|
| 179 |
+
- Fix: use the **direct URL** `https://thoughtspot-dp-demoprep.hf.space` β first-party cookies work fine
|
| 180 |
+
- Also fixed during investigation: pinned `starlette==0.50.0` (Starlette 1.0 broke TemplateResponse) and `fastapi==0.128.0` (prevents surprise upgrades on HF rebuild)
|
| 181 |
+
- [x] **Logout button added** β
β "Sign Out β" link in header, wired to Gradio's `/logout` route
|
| 182 |
+
- [x] **Change Password** β
β accordion in Settings tab; requires current password to confirm identity
|
| 183 |
+
|
| 184 |
### Session: March 26, 2026 β Liveboard Name Fix + Settings Reorganization
|
| 185 |
|
| 186 |
- [x] **Liveboard Name Bug Fixed** β
β UI field value now takes priority over DB-loaded default
|