Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
Fix a token bug that can crash the app
Browse files
ui.py
CHANGED
|
@@ -72,11 +72,16 @@ def render_role_sidebar(display_speaker_tokens, token_display_map):
|
|
| 72 |
)
|
| 73 |
st.sidebar.text(" ")
|
| 74 |
|
|
|
|
| 75 |
for i, category in enumerate(st.session_state.categories):
|
| 76 |
ms_key = f"multiselect_{category}"
|
| 77 |
-
#
|
|
|
|
| 78 |
raw_vals = st.session_state.categorySelect[i] if i < len(st.session_state.categorySelect) else []
|
| 79 |
-
st.session_state[ms_key] = [
|
|
|
|
|
|
|
|
|
|
| 80 |
|
| 81 |
# Build claimed set (display labels) from widget keys
|
| 82 |
all_claimed = {
|
|
@@ -141,10 +146,14 @@ def render_rename_sidebar(currFile, speakerNames, display_speaker_tokens, token_
|
|
| 141 |
for token in entry["speakers"]
|
| 142 |
}
|
| 143 |
|
|
|
|
| 144 |
for idx, entry in enumerate(st.session_state.globalRenames):
|
| 145 |
grkey = _global_rename_key(idx)
|
| 146 |
-
#
|
| 147 |
-
st.session_state[grkey] = [
|
|
|
|
|
|
|
|
|
|
| 148 |
label_col, trash_col = st.sidebar.columns([5, 1])
|
| 149 |
label_col.markdown(f"**{entry['name']}**")
|
| 150 |
trash_col.button(
|
|
|
|
| 72 |
)
|
| 73 |
st.sidebar.text(" ")
|
| 74 |
|
| 75 |
+
valid_display = set(display_speaker_tokens)
|
| 76 |
for i, category in enumerate(st.session_state.categories):
|
| 77 |
ms_key = f"multiselect_{category}"
|
| 78 |
+
# Sync widget key from data model (raw -> display), dropping any stale
|
| 79 |
+
# labels that are no longer valid (e.g. speaker was just renamed)
|
| 80 |
raw_vals = st.session_state.categorySelect[i] if i < len(st.session_state.categorySelect) else []
|
| 81 |
+
st.session_state[ms_key] = [
|
| 82 |
+
raw_to_display.get(t, t) for t in raw_vals
|
| 83 |
+
if raw_to_display.get(t, t) in valid_display
|
| 84 |
+
]
|
| 85 |
|
| 86 |
# Build claimed set (display labels) from widget keys
|
| 87 |
all_claimed = {
|
|
|
|
| 146 |
for token in entry["speakers"]
|
| 147 |
}
|
| 148 |
|
| 149 |
+
valid_display = set(display_speaker_tokens)
|
| 150 |
for idx, entry in enumerate(st.session_state.globalRenames):
|
| 151 |
grkey = _global_rename_key(idx)
|
| 152 |
+
# Sync widget key from data model (raw -> display), dropping stale labels
|
| 153 |
+
st.session_state[grkey] = [
|
| 154 |
+
raw_to_display.get(t, t) for t in entry["speakers"]
|
| 155 |
+
if raw_to_display.get(t, t) in valid_display
|
| 156 |
+
]
|
| 157 |
label_col, trash_col = st.sidebar.columns([5, 1])
|
| 158 |
label_col.markdown(f"**{entry['name']}**")
|
| 159 |
trash_col.button(
|