FilOzone / FilOzone/ipfs2foc

[Feature]: pause and resume a prepare run without losing progress

Open
#60 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
1
Forks
0
Avg merge
5d 21h
Merged PRs (30d)
1

Description

**Description**

A prepare run has no pause. Once Prepare starts, the only ways to stop it are per-row cancel (one CID at a time) or closing the tab. Closing the tab is actually safe — completed pieces persist and the next Prepare recomputes only what is missing — but nothing in the UI says so, and it is a blunt way to express "stop for now, keep my progress." On a multi-hour run (a 2M-CID inventory runs for a day or more even at the current rates) an operator will reasonably want to pause for bandwidth, a meeting, or an overnight stop, and today they either kill the tab on faith or let it run.

**Impact**

Operators either abandon progress they didn't need to lose or avoid pausing at all. The persistence guarantees (#26, #57) already do the hard part; the control is missing.

**Next steps**

- A Pause control while a run is live: stop handing new CIDs to the worker pool, abort in-flight rows back to queued (not failed), flush the persisted snapshot.
- Button reads as state: Prepare → Pause → Resume; Resume is the existing incremental Prepare.
- Say in the UI that closing the tab is also safe, since that is the pause everyone reaches for first.

**Done means**

Mid-run, one click pauses within seconds with nothing lost; Resume (or a reload, or another device restoring the run) picks up exactly where it stopped; completed counts never go backward.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the live Prepare flow, the worker-pool handoff, persisted snapshot flushing, and reload or another-device restoration. Implement the Pause → Resume state behavior and verify the stated done conditions: in-flight rows return to queued, progress is preserved, and completed counts never decrease.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.