getodk/briefcase

Crash on attempted cancel of pull from Central server when offline

lognaturel opened this issue · 0 comments

Software versions

Briefcase v1.17.4

Problem description

Crash on attempted cancel of pull from Central server when offline

Steps to reproduce the problem

  1. Open Briefcase, get a form list from a Central server
  2. Go offline
  3. Initiate pull, see it hang. Cancel pull, see crash.

Expected behavior

It should be possible to cancel a pull even when offline.

Other information

There's an NPE in PullPanel's onCancel handler when pullJobRunner is null. I think Central.pull is never returning in that scenario. If we try to only cancel if pullJobRunner is non-null, then we end up with the job resuming once connectivity is established and the button having the wrong state.

This works fine with an Aggregate server.