message: Comment result, provisoner
diff: @@ -207,7 +207,11 @@ DebugApi.prototype.run = function() {
  }
  DebugApi.prototype.killPortal = Promise.coroutine(function*(req, response) {
  - const result = {error: [], stages: []};
  + const result = {
  + error: [], // string|[string] containing a fatal error or minor errors.
  + stages: [] // stages completed for removing the room. It's possible it might only
  + // half complete, and we should make that obvious.
  + };
  const body = yield this._wrapJsonReq(req, response);
  // Room room_id to lookup and delete the alias from.
  @@ -225,6 +229,7 @@ DebugApi.prototype.killPortal = Promise.coroutine(function*(req, response) {
  // Should we remove the alias from the room. Defaults to true.
  const remove_alias = !(body["remove_alias"] === false);
  + // These keys are required.
  ["room_id", "channel", "domain"].forEach((key) => {
  if (typeof(body[key]) !== "string") {
  result.error.push(`'${key}' is missing from body or not a string`);
  @@ -296,8 +301,9 @@ Remove Alias: ${remove_alias}`);
  }
  }
  -
  - // Drop clients from room. We are being naughty and using the provisioners method for this.
  + // Drop clients from room.
  + // The provisioner will only drop clients who are not in other rooms.
  + // It will also leave the MatrixBot.
  try {
  yield this.ircBridge.getProvisioner()._leaveIfUnprovisioned(
  { log: log },
  