Dispute portal

- Fixes #1450
- Fixes #1448
- Fixes #1451
- Fixes #1459
is this the right way to tell if the dispute is present? i think when we do `.find` it always returns an object.