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
- Identify slow work — big note lists, For Each over tracks, file import, or HTTP fetch.
- Add Progress Dialog from the Long task category outside any Transaction (same rule as Show Dialog).
- Wire trigger Run → Progress Dialog Run (or show progress before the loop starts).
- Progress Dialog has a single Run input (exec). Configure the progress title and initial value via node settings (params), not wired inputs.
- Wire Progress Dialog Then → the work chain, or nest updates inside the loop body per template pattern.
- Keep Transaction around only the Live mutations, not around the progress UI.
- 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 |