Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Restore: deterministic clean-install test (index resync, late reply, cached order, restart mid-recovery)

Open
#222 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
dart
Domain
backend, testing

Research direction

Start by reading the restore module and its existing ignored live-regtest round-trip test; identify how the dispatcher accepts crafted RestoreData payloads and how restore state is persisted across restart. Add deterministic CI coverage for all five listed cases, then run the restore tests and check that module coverage reaches 80%. Done means all cases pass without a live daemon, while the live-regtest test remains a separate ignored smoke test.

Written by the indexing model from the issue text.

Description

area: identity blocked priority: high tests

Sub-issue of #142. Depends on: #218, #219.

The #[ignore]d regtest round-trip proves the handshake, but it cannot catch the failure modes that matter for #142 — most of them are ordering and lifetime bugs that a happy-path, same-process test hides.

Required cases

A deterministic clean-install (reinstall-style) test must cover:

  • A recovered index greater than 1 — and the next new trade uses a fresh index, not a recovered one (#217)
  • A delayed response beyond 10 seconds — still applied (#219)
  • An order already present in the cache before the restore — corrected to is_mine = true (#218)
  • Restart during recovery — the pending restore survives and completes, without duplicating state
  • Re-applying the same snapshot — no duplicated trades, sessions, disputes or mappings
Notes
  • Must be deterministic and CI-runnable — not dependent on a live daemon. Drive the dispatcher with crafted RestoreData payloads rather than a real network round-trip.
  • Keep the live-regtest E2E test as a separate, #[ignore]d smoke test.
Acceptance criteria
  • All five cases above covered and green in CI
  • Coverage for the restore module meets the project's 80% minimum
Dominant language
Dart
Stars
11
Forks
9
Avg merge
12h 41m
Merged PRs (30d)
265

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from MostroP2P/app

All issues in MostroP2P/app

Similar issues

More Dart issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.