diff --git a/package-lock.json b/package-lock.json
index f2825ad65690619d8149d3a47b2411961e14182d..5b61ee876c649109d39412e4c992422103e80390 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2346,6 +2346,12 @@
             "uniq": "^1.0.1"
           }
         },
+        "prettier": {
+          "version": "1.19.1",
+          "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz",
+          "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==",
+          "dev": true
+        },
         "source-map": {
           "version": "0.6.1",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -10175,9 +10181,9 @@
       "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
     },
     "prettier": {
-      "version": "1.19.1",
-      "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz",
-      "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==",
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.1.tgz",
+      "integrity": "sha512-piXGBcY1zoFOG0MvHpNE5reAGseLmaCRifQ/fmfF49BcYkInEs/naD/unxGNAeOKFA5+JxVrPyMvMlpzcd20UA==",
       "dev": true
     },
     "prettier-linter-helpers": {
diff --git a/package.json b/package.json
index 478f322f6ed6479fc056cac967e589b3c26d4534..b8634051b718a210c12705154913202cd0d2d313 100644
--- a/package.json
+++ b/package.json
@@ -93,7 +93,7 @@
     "jsdom-global": "^3.0.2",
     "mocha": "^6.2.2",
     "node-sass": "^4.13.1",
-    "prettier": "1.19.1",
+    "prettier": "2.0.1",
     "sass-loader": "^8.0.2",
     "sinon": "^9.0.1",
     "sinon-chai": "^3.4.0",
diff --git a/src/ReplyBuilder.js b/src/ReplyBuilder.js
index fe57b6335e3370a207ca489978f77ee6cfde6df7..f826be9d921511def23618dc3fb084013821bf7d 100644
--- a/src/ReplyBuilder.js
+++ b/src/ReplyBuilder.js
@@ -55,7 +55,7 @@ const RecipientType = Object.seal({
 
 export const buildRecipients = (envelope, ownAddress) => {
 	let recipientType = RecipientType.None
-	const isOwnAddress = a => a.email === ownAddress.email
+	const isOwnAddress = (a) => a.email === ownAddress.email
 	const isNotOwnAddress = negate(isOwnAddress)
 
 	// Locate why we received this envelope
@@ -133,8 +133,8 @@ const replyPrepends = [
 /*
  * Ref https://tools.ietf.org/html/rfc5322#section-3.6.5
  */
-export const buildReplySubject = original => {
-	if (replyPrepends.some(prepend => original.toLowerCase().startsWith(`${prepend}:`))) {
+export const buildReplySubject = (original) => {
+	if (replyPrepends.some((prepend) => original.toLowerCase().startsWith(`${prepend}:`))) {
 		return original
 	}
 
@@ -168,8 +168,8 @@ const forwardPrepends = [
 	'转发',
 ]
 
-export const buildForwardSubject = original => {
-	if (forwardPrepends.some(prepend => original.toLowerCase().startsWith(`${prepend}:`))) {
+export const buildForwardSubject = (original) => {
+	if (forwardPrepends.some((prepend) => original.toLowerCase().startsWith(`${prepend}:`))) {
 		return original
 	}
 
diff --git a/src/components/AccountForm.vue b/src/components/AccountForm.vue
index 26badffcbb8b753ad4320b1d2683b1be3defe83d..409fda7dd9fef65459a01774df973590d2f27b3c 100644
--- a/src/components/AccountForm.vue
+++ b/src/components/AccountForm.vue
@@ -370,7 +370,7 @@ export default {
 			this.loading = true
 
 			this.saveChanges()
-				.catch(error => logger.error('could not save account details', {error}))
+				.catch((error) => logger.error('could not save account details', {error}))
 				.then(() => (this.loading = false))
 		},
 	},
diff --git a/src/components/AppSettingsMenu.vue b/src/components/AppSettingsMenu.vue
index 730ac0a1fc728b80f1f1ebe4b6a1ca8f96cdc9fb..418495d16b593f3f284da16e88a81f946257101b 100644
--- a/src/components/AppSettingsMenu.vue
+++ b/src/components/AppSettingsMenu.vue
@@ -91,7 +91,7 @@ export default {
 					key: 'external-avatars',
 					value: e.target.checked ? 'true' : 'false',
 				})
-				.catch(error => Logger.error('could not save preferences', {error}))
+				.catch((error) => Logger.error('could not save preferences', {error}))
 				.then(() => {
 					this.loadingAvatarSettings = false
 				})
@@ -104,12 +104,12 @@ export default {
 					key: 'collect-data',
 					value: e.target.checked ? 'true' : 'false',
 				})
-				.catch(error => Logger.error('could not save preferences', {error}))
+				.catch((error) => Logger.error('could not save preferences', {error}))
 				.then(() => {
 					this.loadingOptOutSettings = false
 				})
 		},
-		registerProtocolHandler: function() {
+		registerProtocolHandler: function () {
 			if (window.navigator.registerProtocolHandler) {
 				var url =
 					window.location.protocol + '//' + window.location.host + generateUrl('apps/mail/compose?uri=%s')
diff --git a/src/components/Avatar.vue b/src/components/Avatar.vue
index f5c6364d7e0a3754a4f443a201cbe54f7889e3aa..91edaa3783e9a0b640a7fba2303487030f4fbafe 100644
--- a/src/components/Avatar.vue
+++ b/src/components/Avatar.vue
@@ -56,7 +56,7 @@ export default {
 		},
 	},
 	mounted() {
-		fetchAvatarUrlMemoized(this.email).then(url => {
+		fetchAvatarUrlMemoized(this.email).then((url) => {
 			this.avatarUrl = url
 			this.loading = false
 		})
diff --git a/src/components/Composer.vue b/src/components/Composer.vue
index eed5c667a527023b762ce4053c3c8af009a18f9c..5fecc636a1df5774a5bf221eeaede94dc87c60b8 100644
--- a/src/components/Composer.vue
+++ b/src/components/Composer.vue
@@ -269,7 +269,7 @@ export default {
 			subjectVal: this.subject,
 			bodyVal: this.isPlainText ? textToSimpleHtml(this.body) : this.body,
 			attachments: [],
-			noReply: this.to.some(to => to.email.startsWith('noreply@') || to.email.startsWith('no-reply@')),
+			noReply: this.to.some((to) => to.email.startsWith('noreply@') || to.email.startsWith('no-reply@')),
 			submitButtonTitle: t('mail', 'Send'),
 			draftsPromise: Promise.resolve(),
 			attachmentsPromise: Promise.resolve(),
@@ -287,12 +287,12 @@ export default {
 	},
 	computed: {
 		aliases() {
-			return this.$store.getters.accounts.filter(a => !a.isUnified)
+			return this.$store.getters.accounts.filter((a) => !a.isUnified)
 		},
 		selectableRecipients() {
 			return this.newRecipients
 				.concat(this.autocompleteRecipients)
-				.map(recipient => ({...recipient, label: recipient.label || recipient.email}))
+				.map((recipient) => ({...recipient, label: recipient.label || recipient.email}))
 		},
 		isReply() {
 			return this.to.length > 0
@@ -314,7 +314,7 @@ export default {
 	},
 	beforeMount() {
 		if (this.fromAccount) {
-			this.selectedAlias = this.aliases.find(alias => alias.id === this.fromAccount)
+			this.selectedAlias = this.aliases.find((alias) => alias.id === this.fromAccount)
 		} else {
 			this.selectedAlias = this.aliases[0]
 		}
@@ -358,9 +358,9 @@ export default {
 		saveDraft(data) {
 			this.savingDraft = true
 			this.draftsPromise = this.draftsPromise
-				.then(uid => this.draft(data(uid)))
+				.then((uid) => this.draft(data(uid)))
 				.catch(logger.error.bind(logger))
-				.then(uid => {
+				.then((uid) => {
 					this.savingDraft = false
 					return uid
 				})
@@ -378,14 +378,14 @@ export default {
 			if (term === undefined || term === '') {
 				return
 			}
-			debouncedSearch(term).then(results => {
+			debouncedSearch(term).then((results) => {
 				this.autocompleteRecipients = uniqBy('email')(this.autocompleteRecipients.concat(results))
 			})
 		},
 		onAttachmentsUploading(uploaded) {
 			this.attachmentsPromise = this.attachmentsPromise
 				.then(() => uploaded)
-				.catch(error => logger.error('could not upload attachments', {error}))
+				.catch((error) => logger.error('could not upload attachments', {error}))
 				.then(() => logger.debug('attachments uploaded'))
 		},
 		onBodyKeyPress(event) {
@@ -418,10 +418,10 @@ export default {
 				.then(() => (this.state = STATES.SENDING))
 				.then(() => this.draftsPromise)
 				.then(this.getMessageData)
-				.then(data => this.send(data))
+				.then((data) => this.send(data))
 				.then(() => logger.info('message sent'))
 				.then(() => (this.state = STATES.FINISHED))
-				.catch(error => {
+				.catch((error) => {
 					logger.error('could not send message', {error})
 					if (error && error.toString) {
 						this.errorText = error.toString()
diff --git a/src/components/ComposerAttachments.vue b/src/components/ComposerAttachments.vue
index ae3064ad422f5fd3a96812d45505c1dfbdf030e9..e8115596b0abe75a7bf7094676761f3786602247 100644
--- a/src/components/ComposerAttachments.vue
+++ b/src/components/ComposerAttachments.vue
@@ -101,11 +101,11 @@ export default {
 
 			Vue.set(this, 'uploads', {})
 
-			const progress = id => (prog, uploaded) => {
+			const progress = (id) => (prog, uploaded) => {
 				this.uploads[id].uploaded = uploaded
 			}
 
-			const promises = map(file => {
+			const promises = map((file) => {
 				Vue.set(this.uploads, file.name, {
 					total: file.size,
 					uploaded: 0,
@@ -118,7 +118,7 @@ export default {
 			})(e.target.files)
 
 			const done = Promise.all(promises)
-				.catch(error => Logger.error('could not upload all attachments', {error}))
+				.catch((error) => Logger.error('could not upload all attachments', {error}))
 				.then(() => (this.uploading = false))
 
 			this.$emit('upload', done)
@@ -130,13 +130,13 @@ export default {
 
 			return picker
 				.pick(t('mail', 'Choose a file to add as attachment'))
-				.then(path => this.emitNewAttachment(this.fileNameToAttachment(path)))
-				.catch(error => Logger.error('could not choose a file as attachment', {error}))
+				.then((path) => this.emitNewAttachment(this.fileNameToAttachment(path)))
+				.catch((error) => Logger.error('could not choose a file as attachment', {error}))
 		},
 		onDelete(attachment) {
 			this.$emit(
 				'input',
-				this.value.filter(a => a !== attachment)
+				this.value.filter((a) => a !== attachment)
 			)
 		},
 	},
diff --git a/src/components/EditorSettings.vue b/src/components/EditorSettings.vue
index 4f81a9b39da32a0a012c7617d32bdc38d14c8c58..e7d7f80e8b28fdddc9cf0f045ff45182567d7145 100644
--- a/src/components/EditorSettings.vue
+++ b/src/components/EditorSettings.vue
@@ -66,7 +66,7 @@ export default {
 				.then(() => {
 					Logger.info('editor mode updated')
 				})
-				.catch(error => {
+				.catch((error) => {
 					Logger.error('could not update editor mode', {error})
 					this.editorMode = oldVal
 					throw error
diff --git a/src/components/Envelope.vue b/src/components/Envelope.vue
index d7bf3c816a5bd9e308d90718f8e5a2638ffc4a50..a53421d71cd4b742322fca41ea993d682166b0d1 100644
--- a/src/components/Envelope.vue
+++ b/src/components/Envelope.vue
@@ -105,7 +105,7 @@ export default {
 		addresses() {
 			// Show recipients' label/address in a sent folder
 			if (this.folder.specialRole === 'sent') {
-				let recipients = [this.data.to, this.data.cc].flat().map(function(recipient) {
+				let recipients = [this.data.to, this.data.cc].flat().map(function (recipient) {
 					return recipient.label ? recipient.label : recipient.email
 				})
 				return recipients.length > 0 ? recipients.join(', ') : t('mail', 'Blind copy recipients only')
@@ -116,7 +116,7 @@ export default {
 		avatarEmail() {
 			// Show first recipients' avatar in a sent folder (or undefined when sent to Bcc only)
 			if (this.folder.specialRole === 'sent') {
-				let recipients = [this.data.to, this.data.cc].flat().map(function(recipient) {
+				let recipients = [this.data.to, this.data.cc].flat().map(function (recipient) {
 					return recipient.email
 				})
 				return recipients.length > 0 ? recipients[0] : undefined
diff --git a/src/components/Itinerary.vue b/src/components/Itinerary.vue
index ee4a76124f79247be6d6da3817e509c9ca179b58..373884064114c9eed044ce06fd87fa9aad250d8c 100644
--- a/src/components/Itinerary.vue
+++ b/src/components/Itinerary.vue
@@ -64,8 +64,8 @@ export default {
 	},
 	mounted() {
 		getUserCalendarsOnce()
-			.then(calendars => (this.calendars = calendars))
-			.catch(error => logger.error('Could not load calendars', {error}))
+			.then((calendars) => (this.calendars = calendars))
+			.catch((error) => logger.error('Could not load calendars', {error}))
 	},
 }
 </script>
diff --git a/src/components/Mailbox.vue b/src/components/Mailbox.vue
index eefb40fc7cb40c11857fc2672e32393a4808945c..24d8a4e9f6fafcd4797e284a25e62c9197ea1bb1 100644
--- a/src/components/Mailbox.vue
+++ b/src/components/Mailbox.vue
@@ -171,14 +171,14 @@ export default {
 				}
 			} catch (error) {
 				await matchError(error, {
-					[MailboxLockedError.getName()]: async error => {
+					[MailboxLockedError.getName()]: async (error) => {
 						logger.info('Mailbox is locked', {error})
 
 						await wait(15 * 1000)
 						// Keep trying
 						await this.loadEnvelopes()
 					},
-					[MailboxNotCachedError.getName()]: async error => {
+					[MailboxNotCachedError.getName()]: async (error) => {
 						logger.info('Mailbox not cached. Triggering initialization', {error})
 						this.loadingEnvelopes = false
 
@@ -189,7 +189,7 @@ export default {
 							this.error = error
 						}
 					},
-					default: error => {
+					default: (error) => {
 						logger.error('Could not fetch envelopes', {error})
 						this.loadingEnvelopes = false
 						this.error = error
@@ -223,7 +223,7 @@ export default {
 				return
 			}
 
-			const current = envelopes.filter(e => e.uid === currentUid)
+			const current = envelopes.filter((e) => e.uid === currentUid)
 			if (current.length === 0) {
 				logger.debug('ignoring shortcut: currently displayed messages is not in current envelope list')
 				return
@@ -268,14 +268,14 @@ export default {
 					this.onDelete(env.uid)
 					this.$store
 						.dispatch('deleteMessage', {accountId: env.accountId, folderId: env.folderId, id: env.id})
-						.catch(error => logger.error('could not delete envelope', {env, error}))
+						.catch((error) => logger.error('could not delete envelope', {env, error}))
 
 					break
 				case 'flag':
 					logger.debug('flagging envelope via shortkey', {env})
 					this.$store
 						.dispatch('toggleEnvelopeFlagged', env)
-						.catch(error => logger.error('could not flag envelope via shortkey', {env, error}))
+						.catch((error) => logger.error('could not flag envelope via shortkey', {env, error}))
 					break
 				case 'refresh':
 					logger.debug('syncing envelopes via shortkey')
@@ -288,7 +288,7 @@ export default {
 					logger.debug('marking message as seen/unseen via shortkey', {env})
 					this.$store
 						.dispatch('toggleEnvelopeSeen', env)
-						.catch(error =>
+						.catch((error) =>
 							logger.error('could not mark envelope as seen/unseen via shortkey', {env, error})
 						)
 					break
diff --git a/src/components/MessageAttachment.vue b/src/components/MessageAttachment.vue
index 6b05b53063ce5b6b047938d14080f84ed3b2b8d6..216e6f3fd1e65cf55556937c01b93034afc1b114 100644
--- a/src/components/MessageAttachment.vue
+++ b/src/components/MessageAttachment.vue
@@ -129,7 +129,7 @@ export default {
 			return this.fileName + ' (' + formatFileSize(this.size) + ')'
 		},
 		calendarMenuEntries() {
-			return this.calendars.map(cal => {
+			return this.calendars.map((cal) => {
 				return {
 					icon: 'icon-add',
 					text: cal.displayname,
@@ -143,7 +143,7 @@ export default {
 			return formatFileSize(size)
 		},
 		saveToCloud() {
-			const saveAttachment = (accountId, folderId, messageId, attachmentId) => directory => {
+			const saveAttachment = (accountId, folderId, messageId, attachmentId) => (directory) => {
 				return saveAttachmentToFiles(accountId, folderId, messageId, attachmentId, directory)
 			}
 			const {accountId, folderId, id} = parseUid(this.$route.params.messageUid)
@@ -156,13 +156,13 @@ export default {
 
 			return picker
 				.pick()
-				.then(dest => {
+				.then((dest) => {
 					this.savingToCloud = true
 					return dest
 				})
 				.then(saveAttachment(accountId, folderId, id, this.id))
 				.then(() => Logger.info('saved'))
-				.catch(e => Logger.error('not saved', {error: e}))
+				.catch((e) => Logger.error('not saved', {error: e}))
 				.then(() => (this.savingToCloud = false))
 		},
 		download() {
@@ -171,7 +171,7 @@ export default {
 		},
 		loadCalendars() {
 			this.loadingCalendars = true
-			getUserCalendars().then(calendars => {
+			getUserCalendars().then((calendars) => {
 				this.calendars = calendars
 				this.showCalendarPopover = true
 				this.loadingCalendars = false
@@ -185,7 +185,7 @@ export default {
 				downloadAttachment(this.url)
 					.then(importCalendarEvent(url))
 					.then(() => Logger.info('calendar imported'))
-					.catch(e => Logger.error('import error', {error: e}))
+					.catch((e) => Logger.error('import error', {error: e}))
 					.then(() => (this.showCalendarPopover = false))
 			}
 		},
diff --git a/src/components/MessageAttachments.vue b/src/components/MessageAttachments.vue
index c155fc4ee603e65e3dfcd532b981c3148e318ba5..c75261c7b185d0552a58e802c0914e4ba6ed2cec 100644
--- a/src/components/MessageAttachments.vue
+++ b/src/components/MessageAttachments.vue
@@ -86,20 +86,20 @@ export default {
 				.setType(1)
 				.build()
 
-			const saveAttachments = (accountId, folderId, messageId) => directory => {
+			const saveAttachments = (accountId, folderId, messageId) => (directory) => {
 				return saveAttachmentsToFiles(accountId, folderId, messageId, directory)
 			}
 			const {accountId, folderId, id} = parseUid(this.$route.params.messageUid)
 
 			return picker
 				.pick()
-				.then(dest => {
+				.then((dest) => {
 					this.savingToCloud = true
 					return dest
 				})
 				.then(saveAttachments(accountId, folderId, id))
 				.then(() => Logger.info('saved'))
-				.catch(error => Logger.error('not saved', {error}))
+				.catch((error) => Logger.error('not saved', {error}))
 				.then(() => (this.savingToCloud = false))
 		},
 	},
diff --git a/src/components/MessageHTMLBody.vue b/src/components/MessageHTMLBody.vue
index f6fe0b871ab5af24d5b1abcec5aeb90581716e55..ce08ae2431d194dfa12ab8318411c253c39c5d3c 100644
--- a/src/components/MessageHTMLBody.vue
+++ b/src/components/MessageHTMLBody.vue
@@ -64,13 +64,13 @@ export default {
 		onShowBlockedContent() {
 			const iframeDoc = this.getIframeDoc()
 			logger.debug('showing external images')
-			iframeDoc.querySelectorAll('[data-original-src]').forEach(node => {
+			iframeDoc.querySelectorAll('[data-original-src]').forEach((node) => {
 				node.style.display = null
 				node.setAttribute('src', node.getAttribute('data-original-src'))
 			})
 			iframeDoc
 				.querySelectorAll('[data-original-style]')
-				.forEach(node => node.setAttribute('style', node.getAttribute('data-original-style')))
+				.forEach((node) => node.setAttribute('style', node.getAttribute('data-original-style')))
 
 			this.hasBlockedContent = false
 		},
diff --git a/src/components/Navigation.vue b/src/components/Navigation.vue
index d3bec14b88fd54caf1028a6552c289ba954583fd..d3627af581ad94b9dbbc9ee23377df1166328a56 100644
--- a/src/components/Navigation.vue
+++ b/src/components/Navigation.vue
@@ -99,10 +99,10 @@ export default {
 	},
 	computed: {
 		menu() {
-			return this.$store.getters.accounts.map(account => {
+			return this.$store.getters.accounts.map((account) => {
 				const folders = this.$store.getters
 					.getFolders(account.id)
-					.filter(folder => !account.collapsed || SHOW_COLLAPSED.indexOf(folder.specialRole) !== -1)
+					.filter((folder) => !account.collapsed || SHOW_COLLAPSED.indexOf(folder.specialRole) !== -1)
 				//.map(folderToEntry)
 
 				return {
diff --git a/src/components/NavigationAccount.vue b/src/components/NavigationAccount.vue
index 1674f3ea364250bb883c738202814d2e4aa66dc9..80bfbebdabc14ff76f2d03b36f42012785fed88e 100644
--- a/src/components/NavigationAccount.vue
+++ b/src/components/NavigationAccount.vue
@@ -122,7 +122,7 @@ export default {
 			this.$store
 				.dispatch('createFolder', {account: this.account, name})
 				.then(() => logger.info(`folder ${name} created`))
-				.catch(error => {
+				.catch((error) => {
 					logger.error('could not create folder', {error})
 					throw error
 				})
@@ -138,17 +138,17 @@ export default {
 					// TODO: update store and handle this more efficiently
 					location.href = generateUrl('/apps/mail')
 				})
-				.catch(error => logger.error('could not delete account', {error}))
+				.catch((error) => logger.error('could not delete account', {error}))
 		},
 		changeAccountOrderUp() {
 			this.$store
 				.dispatch('moveAccount', {account: this.account, up: true})
-				.catch(error => logger.error('could not move account up', {error}))
+				.catch((error) => logger.error('could not move account up', {error}))
 		},
 		changeAccountOrderDown() {
 			this.$store
 				.dispatch('moveAccount', {account: this.account})
-				.catch(error => logger.error('could not move account down', {error}))
+				.catch((error) => logger.error('could not move account down', {error}))
 		},
 	},
 }
diff --git a/src/components/NavigationFolder.vue b/src/components/NavigationFolder.vue
index 49207de0653986d613ede6e6529dc985487f5ba2..88960a1bd7815ffc4288a9fcf0f69e793cda4b29 100644
--- a/src/components/NavigationFolder.vue
+++ b/src/components/NavigationFolder.vue
@@ -224,7 +224,7 @@ export default {
 					name: withPrefix,
 				})
 				.then(() => logger.info(`folder ${withPrefix} created`))
-				.catch(error => {
+				.catch((error) => {
 					logger.error(`could not create folder ${withPrefix}`, {error})
 					throw error
 				})
@@ -238,7 +238,7 @@ export default {
 					folderId: this.folder.id,
 				})
 				.then(() => logger.info(`folder ${this.folder.id} marked as read`))
-				.catch(error => logger.error(`could not mark folder ${this.folder.id} as read`, {error}))
+				.catch((error) => logger.error(`could not mark folder ${this.folder.id} as read`, {error}))
 				.then(() => (this.loadingMarkAsRead = false))
 		},
 	},
diff --git a/src/components/NewMessageDetail.vue b/src/components/NewMessageDetail.vue
index 0a0d1ad18020332c211b8741d4c1a0decc301af9..39be8ae6ce76e5c420c8087d72865191fbadc2f4 100644
--- a/src/components/NewMessageDetail.vue
+++ b/src/components/NewMessageDetail.vue
@@ -167,7 +167,7 @@ export default {
 
 			this.$store
 				.dispatch('fetchMessage', draftUid)
-				.then(draft => {
+				.then((draft) => {
 					if (draft.uid !== this.$route.params.draftUid) {
 						Logger.debug("User navigated away, loaded draft won't be shown")
 						return
@@ -184,7 +184,7 @@ export default {
 
 					this.loading = false
 				})
-				.catch(error => {
+				.catch((error) => {
 					Logger.error('could not load draft ' + draftUid, {error})
 					if (error.isError) {
 						this.errorMessage = t('mail', 'Could not load your draft')
@@ -200,7 +200,7 @@ export default {
 
 			this.$store
 				.dispatch('fetchMessage', uid)
-				.then(message => {
+				.then((message) => {
 					if (message.uid !== this.$route.query.uid) {
 						Logger.debug("User navigated away, loaded original message won't be used")
 						return
@@ -217,17 +217,17 @@ export default {
 								folderId: message.folderId,
 								id: message.id,
 							})
-						).then(resp => resp.data)
+						).then((resp) => resp.data)
 					} else {
 						return message.body
 					}
 				})
-				.then(body => {
+				.then((body) => {
 					this.originalBody = body
 
 					this.loading = false
 				})
-				.catch(error => {
+				.catch((error) => {
 					Logger.error('could not load original message ' + uid, {error})
 					if (error.isError) {
 						this.errorMessage = t('mail', 'Could not load original message')
diff --git a/src/components/SignatureSettings.vue b/src/components/SignatureSettings.vue
index b48415291e44044735527ed116d4cf6d94fe03bb..cd984a7d6ac7862d7051d2bb470a5d36e71a09ca 100644
--- a/src/components/SignatureSettings.vue
+++ b/src/components/SignatureSettings.vue
@@ -85,7 +85,7 @@ export default {
 					this.signature = ''
 					this.loading = false
 				})
-				.catch(error => {
+				.catch((error) => {
 					logger.error('could not delete account signature', {error})
 					throw error
 				})
@@ -99,7 +99,7 @@ export default {
 					logger.info('signature updated')
 					this.loading = false
 				})
-				.catch(error => {
+				.catch((error) => {
 					logger.error('could not update account signature', {error})
 					throw error
 				})
diff --git a/src/components/TextEditor.vue b/src/components/TextEditor.vue
index c5076f894c6f64ff08bd2fd7791b1d5dedf3d5b4..38be4aaf39b564b525c40e2dff59cf473a38f775 100644
--- a/src/components/TextEditor.vue
+++ b/src/components/TextEditor.vue
@@ -127,7 +127,7 @@ export default {
 			logger.debug('CKEditor editor is ready', {editor, schema})
 
 			// Set 0 pixel margin to all <p> elements
-			editor.conversion.for('downcast').add(dispatcher => {
+			editor.conversion.for('downcast').add((dispatcher) => {
 				dispatcher.on(
 					'insert:paragraph',
 					(evt, data, conversionApi) => {
diff --git a/src/components/itinerary/CalendarImport.vue b/src/components/itinerary/CalendarImport.vue
index 7cbe052c4d64ecd776fa7849970c15871e7dc063..1ecdbaed108126595c5dc459fee18248c5bfd319 100644
--- a/src/components/itinerary/CalendarImport.vue
+++ b/src/components/itinerary/CalendarImport.vue
@@ -53,7 +53,7 @@ export default {
 	},
 	computed: {
 		cals() {
-			return this.calendars.map(original => {
+			return this.calendars.map((original) => {
 				this.$set(original, 'loading', false)
 				return original
 			})
diff --git a/src/components/itinerary/EventReservation.vue b/src/components/itinerary/EventReservation.vue
index 8de5234918b2eb580ff1a9e42f4c554d53136557..5c750b5cce6a27ea15ddc8d0caa120920005a576 100644
--- a/src/components/itinerary/EventReservation.vue
+++ b/src/components/itinerary/EventReservation.vue
@@ -90,9 +90,7 @@ export default {
 			} else {
 				// Assume it's 2h and user will adjust if necessary
 				// TODO: handle 'duration' https://schema.org/Event
-				return moment('2019-10-22T12:00:00Z')
-					.add(2, 'hours')
-					.format()
+				return moment('2019-10-22T12:00:00Z').add(2, 'hours').format()
 			}
 		},
 		handleImport(calendar) {
@@ -131,7 +129,7 @@ export default {
 					logger.debug('event successfully imported')
 					OCP.Toast.success(t('mail', 'Event imported into {calendar}', {calendar: calendar.displayname}))
 				})
-				.catch(error => {
+				.catch((error) => {
 					logger.error('Could not import event', {error})
 					OCP.Toast.error(t('mail', 'Could not create event'))
 				})
diff --git a/src/components/itinerary/FlightReservation.vue b/src/components/itinerary/FlightReservation.vue
index 7d903b95b3079bb1b7e1bec1b49217ea97fc1ad3..bc023add75b5f0fcc4b70267ee140456206fbc9c 100644
--- a/src/components/itinerary/FlightReservation.vue
+++ b/src/components/itinerary/FlightReservation.vue
@@ -124,7 +124,7 @@ export default {
 					logger.debug('event successfully imported')
 					OCP.Toast.success(t('mail', 'Event imported into {calendar}', {calendar: calendar.displayname}))
 				})
-				.catch(error => {
+				.catch((error) => {
 					logger.error('Could not import event', {error})
 					OCP.Toast.error(t('mail', 'Could not create event'))
 				})
diff --git a/src/components/itinerary/TrainReservation.vue b/src/components/itinerary/TrainReservation.vue
index 3afd348e3cb7a78ab09a3664d24878490d3ee304..51daa1e5d1f2456199dea745ddd707b4586e959c 100644
--- a/src/components/itinerary/TrainReservation.vue
+++ b/src/components/itinerary/TrainReservation.vue
@@ -136,7 +136,7 @@ export default {
 					logger.debug('event successfully imported')
 					OCP.Toast.success(t('mail', 'Event imported into {calendar}', {calendar: calendar.displayname}))
 				})
-				.catch(error => {
+				.catch((error) => {
 					logger.error('Could not import event', {error})
 					OCP.Toast.error(t('mail', 'Could not create event'))
 				})
diff --git a/src/components/settings/ProvisioningSettings.vue b/src/components/settings/ProvisioningSettings.vue
index 07027b8616cc7c5d579e77f02261e28dda49abe2..a0d6eec7e87b2c5e515e1643ce06bef171a8f409 100644
--- a/src/components/settings/ProvisioningSettings.vue
+++ b/src/components/settings/ProvisioningSettings.vue
@@ -337,7 +337,7 @@ export default {
 				.then(() => {
 					logger.info('provisioning settings updated')
 				})
-				.catch(error => {
+				.catch((error) => {
 					// TODO: show user feedback
 					logger.error('Could not save provisioning settings', {error})
 				})
@@ -352,7 +352,7 @@ export default {
 				.then(() => {
 					logger.info('deprovisioned successfully')
 				})
-				.catch(error => {
+				.catch((error) => {
 					logger.error('could not deprovision accounts', {error})
 				})
 				.then(() => {
diff --git a/src/errors/convert.js b/src/errors/convert.js
index 4d816fe155503e30de36c6400b266bf2920258d4..55fcca369b731ad5b5850c4aa63856fcbdf3eabc 100644
--- a/src/errors/convert.js
+++ b/src/errors/convert.js
@@ -30,7 +30,7 @@ const map = {
 /**
  * @param {object} axiosError
  */
-export const convertAxiosError = axiosError => {
+export const convertAxiosError = (axiosError) => {
 	if (!('response' in axiosError)) {
 		// No conversion
 		return axiosError
diff --git a/src/http/ErrorResponseParser.js b/src/http/ErrorResponseParser.js
index 1ba28438efb3ee82025b3cfdcc8e49d8faa70008..86484cf5d71d567b6c83f0d35dff624c20d9fb90 100644
--- a/src/http/ErrorResponseParser.js
+++ b/src/http/ErrorResponseParser.js
@@ -19,11 +19,11 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-const isErrorResponse = resp => {
+const isErrorResponse = (resp) => {
 	return 'x-mail-response' in resp.headers && resp.data.status === 'error'
 }
 
-export const parseErrorResponse = resp => {
+export const parseErrorResponse = (resp) => {
 	if (!isErrorResponse(resp)) {
 		return resp
 	}
diff --git a/src/i18n/MailboxTranslator.js b/src/i18n/MailboxTranslator.js
index 6e1b5729bf32fa792f549705c8925ff55767a80e..fe975709e54e8038cbe2a31612498f6df285fa40 100644
--- a/src/i18n/MailboxTranslator.js
+++ b/src/i18n/MailboxTranslator.js
@@ -21,7 +21,7 @@
 
 import {translate as t} from '@nextcloud/l10n'
 
-const translateSpecial = folder => {
+const translateSpecial = (folder) => {
 	if (folder.specialUse.includes('all')) {
 		// TRANSLATORS: translated mail box name
 		return t('mail', 'All')
@@ -61,7 +61,7 @@ const translateSpecial = folder => {
 	throw new Error(`unknown special use ${folder.specialUse}`)
 }
 
-export const translate = folder => {
+export const translate = (folder) => {
 	if (folder.specialUse.length > 0) {
 		try {
 			return translateSpecial(folder)
diff --git a/src/imap/MailboxHierarchy.js b/src/imap/MailboxHierarchy.js
index 8177e96409eddb36d8e02d01b69074159db383d1..e90b1ce7b3156830c24010da34158da5459e4423 100644
--- a/src/imap/MailboxHierarchy.js
+++ b/src/imap/MailboxHierarchy.js
@@ -38,21 +38,21 @@ export const buildMailboxHierarchy = (mailboxes, havePrefix) => {
 		return mailboxes
 	}
 
-	const cloned = mailboxes.map(mailbox => {
+	const cloned = mailboxes.map((mailbox) => {
 		return {
 			folders: [],
 			...mailbox,
 		}
 	})
-	const top = cloned.filter(mailbox => getParentId(mailbox, havePrefix) === undefined)
+	const top = cloned.filter((mailbox) => getParentId(mailbox, havePrefix) === undefined)
 
-	cloned.forEach(mailbox => {
+	cloned.forEach((mailbox) => {
 		if (top.indexOf(mailbox) !== -1) {
 			return
 		}
 
 		const parentId = getParentId(mailbox, havePrefix)
-		const parent = cloned.filter(mailbox => atob(mailbox.id) === parentId)[0]
+		const parent = cloned.filter((mailbox) => atob(mailbox.id) === parentId)[0]
 		if (parent) {
 			parent.folders.push(mailbox)
 		}
diff --git a/src/imap/MailboxPrefix.js b/src/imap/MailboxPrefix.js
index 3f224e3e5a5959213f5779d3ad39f319ecd98e3d..291a2eb023710b6420ce382d7ab4bd21f82db9c9 100644
--- a/src/imap/MailboxPrefix.js
+++ b/src/imap/MailboxPrefix.js
@@ -21,9 +21,9 @@
 
 const PREFIX = 'INBOX'
 
-export const havePrefix = mailboxes => {
+export const havePrefix = (mailboxes) => {
 	return (
-		mailboxes.filter(mailbox => {
+		mailboxes.filter((mailbox) => {
 			const hierarchy = mailbox.id.split(mailbox.delimiter)
 			if (hierarchy.length < 1 || hierarchy[0] !== PREFIX) {
 				return false
diff --git a/src/imap/MailboxSorter.js b/src/imap/MailboxSorter.js
index 69ed32897275be125ef74e8d9fdd9465c9a63c0c..913bc2a81e0c7a126a7bf725f286f07e02b0b71e 100644
--- a/src/imap/MailboxSorter.js
+++ b/src/imap/MailboxSorter.js
@@ -23,7 +23,7 @@ import clone from 'lodash/fp/clone'
 
 const specialRolesOrder = ['all', 'inbox', 'flagged', 'drafts', 'sent', 'archive', 'junk', 'trash']
 
-export const sortMailboxes = mailboxes => {
+export const sortMailboxes = (mailboxes) => {
 	const c = clone(mailboxes)
 	c.sort((f1, f2) => {
 		if (f1.specialUse.length && f2.specialUse.length) {
diff --git a/src/logger.js b/src/logger.js
index 4b687d295fef5fb8eda3aebfd16b25f0b5196713..71907ff2953eb0c66bb20457fa92bb7f344d3fdd 100644
--- a/src/logger.js
+++ b/src/logger.js
@@ -21,7 +21,4 @@
 
 import {getLoggerBuilder} from '@nextcloud/logger'
 
-export default getLoggerBuilder()
-	.setApp('mail')
-	.detectUser()
-	.build()
+export default getLoggerBuilder().setApp('mail').detectUser().build()
diff --git a/src/main.js b/src/main.js
index f56480bf8b7d52729d53c7794655280442636b5a..1562f693a49d01c836dafbbf34646670650fa8da 100644
--- a/src/main.js
+++ b/src/main.js
@@ -43,7 +43,7 @@ Vue.mixin(Nextcloud)
 Vue.use(VueShortKey, {prevent: ['input', 'div']})
 Vue.use(VTooltip)
 
-const getPreferenceFromPage = key => {
+const getPreferenceFromPage = (key) => {
 	const elem = document.getElementById(key)
 	if (!elem) {
 		return
@@ -69,7 +69,7 @@ store.commit('savePreference', {
 })
 
 const accounts = JSON.parse(atob(getPreferenceFromPage('serialized-accounts')))
-accounts.map(fixAccountId).forEach(account => {
+accounts.map(fixAccountId).forEach((account) => {
 	const folders = account.folders
 	store.commit('addAccount', account)
 })
@@ -78,5 +78,5 @@ new Vue({
 	el: '#content',
 	router,
 	store,
-	render: h => h(App),
+	render: (h) => h(App),
 })
diff --git a/src/service/AccountService.js b/src/service/AccountService.js
index d2a900af50ac258fc4e2d07a85c96176df1cf238..579e4bdc2b3f20af33709827202bd80418a4dc8f 100644
--- a/src/service/AccountService.js
+++ b/src/service/AccountService.js
@@ -1,20 +1,20 @@
 import {generateUrl} from '@nextcloud/router'
 import HttpClient from '@nextcloud/axios'
 
-export const fixAccountId = original => {
+export const fixAccountId = (original) => {
 	return {
 		id: original.accountId,
 		...original,
 	}
 }
 
-export const create = data => {
+export const create = (data) => {
 	const url = generateUrl('/apps/mail/api/accounts')
 
 	return HttpClient.post(url, data)
-		.then(resp => resp.data)
+		.then((resp) => resp.data)
 		.then(fixAccountId)
-		.catch(e => {
+		.catch((e) => {
 			if (e.response && e.response.status === 400) {
 				throw e.response.data
 			}
@@ -29,17 +29,17 @@ export const patch = (account, data) => {
 	})
 
 	return HttpClient.patch(url, data)
-		.then(resp => resp.data)
+		.then((resp) => resp.data)
 		.then(fixAccountId)
 }
 
-export const update = data => {
+export const update = (data) => {
 	const url = generateUrl(`/apps/mail/api/accounts/{id}`, {
 		id: data.accountId,
 	})
 
 	return HttpClient.put(url, data)
-		.then(resp => resp.data)
+		.then((resp) => resp.data)
 		.then(fixAccountId)
 }
 
@@ -52,28 +52,28 @@ export const updateSignature = (account, signature) => {
 	}
 
 	return HttpClient.put(url, data)
-		.then(resp => resp.data)
+		.then((resp) => resp.data)
 		.then(fixAccountId)
 }
 
 export const fetchAll = () => {
 	const url = generateUrl('/apps/mail/api/accounts')
 
-	return HttpClient.get(url).then(resp => resp.data.map(fixAccountId))
+	return HttpClient.get(url).then((resp) => resp.data.map(fixAccountId))
 }
 
-export const fetch = id => {
+export const fetch = (id) => {
 	const url = generateUrl('/apps/mail/api/accounts/{id}', {
 		id,
 	})
 
-	return HttpClient.get(url).then(resp => fixAccountId(resp.data))
+	return HttpClient.get(url).then((resp) => fixAccountId(resp.data))
 }
 
-export const deleteAccount = id => {
+export const deleteAccount = (id) => {
 	const url = generateUrl('/apps/mail/api/accounts/{id}', {
 		id,
 	})
 
-	return HttpClient.delete(url).then(resp => fixAccountId(resp.data))
+	return HttpClient.delete(url).then((resp) => fixAccountId(resp.data))
 }
diff --git a/src/service/AttachmentService.js b/src/service/AttachmentService.js
index 3a6fa295e667e467710c69d647eab215d32fe97f..536af14e77ab2dc42cd2d90349774871b9ed86b5 100644
--- a/src/service/AttachmentService.js
+++ b/src/service/AttachmentService.js
@@ -43,19 +43,19 @@ export function saveAttachmentsToFiles(accountId, folderId, messageId, directory
 }
 
 export function downloadAttachment(url) {
-	return Axios.get(url).then(res => res.data)
+	return Axios.get(url).then((res) => res.data)
 }
 
 export const uploadLocalAttachment = (file, progress) => {
 	const url = generateUrl('/apps/mail/api/attachments')
 	const data = new FormData()
 	const opts = {
-		onUploadProgress: prog => progress(prog, prog.loaded, prog.total),
+		onUploadProgress: (prog) => progress(prog, prog.loaded, prog.total),
 	}
 	data.append('attachment', file)
 
 	return Axios.post(url, data, opts)
-		.then(resp => resp.data)
+		.then((resp) => resp.data)
 		.then(({id}) => {
 			return {
 				file,
diff --git a/src/service/AutocompleteService.js b/src/service/AutocompleteService.js
index 15b7a2402b2ba933515e6c525db00519158996f2..5e214211d78c6fee252fb63ddbe8c22ec28449d2 100644
--- a/src/service/AutocompleteService.js
+++ b/src/service/AutocompleteService.js
@@ -22,10 +22,10 @@
 import Axios from '@nextcloud/axios'
 import {generateUrl} from '@nextcloud/router'
 
-export const findRecipient = term => {
+export const findRecipient = (term) => {
 	const url = generateUrl('/apps/mail/api/autoComplete?term={term}', {
 		term,
 	})
 
-	return Axios.get(url).then(resp => resp.data)
+	return Axios.get(url).then((resp) => resp.data)
 }
diff --git a/src/service/AvatarService.js b/src/service/AvatarService.js
index 05e9f0910f8c4f47c5e55fd7224db04bb1d99ff8..213dcb606770c79fa9fa3b9f194ea3f912dfcfb3 100644
--- a/src/service/AvatarService.js
+++ b/src/service/AvatarService.js
@@ -24,7 +24,7 @@ import memoize from 'lodash/fp/memoize'
 import Axios from '@nextcloud/axios'
 import {generateUrl} from '@nextcloud/router'
 
-export const fetchAvatarUrl = email => {
+export const fetchAvatarUrl = (email) => {
 	if (email === null) {
 		return Promise.resolve(undefined)
 	}
@@ -34,8 +34,8 @@ export const fetchAvatarUrl = email => {
 	})
 
 	return Axios.get(url)
-		.then(resp => resp.data)
-		.then(avatar => {
+		.then((resp) => resp.data)
+		.then((avatar) => {
 			if (avatar.isExternal) {
 				return generateUrl('/apps/mail/api/avatars/image/{email}', {
 					email: email,
@@ -44,7 +44,7 @@ export const fetchAvatarUrl = email => {
 				return avatar.url
 			}
 		})
-		.catch(err => {
+		.catch((err) => {
 			if (err.response.status === 404) {
 				return undefined
 			}
diff --git a/src/service/DAVService.js b/src/service/DAVService.js
index 8682aeae6e84454124a889b0fbf23261bac1ef34..ef93d6a95b1d839d48551869be7c339a57dde144 100644
--- a/src/service/DAVService.js
+++ b/src/service/DAVService.js
@@ -48,11 +48,11 @@ const props = [
 	'{http://owncloud.org/ns}invite',
 ]
 
-const getResponseCodeFromHTTPResponse = t => {
+const getResponseCodeFromHTTPResponse = (t) => {
 	return parseInt(t.split(' ')[1])
 }
 
-const getACLFromResponse = properties => {
+const getACLFromResponse = (properties) => {
 	let canWrite = false
 	let acl = properties['{DAV:}acl']
 	if (acl) {
@@ -71,7 +71,7 @@ const getACLFromResponse = properties => {
 	properties.canWrite = canWrite
 }
 
-const getCalendarData = properties => {
+const getCalendarData = (properties) => {
 	getACLFromResponse(properties)
 
 	const data = {
@@ -105,10 +105,10 @@ export const getUserCalendars = () => {
 		.propFind(url, props, 1, {
 			requesttoken: getRequestToken(),
 		})
-		.then(data => {
+		.then((data) => {
 			const calendars = []
 
-			data.body.forEach(cal => {
+			data.body.forEach((cal) => {
 				if (cal.propStat.length < 1) {
 					return
 				}
@@ -128,9 +128,7 @@ export const getUserCalendars = () => {
 const getRandomString = () => {
 	let str = ''
 	for (let i = 0; i < 7; i++) {
-		str += Math.random()
-			.toString(36)
-			.substring(7)
+		str += Math.random().toString(36).substring(7)
 	}
 	return str
 }
@@ -143,21 +141,21 @@ const createICalElement = () => {
 	return root
 }
 
-const splitCalendar = data => {
+const splitCalendar = (data) => {
 	const timezones = []
 	const allObjects = {}
 	const jCal = ical.parse(data)
 	const components = new ical.Component(jCal)
 
 	const vtimezones = components.getAllSubcomponents('vtimezone')
-	vtimezones.forEach(vtimezone => timezones.push(vtimezone))
+	vtimezones.forEach((vtimezone) => timezones.push(vtimezone))
 
 	const componentNames = ['vevent', 'vjournal', 'vtodo']
-	componentNames.forEach(componentName => {
+	componentNames.forEach((componentName) => {
 		const vobjects = components.getAllSubcomponents(componentName)
 		allObjects[componentName] = {}
 
-		vobjects.forEach(vobject => {
+		vobjects.forEach((vobject) => {
 			var uid = vobject.getFirstPropertyValue('uid')
 			allObjects[componentName][uid] = allObjects[componentName][uid] || []
 			allObjects[componentName][uid].push(vobject)
@@ -165,7 +163,7 @@ const splitCalendar = data => {
 	})
 
 	const split = []
-	componentNames.forEach(componentName => {
+	componentNames.forEach((componentName) => {
 		split[componentName] = []
 		for (let objectsId in allObjects[componentName]) {
 			const objects = allObjects[componentName][objectsId]
@@ -190,7 +188,7 @@ const splitCalendar = data => {
  * @param {Object} data
  * @returns {Promise}
  */
-export const importCalendarEvent = url => data => {
+export const importCalendarEvent = (url) => (data) => {
 	Logger.debug('importing events into calendar', {
 		url,
 		data,
@@ -199,7 +197,7 @@ export const importCalendarEvent = url => data => {
 
 	const file = splitCalendar(data)
 	const components = ['vevent', 'vjournal', 'vtodo']
-	components.forEach(componentName => {
+	components.forEach((componentName) => {
 		for (let componentId in file.split[componentName]) {
 			const component = file.split[componentName][componentId]
 			Logger.info('importing event component', {component})
diff --git a/src/service/FolderService.js b/src/service/FolderService.js
index b7f5c91ecf767d135150e68bddb772604c8ca1e6..722b2e4d6b13b8b90eff8efe06e04d148fe3fdf1 100644
--- a/src/service/FolderService.js
+++ b/src/service/FolderService.js
@@ -8,7 +8,7 @@ export function fetchAll(accountId) {
 
 	// FIXME: this return format is weird and should be avoided
 	// TODO: respect `resp.data.delimiter` value
-	return Axios.get(url).then(resp => resp.data.folders)
+	return Axios.get(url).then((resp) => resp.data.folders)
 }
 
 export function create(accountId, name) {
@@ -19,7 +19,7 @@ export function create(accountId, name) {
 	const data = {
 		name,
 	}
-	return Axios.post(url, data).then(resp => resp.data)
+	return Axios.post(url, data).then((resp) => resp.data)
 }
 
 export function getFolderStats(accountId, folderId) {
@@ -28,7 +28,7 @@ export function getFolderStats(accountId, folderId) {
 		folderId,
 	})
 
-	return Axios.get(url).then(resp => resp.data)
+	return Axios.get(url).then((resp) => resp.data)
 }
 
 export function markFolderRead(accountId, folderId) {
@@ -37,5 +37,5 @@ export function markFolderRead(accountId, folderId) {
 		folderId,
 	})
 
-	return Axios.post(url).then(resp => resp.data)
+	return Axios.post(url).then((resp) => resp.data)
 }
diff --git a/src/service/MessageService.js b/src/service/MessageService.js
index 5c3d13a596343f68421a93fc2eef3c07c4365d87..845888e7c5e870a97c8d542bf3e1ac57b5bace60 100644
--- a/src/service/MessageService.js
+++ b/src/service/MessageService.js
@@ -22,8 +22,8 @@ export function fetchEnvelope(accountId, folderId, id) {
 
 	return axios
 		.get(url)
-		.then(resp => resp.data)
-		.catch(error => {
+		.then((resp) => resp.data)
+		.catch((error) => {
 			if (error.response && error.response.status === 404) {
 				return undefined
 			}
@@ -49,9 +49,9 @@ export function fetchEnvelopes(accountId, folderId, query, cursor) {
 		.get(url, {
 			params,
 		})
-		.then(resp => resp.data)
+		.then((resp) => resp.data)
 		.then(map(amendEnvelopeWithIds(accountId, folderId)))
-		.catch(error => {
+		.catch((error) => {
 			throw convertAxiosError(error)
 		})
 }
@@ -112,8 +112,8 @@ export function fetchMessage(accountId, folderId, id) {
 
 	return axios
 		.get(url)
-		.then(resp => resp.data)
-		.catch(error => {
+		.then((resp) => resp.data)
+		.catch((error) => {
 			if (error.response && error.response.status === 404) {
 				return undefined
 			}
@@ -126,7 +126,7 @@ export function saveDraft(accountId, data) {
 		accountId,
 	})
 
-	return axios.post(url, data).then(resp => resp.data)
+	return axios.post(url, data).then((resp) => resp.data)
 }
 
 export function sendMessage(accountId, data) {
@@ -134,7 +134,7 @@ export function sendMessage(accountId, data) {
 		accountId,
 	})
 
-	return axios.post(url, data).then(resp => resp.data)
+	return axios.post(url, data).then((resp) => resp.data)
 }
 
 export function deleteMessage(accountId, folderId, id) {
@@ -144,5 +144,5 @@ export function deleteMessage(accountId, folderId, id) {
 		id,
 	})
 
-	return axios.delete(url).then(resp => resp.data)
+	return axios.delete(url).then((resp) => resp.data)
 }
diff --git a/src/service/NotificationService.js b/src/service/NotificationService.js
index fb3111a38d7c9b3f4387177751d0816024e193c0..87a7ab42aa52812455b3456f9f164f76bc2738c3 100644
--- a/src/service/NotificationService.js
+++ b/src/service/NotificationService.js
@@ -62,8 +62,8 @@ const showNotification = (title, body, icon) => {
 	}
 }
 
-const getNotificationBody = messages => {
-	const labels = messages.filter(m => m.from.length > 0).map(m => m.from[0].label)
+const getNotificationBody = (messages) => {
+	const labels = messages.filter((m) => m.from.length > 0).map((m) => m.from[0].label)
 	let from = uniq(labels)
 	if (from.length > 2) {
 		from = from.slice(0, 2)
@@ -83,7 +83,7 @@ const getNotificationBody = messages => {
 	}
 }
 
-export const showNewMessagesNotification = messages => {
+export const showNewMessagesNotification = (messages) => {
 	showNotification(
 		t('mail', 'Nextcloud Mail'),
 		getNotificationBody(messages),
diff --git a/src/service/PreferenceService.js b/src/service/PreferenceService.js
index 205c5506c0fb48f967f1400b3105d828c982fe5d..56ec390000dc4c3ffcc0c72471b8b0bd617d0637 100644
--- a/src/service/PreferenceService.js
+++ b/src/service/PreferenceService.js
@@ -32,13 +32,13 @@ export const savePreference = (key, value) => {
 		value,
 	}
 
-	return Axios.put(url, data).then(resp => resp.data)
+	return Axios.put(url, data).then((resp) => resp.data)
 }
 
-export const getPreference = key => {
+export const getPreference = (key) => {
 	const url = generateUrl('/apps/mail/api/preferences/{key}', {
 		key,
 	})
 
-	return Axios.get(url).then(resp => resp.data)
+	return Axios.get(url).then((resp) => resp.data)
 }
diff --git a/src/service/SettingsService.js b/src/service/SettingsService.js
index e83cc3bf2127c1b6e9ca7f7983271d528c5003df..18eef59b91907ca51a44829952e96d3409992c80 100644
--- a/src/service/SettingsService.js
+++ b/src/service/SettingsService.js
@@ -22,14 +22,14 @@
 import axios from '@nextcloud/axios'
 import {generateUrl} from '@nextcloud/router'
 
-export const saveProvisioningSettings = config => {
+export const saveProvisioningSettings = (config) => {
 	const url = generateUrl('/apps/mail/api/settings/provisioning')
 
-	return axios.post(url, config).then(resp => resp.data)
+	return axios.post(url, config).then((resp) => resp.data)
 }
 
 export const disableProvisioning = () => {
 	const url = generateUrl('/apps/mail/api/settings/provisioning')
 
-	return axios.delete(url).then(resp => resp.data)
+	return axios.delete(url).then((resp) => resp.data)
 }
diff --git a/src/store/actions.js b/src/store/actions.js
index 07ab0ff228cc5170f243e5bd8c563489c462dc17..c739c615e294568890bc32d7215bac3194523cdc 100644
--- a/src/store/actions.js
+++ b/src/store/actions.js
@@ -92,22 +92,22 @@ export default {
 		})
 	},
 	fetchAccounts({commit, getters}) {
-		return fetchAllAccounts().then(accounts => {
-			accounts.forEach(account => commit('addAccount', account))
+		return fetchAllAccounts().then((accounts) => {
+			accounts.forEach((account) => commit('addAccount', account))
 			return getters.accounts
 		})
 	},
 	fetchAccount({commit}, id) {
-		return fetchAccount(id).then(account => {
+		return fetchAccount(id).then((account) => {
 			commit('addAccount', account)
 			return account
 		})
 	},
 	createAccount({commit}, config) {
-		return createAccount(config).then(account => {
+		return createAccount(config).then((account) => {
 			logger.debug(`account ${account.id} created, fetching folders …`, account)
 			return fetchAllFolders(account.id)
-				.then(folders => {
+				.then((folders) => {
 					account.folders = folders
 					commit('addAccount', account)
 				})
@@ -116,14 +116,14 @@ export default {
 		})
 	},
 	updateAccount({commit}, config) {
-		return updateAccount(config).then(account => {
+		return updateAccount(config).then((account) => {
 			console.debug('account updated', account)
 			commit('editAccount', account)
 			return account
 		})
 	},
 	patchAccount({commit}, {account, data}) {
-		return patchAccount(account, data).then(account => {
+		return patchAccount(account, data).then((account) => {
 			console.debug('account patched', account, data)
 			commit('editAccount', data)
 			return account
@@ -138,13 +138,13 @@ export default {
 		})
 	},
 	deleteAccount({commit}, account) {
-		return deleteAccount(account.id).catch(err => {
+		return deleteAccount(account.id).catch((err) => {
 			console.error('could not delete account', err)
 			throw err
 		})
 	},
 	createFolder({commit}, {account, name}) {
-		return createFolder(account.id, name).then(folder => {
+		return createFolder(account.id, name).then((folder) => {
 			console.debug(`folder ${name} created for account ${account.id}`, {folder})
 			commit('addFolder', {account, folder})
 		})
@@ -187,7 +187,7 @@ export default {
 			return cached
 		}
 
-		return fetchEnvelope(accountId, folderId, id).then(envelope => {
+		return fetchEnvelope(accountId, folderId, id).then((envelope) => {
 			// Only commit if not undefined (not found)
 			if (envelope) {
 				commit('addEnvelope', {
@@ -206,7 +206,7 @@ export default {
 
 		if (folder.isUnified) {
 			const fetchIndividualLists = pipe(
-				map(f =>
+				map((f) =>
 					dispatch('fetchEnvelopes', {
 						accountId: f.accountId,
 						folderId: f.id,
@@ -223,7 +223,7 @@ export default {
 				andThen(sliceToPage),
 				andThen(
 					tap(
-						map(envelope =>
+						map((envelope) =>
 							commit('addEnvelope', {
 								accountId,
 								folderId,
@@ -242,7 +242,7 @@ export default {
 			fetchEnvelopes,
 			andThen(
 				tap(
-					map(envelope =>
+					map((envelope) =>
 						commit('addEnvelope', {
 							accountId,
 							folderId,
@@ -287,7 +287,7 @@ export default {
 				return nextPage.length < PAGE_SIZE || (c <= head(nextPage).dateInt && c >= last(nextPage).dateInt)
 			})
 
-			const foldersToFetch = accounts =>
+			const foldersToFetch = (accounts) =>
 				pipe(
 					findIndividualFolders(getters.getFolders, folder.specialRole),
 					filter(needsFetch(query, nextLocalUnifiedEnvelopePage(accounts)))
@@ -297,7 +297,7 @@ export default {
 
 			if (fs.length) {
 				return pipe(
-					map(f =>
+					map((f) =>
 						dispatch('fetchNextEnvelopePage', {
 							accountId: f.accountId,
 							folderId: f.id,
@@ -316,7 +316,7 @@ export default {
 			}
 
 			const page = nextLocalUnifiedEnvelopePage(getters.accounts)
-			page.map(envelope =>
+			page.map((envelope) =>
 				commit('addEnvelope', {
 					accountId,
 					folderId,
@@ -338,8 +338,8 @@ export default {
 			return Promise.reject(new Error('Cannot find last envelope. Required for the folder cursor'))
 		}
 
-		return fetchEnvelopes(accountId, folderId, query, lastEnvelope.dateInt).then(envelopes => {
-			envelopes.forEach(envelope =>
+		return fetchEnvelopes(accountId, folderId, query, lastEnvelope.dateInt).then((envelopes) => {
+			envelopes.forEach((envelope) =>
 				commit('addEnvelope', {
 					accountId,
 					folderId,
@@ -356,13 +356,13 @@ export default {
 		if (folder.isUnified) {
 			return Promise.all(
 				getters.accounts
-					.filter(account => !account.isUnified)
-					.map(account =>
+					.filter((account) => !account.isUnified)
+					.map((account) =>
 						Promise.all(
 							getters
 								.getFolders(account.id)
-								.filter(f => f.specialRole === folder.specialRole)
-								.map(folder =>
+								.filter((f) => f.specialRole === folder.specialRole)
+								.map((folder) =>
 									dispatch('syncEnvelopes', {
 										accountId: account.id,
 										folderId: folder.id,
@@ -375,13 +375,13 @@ export default {
 			)
 		}
 
-		const uids = getters.getEnvelopes(accountId, folderId, query).map(env => env.id)
+		const uids = getters.getEnvelopes(accountId, folderId, query).map((env) => env.id)
 
 		return syncEnvelopes(accountId, folderId, uids, query, init)
-			.then(syncData => {
+			.then((syncData) => {
 				const unifiedFolder = getters.getUnifiedFolder(folder.specialRole)
 
-				syncData.newMessages.forEach(envelope => {
+				syncData.newMessages.forEach((envelope) => {
 					commit('addEnvelope', {
 						accountId,
 						folderId,
@@ -394,12 +394,12 @@ export default {
 						})
 					}
 				})
-				syncData.changedMessages.forEach(envelope => {
+				syncData.changedMessages.forEach((envelope) => {
 					commit('updateEnvelope', {
 						envelope,
 					})
 				})
-				syncData.vanishedMessages.forEach(id => {
+				syncData.vanishedMessages.forEach((id) => {
 					commit('removeEnvelope', {
 						accountId,
 						folderId,
@@ -411,7 +411,7 @@ export default {
 
 				return syncData.newMessages
 			})
-			.catch(error => {
+			.catch((error) => {
 				return matchError(error, {
 					[SyncIncompleteError.getName()]() {
 						console.warn('(initial) sync is incomplete, retriggering')
@@ -426,10 +426,10 @@ export default {
 	async syncInboxes({getters, dispatch}) {
 		return await Promise.all(
 			getters.accounts
-				.filter(a => !a.isUnified)
-				.map(account => {
+				.filter((a) => !a.isUnified)
+				.map((account) => {
 					return Promise.all(
-						getters.getFolders(account.id).map(async folder => {
+						getters.getFolders(account.id).map(async (folder) => {
 							if (folder.specialRole !== 'inbox') {
 								return
 							}
@@ -449,8 +449,8 @@ export default {
 						})
 					)
 				})
-		).then(results => {
-			const newMessages = flatMapDeep(identity, results).filter(m => m !== undefined)
+		).then((results) => {
+			const newMessages = flatMapDeep(identity, results).filter((m) => m !== undefined)
 			if (newMessages.length > 0) {
 				showNewMessagesNotification(newMessages)
 			}
@@ -465,7 +465,7 @@ export default {
 			value: !oldState,
 		})
 
-		setEnvelopeFlag(envelope.accountId, envelope.folderId, envelope.id, 'flagged', !oldState).catch(e => {
+		setEnvelopeFlag(envelope.accountId, envelope.folderId, envelope.id, 'flagged', !oldState).catch((e) => {
 			console.error('could not toggle message flagged state', e)
 
 			// Revert change
@@ -485,7 +485,7 @@ export default {
 			value: !oldState,
 		})
 
-		setEnvelopeFlag(envelope.accountId, envelope.folderId, envelope.id, 'unseen', !oldState).catch(e => {
+		setEnvelopeFlag(envelope.accountId, envelope.folderId, envelope.id, 'unseen', !oldState).catch((e) => {
 			console.error('could not toggle message unseen state', e)
 
 			// Revert change
@@ -498,7 +498,7 @@ export default {
 	},
 	fetchMessage({commit}, uid) {
 		const {accountId, folderId, id} = parseUid(uid)
-		return fetchMessage(accountId, folderId, id).then(message => {
+		return fetchMessage(accountId, folderId, id).then((message) => {
 			// Only commit if not undefined (not found)
 			if (message) {
 				commit('addMessage', {
@@ -531,7 +531,7 @@ export default {
 				commit('removeMessage', {accountId, folder, id})
 				console.log('message removed')
 			})
-			.catch(err => {
+			.catch((err) => {
 				console.error('could not delete message', err)
 				const envelope = getters.getEnvelope(accountId, folderId, id)
 				if (envelope) {
diff --git a/src/store/getters.js b/src/store/getters.js
index 3b4e9698a07e24c15ec864b3798b84693fa2d089..68859f503d9cc080e723506737a644e746a7ebc3 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -25,44 +25,44 @@ import {UNIFIED_ACCOUNT_ID} from './constants'
 import {normalizedEnvelopeListId, normalizedFolderId, normalizedMessageId} from './normalization'
 
 export const getters = {
-	getPreference: state => (key, def) => {
+	getPreference: (state) => (key, def) => {
 		return defaultTo(def, state.preferences[key])
 	},
-	getAccount: state => id => {
+	getAccount: (state) => (id) => {
 		return state.accounts[id]
 	},
-	accounts: state => {
-		return state.accountList.map(id => state.accounts[id])
+	accounts: (state) => {
+		return state.accountList.map((id) => state.accounts[id])
 	},
-	getFolder: state => (accountId, folderId) => {
+	getFolder: (state) => (accountId, folderId) => {
 		return state.folders[normalizedFolderId(accountId, folderId)]
 	},
-	getFolders: state => accountId => {
-		return state.accounts[accountId].folders.map(folderId => state.folders[folderId])
+	getFolders: (state) => (accountId) => {
+		return state.accounts[accountId].folders.map((folderId) => state.folders[folderId])
 	},
 	getSubfolders: (state, getters) => (accountId, folderId) => {
 		const folder = getters.getFolder(accountId, folderId)
 
-		return folder.folders.map(id => state.folders[id])
+		return folder.folders.map((id) => state.folders[id])
 	},
-	getUnifiedFolder: state => specialRole => {
+	getUnifiedFolder: (state) => (specialRole) => {
 		return head(
 			state.accounts[UNIFIED_ACCOUNT_ID].folders
-				.map(folderId => state.folders[folderId])
-				.filter(folder => folder.specialRole === specialRole)
+				.map((folderId) => state.folders[folderId])
+				.filter((folder) => folder.specialRole === specialRole)
 		)
 	},
-	getEnvelope: state => (accountId, folderId, id) => {
+	getEnvelope: (state) => (accountId, folderId, id) => {
 		return state.envelopes[normalizedMessageId(accountId, folderId, id)]
 	},
-	getEnvelopeById: state => id => {
+	getEnvelopeById: (state) => (id) => {
 		return state.envelopes[id]
 	},
 	getEnvelopes: (state, getters) => (accountId, folderId, query) => {
 		const list = getters.getFolder(accountId, folderId).envelopeLists[normalizedEnvelopeListId(query)] || []
-		return list.map(msgId => state.envelopes[msgId])
+		return list.map((msgId) => state.envelopes[msgId])
 	},
-	getMessage: state => (accountId, folderId, id) => {
+	getMessage: (state) => (accountId, folderId, id) => {
 		return state.messages[normalizedMessageId(accountId, folderId, id)]
 	},
 }
diff --git a/src/store/mutations.js b/src/store/mutations.js
index c9b5cb8f38a527ae1cdc56e1ab9aca40beb78a4d..9d877dbea99ac780b67a59b494fd1f95e44865d1 100644
--- a/src/store/mutations.js
+++ b/src/store/mutations.js
@@ -29,7 +29,7 @@ import {normalizedFolderId, normalizedMessageId, normalizedEnvelopeListId} from
 import {sortMailboxes} from '../imap/MailboxSorter'
 import {UNIFIED_ACCOUNT_ID} from './constants'
 
-const addFolderToState = (state, account) => folder => {
+const addFolderToState = (state, account) => (folder) => {
 	const id = normalizedFolderId(account.id, folder.id)
 	folder.accountId = account.id
 	folder.envelopeLists = {}
@@ -37,7 +37,7 @@ const addFolderToState = (state, account) => folder => {
 	return id
 }
 
-const sortAccounts = accounts => {
+const sortAccounts = (accounts) => {
 	accounts.sort((a1, a2) => a1.order - a2.order)
 	return accounts
 }
@@ -52,14 +52,14 @@ export default {
 		Vue.set(
 			state,
 			'accountList',
-			sortAccounts(state.accountList.concat([account.id]).map(id => state.accounts[id])).map(a => a.id)
+			sortAccounts(state.accountList.concat([account.id]).map((id) => state.accounts[id])).map((a) => a.id)
 		)
 
 		// Save the folders to the store, but only keep IDs in the account's folder list
 		const folders = buildMailboxHierarchy(sortMailboxes(account.folders || []), havePrefix(account.folders))
 		Vue.set(account, 'folders', [])
 		const addToState = addFolderToState(state, account)
-		folders.forEach(folder => {
+		folders.forEach((folder) => {
 			// Add all folders (including subfolders to state, but only toplevel to account
 			const id = addToState(folder)
 			Vue.set(folder, 'folders', folder.folders.map(addToState))
@@ -75,7 +75,7 @@ export default {
 		Vue.set(
 			state,
 			'accountList',
-			sortAccounts(state.accountList.map(id => state.accounts[id])).map(a => a.id)
+			sortAccounts(state.accountList.map((id) => state.accounts[id])).map((a) => a.id)
 		)
 	},
 	toggleAccountCollapsed(state, accountId) {
@@ -83,12 +83,12 @@ export default {
 	},
 	addFolder(state, {account, folder}) {
 		// Flatten the existing ones before updating the hierarchy
-		const existing = account.folders.map(id => state.folders[id])
-		existing.forEach(folder => {
+		const existing = account.folders.map((id) => state.folders[id])
+		existing.forEach((folder) => {
 			if (!folder.folders) {
 				return
 			}
-			folder.folders.map(id => existing.push(state.folders[id]))
+			folder.folders.map((id) => existing.push(state.folders[id]))
 			folder.folders = []
 		})
 		// Save the folders to the store, but only keep IDs in the account's folder list
@@ -96,7 +96,7 @@ export default {
 		const folders = buildMailboxHierarchy(sortMailboxes(existing), havePrefix(existing))
 		Vue.set(account, 'folders', [])
 		const addToState = addFolderToState(state, account)
-		folders.forEach(folder => {
+		folders.forEach((folder) => {
 			// Add all folders (including subfolders to state, but only toplevel to account
 			const id = addToState(folder)
 			Vue.set(folder, 'folders', folder.folders.map(addToState))
@@ -112,7 +112,7 @@ export default {
 		Vue.set(
 			folder.envelopeLists,
 			listId,
-			sortedUniq(orderBy(id => state.envelopes[id].dateInt, 'desc', existing.concat([envelope.uid])))
+			sortedUniq(orderBy((id) => state.envelopes[id].dateInt, 'desc', existing.concat([envelope.uid])))
 		)
 	},
 	updateEnvelope(state, {envelope}) {
@@ -144,9 +144,9 @@ export default {
 
 		const unifiedAccount = state.accounts[UNIFIED_ACCOUNT_ID]
 		unifiedAccount.folders
-			.map(fId => state.folders[fId])
-			.filter(f => f.specialRole === folder.specialRole)
-			.forEach(folder => {
+			.map((fId) => state.folders[fId])
+			.filter((f) => f.specialRole === folder.specialRole)
+			.forEach((folder) => {
 				const list = folder.envelopeLists[normalizedEnvelopeListId(query)]
 				if (!list) {
 					console.warn(
diff --git a/src/tests/unit/ReplyBuilder.spec.js b/src/tests/unit/ReplyBuilder.spec.js
index 6905e53e26a57d42e777d16fb4b507dd874fb002..2b8ef6f2ab4a0de36d01b055d15a8ab4e067ef26 100644
--- a/src/tests/unit/ReplyBuilder.spec.js
+++ b/src/tests/unit/ReplyBuilder.spec.js
@@ -50,11 +50,11 @@ describe('ReplyBuilder', () => {
 
 	let envelope
 
-	beforeEach(function() {
+	beforeEach(function () {
 		envelope = {}
 	})
 
-	const createAddress = addr => {
+	const createAddress = (addr) => {
 		return {
 			label: addr,
 			email: addr,
@@ -62,8 +62,8 @@ describe('ReplyBuilder', () => {
 	}
 
 	const assertSameAddressList = (l1, l2) => {
-		const rawL1 = l1.map(a => a.email)
-		const rawL2 = l2.map(a => a.email)
+		const rawL1 = l1.map((a) => a.email)
+		const rawL2 = l2.map((a) => a.email)
 		rawL1.sort()
 		rawL2.sort()
 		expect(rawL1).to.deep.equal(rawL2)
diff --git a/src/tests/unit/errors/match.spec.js b/src/tests/unit/errors/match.spec.js
index bf0897161953a759c34ca66a054081e68523981b..a21265109fcbce92a23fcd89ff10095d38fb63e8 100644
--- a/src/tests/unit/errors/match.spec.js
+++ b/src/tests/unit/errors/match.spec.js
@@ -22,33 +22,33 @@
 import {matchError} from '../../../errors/match'
 
 describe('match', () => {
-	it('throws an error when nothing matches', done => {
+	it('throws an error when nothing matches', (done) => {
 		const error = new Error('henlo')
 
 		matchError(error, {}).catch(() => done())
 	})
 
-	it('uses the default', done => {
+	it('uses the default', (done) => {
 		const map = {
-			default: error => 3,
+			default: (error) => 3,
 		}
 		const error = new Error('henlo')
 
-		matchError(error, map).then(result => {
+		matchError(error, map).then((result) => {
 			expect(expect(result).to.equal(3))
 			done()
 		})
 	})
 
-	it('matches errors', done => {
+	it('matches errors', (done) => {
 		const map = {
-			MyErr: error => 2,
-			default: error => 3,
+			MyErr: (error) => 2,
+			default: (error) => 3,
 		}
 		const error = new Error('henlo')
 		error.name = 'MyErr'
 
-		matchError(error, map).then(result => {
+		matchError(error, map).then((result) => {
 			expect(expect(result).to.equal(2))
 			done()
 		})
diff --git a/src/tests/unit/store/actions.spec.js b/src/tests/unit/store/actions.spec.js
index b887071018b34d351b085ab10020eac50006ea2c..a0e0065a69340c321d460886fe128c9fce4c143d 100644
--- a/src/tests/unit/store/actions.spec.js
+++ b/src/tests/unit/store/actions.spec.js
@@ -153,7 +153,7 @@ describe('Vuex store actions', () => {
 		sinon.stub(MessageService, 'fetchEnvelopes').returns(
 			Promise.resolve(
 				reverse(
-					range(1, 21).map(n => ({
+					range(1, 21).map((n) => ({
 						id: n,
 						uid: normalizedMessageId(13, 'INBOX', n),
 						dateInt: n * 10000,
@@ -169,7 +169,7 @@ describe('Vuex store actions', () => {
 
 		expect(page).to.deep.equal(
 			reverse(
-				range(1, 21).map(n => ({
+				range(1, 21).map((n) => ({
 					id: n,
 					uid: normalizedMessageId(13, 'INBOX', n),
 					dateInt: n * 10000,
diff --git a/src/tests/unit/util/wait.spec.js b/src/tests/unit/util/wait.spec.js
index 90a74ae3cbeeaab383659515c367cf1514484bf4..2501194495b9fccd3f28f1569f5859dfeef7457c 100644
--- a/src/tests/unit/util/wait.spec.js
+++ b/src/tests/unit/util/wait.spec.js
@@ -22,7 +22,7 @@
 import {wait} from '../../../util/wait'
 
 describe('wait', () => {
-	it('waits', done => {
+	it('waits', (done) => {
 		wait(0).then(done)
 	})
 })
diff --git a/src/util/AccountColor.js b/src/util/AccountColor.js
index 8cef360bfb32656b78a260d568a2b73ccf7905b7..587e48d620f42ac6d3b0982a69fa81e9d8949547 100644
--- a/src/util/AccountColor.js
+++ b/src/util/AccountColor.js
@@ -22,7 +22,7 @@
 import md5 from 'md5'
 import conv from 'color-convert'
 
-export const calculateAccountColor = name => {
+export const calculateAccountColor = (name) => {
 	const hashed = md5(name)
 	const hsl = conv.hex.hsl(hashed)
 	const fixedHsl = [Math.round(hsl[0] / 40) * 40, hsl[1], hsl[2]]
diff --git a/src/util/CrashReport.js b/src/util/CrashReport.js
index 59f33f11890177ca8279b221512b0ec03894dadf..02dd077823b178b31cda25f45139917e9015dd5e 100644
--- a/src/util/CrashReport.js
+++ b/src/util/CrashReport.js
@@ -21,7 +21,7 @@
 
 import IssueTemplateBuilder from 'nextcloud_issuetemplate_builder'
 
-const flattenError = error => {
+const flattenError = (error) => {
 	let text = ''
 	if (error.type) {
 		text += error.type + ': '
@@ -37,8 +37,8 @@ const flattenError = error => {
 	return text
 }
 
-const flattenTrace = trace => {
-	return trace.reduce(function(acc, entry) {
+const flattenTrace = (trace) => {
+	return trace.reduce(function (acc, entry) {
 		var text = ''
 		if (entry.class) {
 			text += '  at ' + entry.class + '::' + entry.function
@@ -52,7 +52,7 @@ const flattenTrace = trace => {
 	}, '')
 }
 
-export const getReportUrl = error => {
+export const getReportUrl = (error) => {
 	console.error(error)
 	var message = error.message || 'An unkown error occurred.'
 	if (!message.endsWith('.')) {
diff --git a/src/util/EnvelopeUidParser.js b/src/util/EnvelopeUidParser.js
index 4aabdcf0f0db68b0d4b9fe052c10fdbf46e8a463..96da73cb33672ac05e821fc05a667668f078e959 100644
--- a/src/util/EnvelopeUidParser.js
+++ b/src/util/EnvelopeUidParser.js
@@ -21,7 +21,7 @@
 
 const reg = /^(-?\d+)-((?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4}))-(\d+)$/
 
-export const parseUid = str => {
+export const parseUid = (str) => {
 	const match = reg.exec(str)
 
 	if (match === null) {
diff --git a/src/util/ErrorMessageFactory.js b/src/util/ErrorMessageFactory.js
index 3a3c1b27788c688874cb54c2700df0e77b0c5529..818e54dd0bbc879b7c50448869a19d987cda399f 100644
--- a/src/util/ErrorMessageFactory.js
+++ b/src/util/ErrorMessageFactory.js
@@ -29,7 +29,7 @@ const getRandomSmiley = () => {
  * @param {Folder} folder
  * @returns {string}
  */
-export const getRandomFolderErrorMessage = folder => {
+export const getRandomFolderErrorMessage = (folder) => {
 	const folderName = folder.get('name')
 	const rawTexts = [
 		t('mail', 'Could not load {tag}{name}{endtag}', {
@@ -42,7 +42,7 @@ export const getRandomFolderErrorMessage = folder => {
 			name: folderName,
 		}),
 	]
-	const texts = rawTexts.map(text => text.replace('{tag}', '<strong>').replace('{endtag}', '</strong>'))
+	const texts = rawTexts.map((text) => text.replace('{tag}', '<strong>').replace('{endtag}', '</strong>'))
 	const text = texts[Math.floor(Math.random() * texts.length)]
 	return text + ' ' + getRandomSmiley()
 }
diff --git a/src/util/HtmlHelper.js b/src/util/HtmlHelper.js
index f74cb176c0eb4c603f0f66e4e229a2c4a6fe22ec..a1206d421c39d2e07ab2754274fd23e6125ae5b6 100644
--- a/src/util/HtmlHelper.js
+++ b/src/util/HtmlHelper.js
@@ -10,7 +10,7 @@
 
 import {fromString} from 'html-to-text'
 
-export const htmlToText = html => {
+export const htmlToText = (html) => {
 	const withBlockBreaks = html.replace(/<\/div>/gi, '</div><br>')
 
 	const text = fromString(withBlockBreaks, {
@@ -19,12 +19,12 @@ export const htmlToText = html => {
 		ignoreImage: true,
 		wordwrap: false,
 		format: {
-			blockquote: function(element, fn, options) {
+			blockquote: function (element, fn, options) {
 				return fn(element.children, options)
 					.replace(/\n\n\n/g, '\n\n') // remove triple line breaks
 					.replace(/^/gm, '> ') // add > quotation to each line
 			},
-			paragraph: function(element, fn, options) {
+			paragraph: function (element, fn, options) {
 				return fn(element.children, options) + '\n'
 			},
 		},
@@ -36,6 +36,6 @@ export const htmlToText = html => {
 		.replace(/ $/gm, '') // trim white space at end of each line
 }
 
-export const textToSimpleHtml = text => {
+export const textToSimpleHtml = (text) => {
 	return text.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1<br>$2')
 }
diff --git a/src/util/wait.js b/src/util/wait.js
index 7a9dff8be45c200419e4f6ad35aa76c8ef375889..97f7951136ff0aeb3cfd948b9fefc731cb060c7d 100644
--- a/src/util/wait.js
+++ b/src/util/wait.js
@@ -19,8 +19,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-export const wait = ms => {
-	return new Promise(res => {
+export const wait = (ms) => {
+	return new Promise((res) => {
 		setTimeout(res, ms)
 	})
 }
diff --git a/src/views/AccountSettings.vue b/src/views/AccountSettings.vue
index 9ddd15c887ad36bef74f757e751a6bc9e61acb2c..a7beda159ed270777cc9176f1d0213dfc2a38405 100644
--- a/src/views/AccountSettings.vue
+++ b/src/views/AccountSettings.vue
@@ -78,8 +78,8 @@ export default {
 					...data,
 					accountId: this.$route.params.accountId,
 				})
-				.then(account => account)
-				.catch(error => {
+				.then((account) => account)
+				.catch((error) => {
 					Logger.error('account update failed:', {error})
 
 					throw error
diff --git a/src/views/Setup.vue b/src/views/Setup.vue
index 4de985c5a1df2eddb8aa979f65f9b45078514f8d..141516f6ce6af677c2cef189b466cba1a5dad315 100644
--- a/src/views/Setup.vue
+++ b/src/views/Setup.vue
@@ -47,7 +47,7 @@ export default {
 
 			return this.$store
 				.dispatch('createAccount', data)
-				.then(account => {
+				.then((account) => {
 					logger.info('account successfully created, redirecting …')
 					this.$router.push({
 						name: 'home',
@@ -55,7 +55,7 @@ export default {
 
 					return account
 				})
-				.catch(error => {
+				.catch((error) => {
 					logger.error('Could not create account', {error})
 
 					if (error.message) {