Skip to content

Adapt to per-run DKG cancel (frostCancelDkg(runId) + DkgProgressUpdate.Started) #514

Description

@wksantiago

Companion to keep PR privkeyio/keep#979 (dkg-cancel-run-identity), which scopes frost_cancel_dkg to a per-run identity.

Why

The keep-mobile FFI changes shape:

  • frost_cancel_dkg()frost_cancel_dkg(run_id: u64) — cancel now targets a specific run.
  • New DkgProgressUpdate::Started { run_id }, emitted at run start, delivers the id the UI must use to cancel.

keep's android CI only asserts the bindings generate; it does not compile keep-android against them, so this break stays green in keep CI and only surfaces here when keep.version moves.

Required changes

  • AccountActions.kt:433frostCancelDkg() no-arg call breaks; thread a captured run_id.
  • Capture run_id from DkgProgressUpdate.Started and hold per-run state (the current code has none).
  • CreateGroupScreen.kt:972 dkgStatusText — the else-less exhaustive when over DkgProgressUpdate stops compiling without a Started branch.
  • AccountActions.kt:71 — rewrite the stale comment describing the old process-wide flag.
  • Bump keep.version to #979's merge SHA and regenerate bindings.

Optional (UX)

AccountActions.kt:485 synthesises a Connecting state before the run starts, so the UI shows a cancellable state before Started delivers an id. A cancel pressed in that window has no id to target and is a no-op (not a regression — the old flag-reset discarded early cancels too). Consider queuing a pending cancel and applying it on Started.

Blocked

Cannot merge until #979 lands; keep.version must pin to its squash-merge SHA.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions