Show progress for long operations

Goal: Give the user a progress bar while your extension works through many notes, tracks, or file steps.

Time: ~15 minutes


Steps

  1. Identify slow work — big note lists, For Each over tracks, file import, or HTTP fetch.
  2. Add Progress Dialog from the Long task category outside any Transaction (same rule as Show Dialog).
  3. Wire trigger Run → Progress Dialog Run (or show progress before the loop starts).
  4. Progress Dialog has a single Run input (exec). Configure the progress title and initial value via node settings (params), not wired inputs.
  5. Wire Progress Dialog Then → the work chain, or nest updates inside the loop body per template pattern.
  6. Keep Transaction around only the Live mutations, not around the progress UI.
  7. Build & Run on a Set large enough to see the bar move for a second or two.

Expected result

Live shows a progress dialog while work runs. The bar advances as your graph reports steps. When finished, the dialog closes and changes remain undoable per your Transaction layout.


If something goes wrong

Problem What to do
No progress bar Confirm Progress Dialog is on the Run chain before or around the work
Progress inside undo Move Progress Dialog outside Transaction
Bar stuck at zero Wire increment/total inputs on each loop iteration
Dialog blocks undo weirdly Separate progress UI from Transaction body
Run timeout Extensions cannot run forever — bound loops and avoid unbounded repeat

See also