Skip to content

ticket #617: Shuffler Freeze Fix - #709

Open
ssshire wants to merge 1 commit into
3C-SCSU:mainfrom
ssshire:shuffler-freeze-fix
Open

ticket #617: Shuffler Freeze Fix#709
ssshire wants to merge 1 commit into
3C-SCSU:mainfrom
ssshire:shuffler-freeze-fix

Conversation

@ssshire

@ssshire ssshire commented Mar 11, 2026

Copy link
Copy Markdown

Ticket #617 — Shuffler: Async Processing & GUI Feedback Fix

Background

The Anonymize button in the File Shuffler tab was causing the main application window to hang,
blocking the GUI thread during the shuffler operation. The initial fix offloaded the work to a
background thread using concurrent.futures.ThreadPoolExecutor, which resolved the freeze but
introduced a new problem — the GUI received no feedback during or after processing. Console log
output from run_file_shuffler.py and run.sh was only visible in the terminal, never
surfacing back to the user.

Root Cause

The QML was expecting run_file_shuffler_program() to return output synchronously and assign it
directly to the runLog display property, but once async the function returned immediately with
no meaningful output. The actual result from the background thread was only being print()-ed
to terminal inside handle_result(), never routed back to the UI.

Fixed

  • Window dialogue no longer hangs; as per splitting the two processes
    (ShufflerGUI) & (Anonymize Button)

  • Offloaded the Shuffler Button work by creating a worker thread pool to establish the
    separation.

  • Modified the QML file to accept in Connections (Signal) from the return statement in order
    to print the status of the run_shuffler_program operation.

  • Display console log pipes back to the Shuffler GUI instead of just terminal.

@ssshire ssshire changed the title ticket #617 ticket #617: Shuffler Freeze Fix Mar 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant