Skip to content

fix(progress): seed run_active flag when connecting during a run - #149

Closed
gnacho wants to merge 2 commits into
mainfrom
fix/145-startup-progress-flag
Closed

gnacho wants to merge 2 commits into
mainfrom
fix/145-startup-progress-flag

Conversation

@gnacho

@gnacho gnacho commented Aug 21, 2026 •

Copy link
Copy Markdown
Owner

Closes #148, closes #150

fix(progress): seed run_active flag when connecting during a run
connect_progress() wires the progress forwarder after start() has already fired startup syncs. The run_active flag introduced in #145 starts false, so every event from the in-flight startup run was dropped and the folder row showed no per-file progress or bar movement.

Seed the flag from scheduler.is_running() when connecting, so an in-flight run keeps emitting events. Later runs are still gated by prepare_sync()/finished() as before.

fix(ui): force folder row redraw after state/progress updates
GTK may not repaint the row when properties are updated from a subscription callback, so after a sync finishes the row could still show "Synchronizing…" with the old file caption until the user clicked elsewhere to force a redraw.

Queue an explicit draw on the whole slot after every state render and on the progress label after every progress change.

gnacho added 2 commits August 21, 2026 20:29
connect_progress() wires the progress forwarder after start() has
already fired startup syncs. The run_active flag introduced in #145
starts false, so every event from the in-flight startup run was dropped
and the folder row showed no per-file progress or bar movement.

Seed the flag from scheduler.is_running() when connecting, so an
in-flight run keeps emitting events. Later runs are still gated by
prepare_sync()/finished() as before.

Closes #148
GTK may not repaint the row when properties are updated from a
subscription callback, so after a sync finishes the row could still
show "Synchronizing…" with the old file caption until the user clicked
elsewhere to force a redraw.

Queue an explicit draw on the whole slot after every state render and
on the progress label after every progress change, so the icon,
spinner, run bar, subtitle and caption all update together without
user interaction.

Closes #150
@gnacho

gnacho commented Aug 22, 2026

Copy link
Copy Markdown
Owner Author

Superseded by #152, which includes both commits from this branch (seed run_active for the first run, forced row redraws) on top of the row-lifetime fix for #151.

@gnacho gnacho closed this Aug 22, 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.

Folder row does not redraw after sync completes until user interaction Large folder shows 'Syncing' state without current file name or progress bar

1 participant