async function saveDriveDialog (url, {tags} = {tags: ''}) {
  if (Array.isArray(tags)) {
    tags = tags.filter(t => typeof t === 'string').join(' ')
  } else if (typeof tags !== 'string') {
    tags = ''
  }

  var res
  try {
    res = await modals.create(this.sender, 'add-drive', {url, tags})
  } catch (e) {
    if (e.name !== 'Error') {
      throw e // only rethrow if a specific error
    }
  }
  if (!res) throw new UserDeniedError()
  await configDrive(res.key, {tags: res.tags})
}
@param {Object} [opts]
@param {string} [opts.tags]
@returns {Promise<void>}