mikeboone Claude Sonnet 4.6 commited on
Commit
c943ffe
Β·
1 Parent(s): e3c769f

fix: switch liveboard name from change to blur to prevent queue flooding

Browse files

Per-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>

Files changed (2) hide show
  1. chat_interface.py +6 -4
  2. 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 change β€” update controller settings in real-time
 
 
 
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.change(
5089
  fn=update_liveboard_name,
5090
  inputs=[liveboard_name_input, chat_controller_state],
5091
- outputs=[liveboard_name_input]
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