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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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