devjas1 commited on
Commit
5353e32
·
1 Parent(s): 1afd9f6

fix(state): Enhance reset logic in ephemeral state management

Browse files
Files changed (1) hide show
  1. modules/callbacks.py +12 -4
modules/callbacks.py CHANGED
@@ -77,6 +77,9 @@ def on_input_mode_change():
77
 
78
  def reset_ephemeral_state():
79
  """Comprehensive reset for the entire app state."""
 
 
 
80
  # Define keys that should NOT be cleared by a full reset
81
  keep_keys = {"model_select", "input_mode"}
82
 
@@ -84,11 +87,16 @@ def reset_ephemeral_state():
84
  if k not in keep_keys:
85
  st.session_state.pop(k, None)
86
 
87
- # Re-initialize the core state after clearing
88
- init_session_state()
 
 
 
 
 
89
 
90
- # CRITICAL: Bump the uploader version to force a widget reset
91
- st.session_state["uploader_version"] += 1
92
  st.session_state["current_upload_key"] = (
93
  f"upload_txt_{st.session_state['uploader_version']}"
94
  )
 
77
 
78
  def reset_ephemeral_state():
79
  """Comprehensive reset for the entire app state."""
80
+
81
+ current_version = st.session_state.get("uploader_version", 0)
82
+
83
  # Define keys that should NOT be cleared by a full reset
84
  keep_keys = {"model_select", "input_mode"}
85
 
 
87
  if k not in keep_keys:
88
  st.session_state.pop(k, None)
89
 
90
+ # Manurally re-establish a clean state
91
+ # Re-seed essential state
92
+ st.session_state["status_message"] = "Ready to analyze polymer spectra"
93
+ st.session_state["status_type"] = "info"
94
+ st.session_state["batch_files"] = []
95
+ st.session_state["inference_run_once"] = True
96
+ st.session_state[""] = ""
97
 
98
+ # CRITICAL: Increment the preserved version and re-assign it
99
+ st.session_state["uploader_version"] = current_version + 1
100
  st.session_state["current_upload_key"] = (
101
  f"upload_txt_{st.session_state['uploader_version']}"
102
  )