Spaces:
Paused
Paused
Update app.py via AI Editor
Browse files
app.py
CHANGED
|
@@ -617,7 +617,7 @@ def update_preview_window_style(state):
|
|
| 617 |
State('chat-input', 'value'),
|
| 618 |
Input('cancel-action-btn', 'n_clicks'),
|
| 619 |
State('preview-window-state', 'data'),
|
| 620 |
-
Input('session-cleanup', '
|
| 621 |
],
|
| 622 |
prevent_initial_call=True
|
| 623 |
)
|
|
@@ -625,7 +625,7 @@ def master_callback(
|
|
| 625 |
shred_clicks, proposal_clicks, compliance_clicks, recover_clicks, board_clicks, loe_clicks,
|
| 626 |
rfp_content, rfp_filename, doc_delete_clicks, selected_doc,
|
| 627 |
proposal_content, proposal_filename, proposal_delete_clicks, selected_proposal,
|
| 628 |
-
chat_input, cancel_clicks, preview_window_state,
|
| 629 |
):
|
| 630 |
ctx = callback_context
|
| 631 |
triggered_id = ctx.triggered[0]['prop_id'].split('.')[0] if ctx.triggered else None
|
|
@@ -642,8 +642,8 @@ def master_callback(
|
|
| 642 |
proposal_delete_clicks = safe_get_n_clicks(ctx, 12)
|
| 643 |
uploaded_rfp_decoded_bytes = None
|
| 644 |
|
| 645 |
-
# Session cleanup:
|
| 646 |
-
if triggered_id == 'session-cleanup':
|
| 647 |
sid = get_session_id()
|
| 648 |
cleanup_session_tmpdir(sid)
|
| 649 |
if sid in SESSION_DATA:
|
|
@@ -801,7 +801,6 @@ def master_callback(
|
|
| 801 |
output_data_upload = dcc.Markdown(result, style={"whiteSpace": "pre-wrap", "wordWrap": "break-word"})
|
| 802 |
finally:
|
| 803 |
lock.release()
|
| 804 |
-
# Update dropdowns and lists after action (in case doc/proposal was auto-created)
|
| 805 |
doc_options = [{'label': fn, 'value': fn} for fn in session_dict['uploaded_documents'].keys()]
|
| 806 |
doc_value = doc_value if doc_value in session_dict['uploaded_documents'] else (next(iter(session_dict['uploaded_documents']), None) if session_dict['uploaded_documents'] else None)
|
| 807 |
proposal_options = [{'label': fn, 'value': fn} for fn in session_dict['proposals'].keys()]
|
|
|
|
| 617 |
State('chat-input', 'value'),
|
| 618 |
Input('cancel-action-btn', 'n_clicks'),
|
| 619 |
State('preview-window-state', 'data'),
|
| 620 |
+
Input('session-cleanup', 'clear_data')
|
| 621 |
],
|
| 622 |
prevent_initial_call=True
|
| 623 |
)
|
|
|
|
| 625 |
shred_clicks, proposal_clicks, compliance_clicks, recover_clicks, board_clicks, loe_clicks,
|
| 626 |
rfp_content, rfp_filename, doc_delete_clicks, selected_doc,
|
| 627 |
proposal_content, proposal_filename, proposal_delete_clicks, selected_proposal,
|
| 628 |
+
chat_input, cancel_clicks, preview_window_state, session_cleanup_clear
|
| 629 |
):
|
| 630 |
ctx = callback_context
|
| 631 |
triggered_id = ctx.triggered[0]['prop_id'].split('.')[0] if ctx.triggered else None
|
|
|
|
| 642 |
proposal_delete_clicks = safe_get_n_clicks(ctx, 12)
|
| 643 |
uploaded_rfp_decoded_bytes = None
|
| 644 |
|
| 645 |
+
# Session cleanup: only clear all data and temp dir if session-cleanup's clear_data is triggered (i.e., browser close)
|
| 646 |
+
if triggered_id == 'session-cleanup' and session_cleanup_clear:
|
| 647 |
sid = get_session_id()
|
| 648 |
cleanup_session_tmpdir(sid)
|
| 649 |
if sid in SESSION_DATA:
|
|
|
|
| 801 |
output_data_upload = dcc.Markdown(result, style={"whiteSpace": "pre-wrap", "wordWrap": "break-word"})
|
| 802 |
finally:
|
| 803 |
lock.release()
|
|
|
|
| 804 |
doc_options = [{'label': fn, 'value': fn} for fn in session_dict['uploaded_documents'].keys()]
|
| 805 |
doc_value = doc_value if doc_value in session_dict['uploaded_documents'] else (next(iter(session_dict['uploaded_documents']), None) if session_dict['uploaded_documents'] else None)
|
| 806 |
proposal_options = [{'label': fn, 'value': fn} for fn in session_dict['proposals'].keys()]
|