From 98ab5dc81048d47d08a231f17698128f959e59b2 Mon Sep 17 00:00:00 2001
From: Chocobozzz <me@florianbigard.com>
Date: Wed, 25 Aug 2021 16:14:11 +0200
Subject: [PATCH] Remove useless async

---
 .eslintrc.json                                                | 4 ++++
 .../config/edit-custom-config/edit-custom-config.component.ts | 2 +-
 .../+admin/follows/following-list/follow-modal.component.ts   | 2 +-
 .../video-comment-list/video-comment-list.component.ts        | 2 +-
 client/src/app/+admin/users/user-list/user-list.component.ts  | 2 +-
 client/src/app/+home/home.component.ts                        | 2 +-
 client/src/app/+search/search.component.ts                    | 2 +-
 .../+video-edit/shared/video-caption-add-modal.component.ts   | 2 +-
 .../app/+videos/+video-edit/shared/video-edit.component.ts    | 2 +-
 .../shared/information/privacy-concerns.component.ts          | 3 ++-
 client/src/app/+videos/+video-watch/video-watch.component.ts  | 4 ++--
 client/src/app/app.component.ts                               | 4 ++--
 client/src/app/core/notification/peertube-socket.service.ts   | 2 +-
 .../shared-abuse-list/moderation-comment-modal.component.ts   | 2 +-
 .../shared/shared-main/misc/top-menu-dropdown.component.ts    | 3 ++-
 .../app/shared/shared-moderation/user-ban-modal.component.ts  | 2 +-
 client/src/assets/player/stats/stats-card.ts                  | 4 ++--
 client/src/assets/player/webtorrent/peertube-chunk-store.ts   | 2 +-
 client/src/standalone/videos/embed.ts                         | 4 ++--
 client/src/standalone/videos/test-embed.ts                    | 2 +-
 server/controllers/api/video-channel.ts                       | 4 ++--
 server/controllers/api/videos/index.ts                        | 4 ++--
 server/controllers/api/videos/live.ts                         | 4 ++--
 server/helpers/ffmpeg-utils.ts                                | 2 +-
 server/lib/auth/oauth.ts                                      | 2 +-
 server/lib/live/shared/muxing-session.ts                      | 2 +-
 server/lib/moderation.ts                                      | 4 ++--
 server/lib/notifier/shared/follow/auto-follow-for-instance.ts | 2 +-
 server/lib/notifier/shared/follow/follow-for-instance.ts      | 2 +-
 server/lib/notifier/shared/follow/follow-for-user.ts          | 2 +-
 .../shared/instance/new-peertube-version-for-admins.ts        | 2 +-
 .../notifier/shared/instance/new-plugin-version-for-admins.ts | 2 +-
 .../notifier/shared/instance/registration-for-moderators.ts   | 2 +-
 server/lib/transcoding/video-transcoding-profiles.ts          | 4 ++--
 server/tools/peertube-import-videos.ts                        | 2 +-
 35 files changed, 49 insertions(+), 43 deletions(-)

diff --git a/.eslintrc.json b/.eslintrc.json
index 042254c95..a49a9e71b 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -89,6 +89,10 @@
     "@typescript-eslint/no-empty-interface": "off",
     "@typescript-eslint/no-extraneous-class": "off",
     "@typescript-eslint/no-use-before-define": "off",
+
+    "require-await": "off",
+    "@typescript-eslint/require-await": "error",
+
     // bugged but useful
     "@typescript-eslint/restrict-plus-operands": "off"
   },
diff --git a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts
index be1a99289..f13fe4bf9 100644
--- a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts
+++ b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts
@@ -260,7 +260,7 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit {
     this.loadCategoriesAndLanguages()
   }
 
-  async formValidated () {
+  formValidated () {
     const value: ComponentCustomConfig = this.form.getRawValue()
 
     forkJoin([
diff --git a/client/src/app/+admin/follows/following-list/follow-modal.component.ts b/client/src/app/+admin/follows/following-list/follow-modal.component.ts
index c55fc8d81..c40b36e10 100644
--- a/client/src/app/+admin/follows/following-list/follow-modal.component.ts
+++ b/client/src/app/+admin/follows/following-list/follow-modal.component.ts
@@ -54,7 +54,7 @@ export class FollowModalComponent extends FormReactive implements OnInit {
     return window.location.protocol === 'https:'
   }
 
-  private async addFollowing () {
+  private addFollowing () {
     const hostsOrHandles = splitAndGetNotEmpty(this.form.value['hostsOrHandles'])
 
     this.followService.follow(hostsOrHandles)
diff --git a/client/src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts b/client/src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts
index 512ceffd9..c09ce7293 100644
--- a/client/src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts
+++ b/client/src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts
@@ -134,7 +134,7 @@ export class VideoCommentListComponent extends RestTable implements OnInit {
     })
   }
 
-  private async removeComments (comments: VideoCommentAdmin[]) {
+  private removeComments (comments: VideoCommentAdmin[]) {
     const commentArgs = comments.map(c => ({ videoId: c.video.id, commentId: c.id }))
 
     this.videoCommentService.deleteVideoComments(commentArgs)
diff --git a/client/src/app/+admin/users/user-list/user-list.component.ts b/client/src/app/+admin/users/user-list/user-list.component.ts
index 39caf5ed5..1030759df 100644
--- a/client/src/app/+admin/users/user-list/user-list.component.ts
+++ b/client/src/app/+admin/users/user-list/user-list.component.ts
@@ -206,7 +206,7 @@ export class UserListComponent extends RestTable implements OnInit {
       })
   }
 
-  async setEmailsAsVerified (users: User[]) {
+  setEmailsAsVerified (users: User[]) {
     this.userService.updateUsers(users, { emailVerified: true })
       .subscribe({
         next: () => {
diff --git a/client/src/app/+home/home.component.ts b/client/src/app/+home/home.component.ts
index 6e0c96760..f966a2b02 100644
--- a/client/src/app/+home/home.component.ts
+++ b/client/src/app/+home/home.component.ts
@@ -15,7 +15,7 @@ export class HomeComponent implements OnInit {
     private customPageService: CustomPageService
   ) { }
 
-  async ngOnInit () {
+  ngOnInit () {
     this.customPageService.getInstanceHomepage()
       .subscribe(({ content }) => this.homepageContent = content)
   }
diff --git a/client/src/app/+search/search.component.ts b/client/src/app/+search/search.component.ts
index 81d1006f8..fcf6ebbec 100644
--- a/client/src/app/+search/search.component.ts
+++ b/client/src/app/+search/search.component.ts
@@ -75,7 +75,7 @@ export class SearchComponent implements OnInit, OnDestroy {
 
     this.subActivatedRoute = this.route.queryParams
       .subscribe({
-        next: async queryParams => {
+        next: queryParams => {
           const querySearch = queryParams['search']
           const searchTarget = queryParams['searchTarget']
 
diff --git a/client/src/app/+videos/+video-edit/shared/video-caption-add-modal.component.ts b/client/src/app/+videos/+video-edit/shared/video-caption-add-modal.component.ts
index 98d66ff00..5c4152884 100644
--- a/client/src/app/+videos/+video-edit/shared/video-caption-add-modal.component.ts
+++ b/client/src/app/+videos/+video-edit/shared/video-caption-add-modal.component.ts
@@ -71,7 +71,7 @@ export class VideoCaptionAddModalComponent extends FormReactive implements OnIni
     return languageId && this.existingCaptions.includes(languageId)
   }
 
-  async addCaption () {
+  addCaption () {
     const languageId = this.form.value['language']
     const languageObject = this.videoCaptionLanguages.find(l => l.id === languageId)
 
diff --git a/client/src/app/+videos/+video-edit/shared/video-edit.component.ts b/client/src/app/+videos/+video-edit/shared/video-edit.component.ts
index 366c93a79..bf7fdeeed 100644
--- a/client/src/app/+videos/+video-edit/shared/video-edit.component.ts
+++ b/client/src/app/+videos/+video-edit/shared/video-edit.component.ts
@@ -231,7 +231,7 @@ export class VideoEditComponent implements OnInit, OnDestroy {
     this.sortVideoCaptions()
   }
 
-  async deleteCaption (caption: VideoCaptionEdit) {
+  deleteCaption (caption: VideoCaptionEdit) {
     // Caption recovers his former state
     if (caption.action && this.initialVideoCaptions.includes(caption.language.id)) {
       caption.action = undefined
diff --git a/client/src/app/+videos/+video-watch/shared/information/privacy-concerns.component.ts b/client/src/app/+videos/+video-watch/shared/information/privacy-concerns.component.ts
index ef5c8ed87..b1e8bf989 100644
--- a/client/src/app/+videos/+video-watch/shared/information/privacy-concerns.component.ts
+++ b/client/src/app/+videos/+video-watch/shared/information/privacy-concerns.component.ts
@@ -21,8 +21,9 @@ export class PrivacyConcernsComponent implements OnInit {
     private serverService: ServerService
   ) { }
 
-  async ngOnInit () {
+  ngOnInit () {
     this.serverConfig = this.serverService.getHTMLConfig()
+
     if (
       isWebRTCDisabled() ||
       this.serverConfig.tracker.enabled === false ||
diff --git a/client/src/app/+videos/+video-watch/video-watch.component.ts b/client/src/app/+videos/+video-watch/video-watch.component.ts
index 2007bdecb..acfd46a41 100644
--- a/client/src/app/+videos/+video-watch/video-watch.component.ts
+++ b/client/src/app/+videos/+video-watch/video-watch.component.ts
@@ -113,7 +113,7 @@ export class VideoWatchComponent implements OnInit, OnDestroy {
     return this.userService.getAnonymousUser()
   }
 
-  async ngOnInit () {
+  ngOnInit () {
     this.serverConfig = this.serverService.getHTMLConfig()
 
     PeertubePlayerManager.initState()
@@ -640,7 +640,7 @@ export class VideoWatchComponent implements OnInit, OnDestroy {
     }
 
     if (oldVideo && oldVideo.id !== newVideo.id) {
-      await this.peertubeSocket.unsubscribeLiveVideos(oldVideo.id)
+      this.peertubeSocket.unsubscribeLiveVideos(oldVideo.id)
     }
 
     if (!newVideo.isLive) return
diff --git a/client/src/app/app.component.ts b/client/src/app/app.component.ts
index 4d5a9f75f..ae6046cc1 100644
--- a/client/src/app/app.component.ts
+++ b/client/src/app/app.component.ts
@@ -220,7 +220,7 @@ export class AppComponent implements OnInit, AfterViewInit {
     }
   }
 
-  private async openModalsIfNeeded () {
+  private openModalsIfNeeded () {
     this.authService.userInformationLoaded
         .pipe(
           map(() => this.authService.getUser()),
@@ -232,7 +232,7 @@ export class AppComponent implements OnInit, AfterViewInit {
         ).subscribe(({ serverConfig, user }) => this._openAdminModalsIfNeeded(serverConfig, user))
   }
 
-  private async _openAdminModalsIfNeeded (serverConfig: ServerConfig, user: User) {
+  private _openAdminModalsIfNeeded (serverConfig: ServerConfig, user: User) {
     if (user.noWelcomeModal !== true) return this.welcomeModal.show()
 
     if (user.noInstanceConfigWarningModal === true || !serverConfig.signup.allowed) return
diff --git a/client/src/app/core/notification/peertube-socket.service.ts b/client/src/app/core/notification/peertube-socket.service.ts
index eab1c63f2..50d5df68f 100644
--- a/client/src/app/core/notification/peertube-socket.service.ts
+++ b/client/src/app/core/notification/peertube-socket.service.ts
@@ -38,7 +38,7 @@ export class PeerTubeSocket {
     this.liveVideosSocket.emit('subscribe', { videoId })
   }
 
-  async unsubscribeLiveVideos (videoId: number) {
+  unsubscribeLiveVideos (videoId: number) {
     if (!this.liveVideosSocket) return
 
     this.liveVideosSocket.emit('unsubscribe', { videoId })
diff --git a/client/src/app/shared/shared-abuse-list/moderation-comment-modal.component.ts b/client/src/app/shared/shared-abuse-list/moderation-comment-modal.component.ts
index ccb0c5262..2600da8da 100644
--- a/client/src/app/shared/shared-abuse-list/moderation-comment-modal.component.ts
+++ b/client/src/app/shared/shared-abuse-list/moderation-comment-modal.component.ts
@@ -49,7 +49,7 @@ export class ModerationCommentModalComponent extends FormReactive implements OnI
     this.form.reset()
   }
 
-  async banUser () {
+  banUser () {
     const moderationComment: string = this.form.value['moderationComment']
 
     this.abuseService.updateAbuse(this.abuseToComment, { moderationComment })
diff --git a/client/src/app/shared/shared-main/misc/top-menu-dropdown.component.ts b/client/src/app/shared/shared-main/misc/top-menu-dropdown.component.ts
index e7e34ce1e..a8cc9b593 100644
--- a/client/src/app/shared/shared-main/misc/top-menu-dropdown.component.ts
+++ b/client/src/app/shared/shared-main/misc/top-menu-dropdown.component.ts
@@ -84,8 +84,9 @@ export class TopMenuDropdownComponent implements OnInit, OnDestroy {
 
     this.modalService.open(this.modal, {
       centered: true,
-      beforeDismiss: async () => {
+      beforeDismiss: () => {
         this.onModalDismiss()
+
         return true
       }
     })
diff --git a/client/src/app/shared/shared-moderation/user-ban-modal.component.ts b/client/src/app/shared/shared-moderation/user-ban-modal.component.ts
index 0a2d5e93a..a03bd7286 100644
--- a/client/src/app/shared/shared-moderation/user-ban-modal.component.ts
+++ b/client/src/app/shared/shared-moderation/user-ban-modal.component.ts
@@ -43,7 +43,7 @@ export class UserBanModalComponent extends FormReactive implements OnInit {
     this.openedModal.close()
   }
 
-  async banUser () {
+  banUser () {
     const reason = this.form.value['reason'] || undefined
 
     this.userService.banUsers(this.usersToBan, reason)
diff --git a/client/src/assets/player/stats/stats-card.ts b/client/src/assets/player/stats/stats-card.ts
index a32f6fb97..45fd30d55 100644
--- a/client/src/assets/player/stats/stats-card.ts
+++ b/client/src/assets/player/stats/stats-card.ts
@@ -86,7 +86,7 @@ class StatsCard extends Component {
     this.updateInterval = setInterval(async () => {
       try {
         const options = this.mode === 'p2p-media-loader'
-          ? await this.buildHLSOptions()
+          ? this.buildHLSOptions()
           : await this.buildWebTorrentOptions() // Default
 
         this.list.innerHTML = this.getListTemplate(options)
@@ -102,7 +102,7 @@ class StatsCard extends Component {
     this.container.style.display = 'none'
   }
 
-  private async buildHLSOptions () {
+  private buildHLSOptions () {
     const p2pMediaLoader = this.player_.p2pMediaLoader()
     const level = p2pMediaLoader.getCurrentLevel()
 
diff --git a/client/src/assets/player/webtorrent/peertube-chunk-store.ts b/client/src/assets/player/webtorrent/peertube-chunk-store.ts
index 93ca8e1d8..81378c277 100644
--- a/client/src/assets/player/webtorrent/peertube-chunk-store.ts
+++ b/client/src/assets/player/webtorrent/peertube-chunk-store.ts
@@ -184,7 +184,7 @@ export class PeertubeChunkStore extends EventEmitter {
   private runCleaner () {
     this.checkExpiration()
 
-    this.cleanerInterval = setInterval(async () => {
+    this.cleanerInterval = setInterval(() => {
       this.checkExpiration()
     }, PeertubeChunkStore.CLEANER_INTERVAL_MS)
   }
diff --git a/client/src/standalone/videos/embed.ts b/client/src/standalone/videos/embed.ts
index f35f4a23a..36480922e 100644
--- a/client/src/standalone/videos/embed.ts
+++ b/client/src/standalone/videos/embed.ts
@@ -589,7 +589,7 @@ export class PeerTubeEmbed {
 
     this.buildCSS()
 
-    await this.buildDock(videoInfo)
+    this.buildDock(videoInfo)
 
     this.initializeApi()
 
@@ -665,7 +665,7 @@ export class PeerTubeEmbed {
     }
   }
 
-  private async buildDock (videoInfo: VideoDetails) {
+  private buildDock (videoInfo: VideoDetails) {
     if (!this.controls) return
 
     // On webtorrent fallback, player may have been disposed
diff --git a/client/src/standalone/videos/test-embed.ts b/client/src/standalone/videos/test-embed.ts
index a051f1f89..301c95d7b 100644
--- a/client/src/standalone/videos/test-embed.ts
+++ b/client/src/standalone/videos/test-embed.ts
@@ -47,7 +47,7 @@ window.addEventListener('load', async () => {
   let playbackRates: number[] = []
   let currentRate = await player.getPlaybackRate()
 
-  const updateRates = async () => {
+  const updateRates = () => {
     const rateListEl = document.querySelector('#rate-list')
     rateListEl.innerHTML = ''
 
diff --git a/server/controllers/api/video-channel.ts b/server/controllers/api/video-channel.ts
index 7bdb33737..a0c6601d9 100644
--- a/server/controllers/api/video-channel.ts
+++ b/server/controllers/api/video-channel.ts
@@ -108,7 +108,7 @@ videoChannelRouter.delete('/:nameWithHost',
 
 videoChannelRouter.get('/:nameWithHost',
   asyncMiddleware(videoChannelsNameWithHostValidator),
-  asyncMiddleware(getVideoChannel)
+  getVideoChannel
 )
 
 videoChannelRouter.get('/:nameWithHost/video-playlists',
@@ -281,7 +281,7 @@ async function removeVideoChannel (req: express.Request, res: express.Response)
   return res.type('json').status(HttpStatusCode.NO_CONTENT_204).end()
 }
 
-async function getVideoChannel (req: express.Request, res: express.Response) {
+function getVideoChannel (req: express.Request, res: express.Response) {
   const videoChannel = res.locals.videoChannel
 
   if (videoChannel.isOutdated()) {
diff --git a/server/controllers/api/videos/index.ts b/server/controllers/api/videos/index.ts
index 49490f79b..10833d48b 100644
--- a/server/controllers/api/videos/index.ts
+++ b/server/controllers/api/videos/index.ts
@@ -102,7 +102,7 @@ videosRouter.get('/:id',
   optionalAuthenticate,
   asyncMiddleware(videosCustomGetValidator('for-api')),
   asyncMiddleware(checkVideoFollowConstraints),
-  asyncMiddleware(getVideo)
+  getVideo
 )
 videosRouter.post('/:id/views',
   openapiOperationDoc({ operationId: 'addView' }),
@@ -141,7 +141,7 @@ function listVideoPrivacies (_req: express.Request, res: express.Response) {
   res.json(VIDEO_PRIVACIES)
 }
 
-async function getVideo (_req: express.Request, res: express.Response) {
+function getVideo (_req: express.Request, res: express.Response) {
   const video = res.locals.videoAPI
 
   if (video.isOutdated()) {
diff --git a/server/controllers/api/videos/live.ts b/server/controllers/api/videos/live.ts
index ed4da8f47..151ff354b 100644
--- a/server/controllers/api/videos/live.ts
+++ b/server/controllers/api/videos/live.ts
@@ -39,7 +39,7 @@ liveRouter.post('/live',
 liveRouter.get('/live/:videoId',
   authenticate,
   asyncMiddleware(videoLiveGetValidator),
-  asyncRetryTransactionMiddleware(getLiveVideo)
+  getLiveVideo
 )
 
 liveRouter.put('/live/:videoId',
@@ -57,7 +57,7 @@ export {
 
 // ---------------------------------------------------------------------------
 
-async function getLiveVideo (req: express.Request, res: express.Response) {
+function getLiveVideo (req: express.Request, res: express.Response) {
   const videoLive = res.locals.videoLive
 
   return res.json(videoLive.toFormattedJSON())
diff --git a/server/helpers/ffmpeg-utils.ts b/server/helpers/ffmpeg-utils.ts
index 830625cc6..a99c9ee7c 100644
--- a/server/helpers/ffmpeg-utils.ts
+++ b/server/helpers/ffmpeg-utils.ts
@@ -474,7 +474,7 @@ async function buildHLSVODCommand (command: ffmpeg.FfmpegCommand, options: HLSTr
   return command
 }
 
-async function buildHLSVODFromTSCommand (command: ffmpeg.FfmpegCommand, options: HLSFromTSTranscodeOptions) {
+function buildHLSVODFromTSCommand (command: ffmpeg.FfmpegCommand, options: HLSFromTSTranscodeOptions) {
   const videoPath = getHLSVideoPath(options)
 
   command.outputOption('-c copy')
diff --git a/server/lib/auth/oauth.ts b/server/lib/auth/oauth.ts
index 5b6130d56..a97681c86 100644
--- a/server/lib/auth/oauth.ts
+++ b/server/lib/auth/oauth.ts
@@ -81,7 +81,7 @@ async function handleOAuthToken (req: express.Request, options: { refreshTokenAu
   })
 }
 
-async function handleOAuthAuthenticate (
+function handleOAuthAuthenticate (
   req: express.Request,
   res: express.Response,
   authenticateInQuery = false
diff --git a/server/lib/live/shared/muxing-session.ts b/server/lib/live/shared/muxing-session.ts
index 9b5b6c4fc..0c9fb0cb6 100644
--- a/server/lib/live/shared/muxing-session.ts
+++ b/server/lib/live/shared/muxing-session.ts
@@ -199,7 +199,7 @@ class MuxingSession extends EventEmitter {
   private watchMasterFile (outPath: string) {
     this.masterWatcher = chokidar.watch(outPath + '/' + this.streamingPlaylist.playlistFilename)
 
-    this.masterWatcher.on('add', async () => {
+    this.masterWatcher.on('add', () => {
       this.emit('master-playlist-created', { videoId: this.videoId })
 
       this.masterWatcher.close()
diff --git a/server/lib/moderation.ts b/server/lib/moderation.ts
index a42ab5b7f..456b615b2 100644
--- a/server/lib/moderation.ts
+++ b/server/lib/moderation.ts
@@ -170,8 +170,8 @@ function createAccountAbuse (options: {
 }) {
   const { baseAbuse, accountInstance, transaction, reporterAccount } = options
 
-  const associateFun = async () => {
-    return { isOwned: accountInstance.isOwned() }
+  const associateFun = () => {
+    return Promise.resolve({ isOwned: accountInstance.isOwned() })
   }
 
   return createAbuse({
diff --git a/server/lib/notifier/shared/follow/auto-follow-for-instance.ts b/server/lib/notifier/shared/follow/auto-follow-for-instance.ts
index 16cc62984..01d2b3563 100644
--- a/server/lib/notifier/shared/follow/auto-follow-for-instance.ts
+++ b/server/lib/notifier/shared/follow/auto-follow-for-instance.ts
@@ -35,7 +35,7 @@ export class AutoFollowForInstance extends AbstractNotification <MActorFollowFul
     return notification
   }
 
-  async createEmail (to: string) {
+  createEmail (to: string) {
     const instanceUrl = this.actorFollow.ActorFollowing.url
 
     return {
diff --git a/server/lib/notifier/shared/follow/follow-for-instance.ts b/server/lib/notifier/shared/follow/follow-for-instance.ts
index 9ab269cf1..a4a2fbf53 100644
--- a/server/lib/notifier/shared/follow/follow-for-instance.ts
+++ b/server/lib/notifier/shared/follow/follow-for-instance.ts
@@ -43,7 +43,7 @@ export class FollowForInstance extends AbstractNotification <MActorFollowFull> {
     return notification
   }
 
-  async createEmail (to: string) {
+  createEmail (to: string) {
     const awaitingApproval = this.actorFollow.state === 'pending'
       ? ' awaiting manual approval.'
       : ''
diff --git a/server/lib/notifier/shared/follow/follow-for-user.ts b/server/lib/notifier/shared/follow/follow-for-user.ts
index 2d0f675a8..e579d4487 100644
--- a/server/lib/notifier/shared/follow/follow-for-user.ts
+++ b/server/lib/notifier/shared/follow/follow-for-user.ts
@@ -56,7 +56,7 @@ export class FollowForUser extends AbstractNotification <MActorFollowFull> {
     return notification
   }
 
-  async createEmail (to: string) {
+  createEmail (to: string) {
     const following = this.actorFollow.ActorFollowing
     const follower = this.actorFollow.ActorFollower
 
diff --git a/server/lib/notifier/shared/instance/new-peertube-version-for-admins.ts b/server/lib/notifier/shared/instance/new-peertube-version-for-admins.ts
index ab5bfb1ac..6b5ac808a 100644
--- a/server/lib/notifier/shared/instance/new-peertube-version-for-admins.ts
+++ b/server/lib/notifier/shared/instance/new-peertube-version-for-admins.ts
@@ -41,7 +41,7 @@ export class NewPeerTubeVersionForAdmins extends AbstractNotification <NewPeerTu
     return notification
   }
 
-  async createEmail (to: string) {
+  createEmail (to: string) {
     return {
       to,
       template: 'peertube-version-new',
diff --git a/server/lib/notifier/shared/instance/new-plugin-version-for-admins.ts b/server/lib/notifier/shared/instance/new-plugin-version-for-admins.ts
index e5e456a70..874b10a3d 100644
--- a/server/lib/notifier/shared/instance/new-plugin-version-for-admins.ts
+++ b/server/lib/notifier/shared/instance/new-plugin-version-for-admins.ts
@@ -37,7 +37,7 @@ export class NewPluginVersionForAdmins extends AbstractNotification <MPlugin> {
     return notification
   }
 
-  async createEmail (to: string) {
+  createEmail (to: string) {
     const pluginUrl = WEBSERVER.URL + '/admin/plugins/list-installed?pluginType=' + this.plugin.type
 
     return {
diff --git a/server/lib/notifier/shared/instance/registration-for-moderators.ts b/server/lib/notifier/shared/instance/registration-for-moderators.ts
index 4deb5a2cc..2a48ef2fa 100644
--- a/server/lib/notifier/shared/instance/registration-for-moderators.ts
+++ b/server/lib/notifier/shared/instance/registration-for-moderators.ts
@@ -36,7 +36,7 @@ export class RegistrationForModerators extends AbstractNotification <MUserDefaul
     return notification
   }
 
-  async createEmail (to: string) {
+  createEmail (to: string) {
     return {
       template: 'user-registered',
       to,
diff --git a/server/lib/transcoding/video-transcoding-profiles.ts b/server/lib/transcoding/video-transcoding-profiles.ts
index bca6dfccd..a8176dca5 100644
--- a/server/lib/transcoding/video-transcoding-profiles.ts
+++ b/server/lib/transcoding/video-transcoding-profiles.ts
@@ -14,7 +14,7 @@ import { canDoQuickAudioTranscode, ffprobePromise, getAudioStream, getMaxAudioBi
  *  * https://trac.ffmpeg.org/wiki/Limiting%20the%20output%20bitrate
  */
 
-const defaultX264VODOptionsBuilder: EncoderOptionsBuilder = async (options: EncoderOptionsBuilderParams) => {
+const defaultX264VODOptionsBuilder: EncoderOptionsBuilder = (options: EncoderOptionsBuilderParams) => {
   const { fps, inputRatio, inputBitrate } = options
   if (!fps) return { outputOptions: [ ] }
 
@@ -30,7 +30,7 @@ const defaultX264VODOptionsBuilder: EncoderOptionsBuilder = async (options: Enco
   }
 }
 
-const defaultX264LiveOptionsBuilder: EncoderOptionsBuilder = async (options: EncoderOptionsBuilderParams) => {
+const defaultX264LiveOptionsBuilder: EncoderOptionsBuilder = (options: EncoderOptionsBuilderParams) => {
   const { streamNum, fps, inputBitrate, inputRatio } = options
 
   const targetBitrate = capBitrate(inputBitrate, getAverageBitrate({ ...options, fps, ratio: inputRatio }))
diff --git a/server/tools/peertube-import-videos.ts b/server/tools/peertube-import-videos.ts
index 52aae3d2c..488109b7a 100644
--- a/server/tools/peertube-import-videos.ts
+++ b/server/tools/peertube-import-videos.ts
@@ -407,7 +407,7 @@ function getYoutubeDLInfo (youtubeDL: any, url: string, args: string[]) {
   return new Promise<any>((res, rej) => {
     const options = [ '-j', '--flat-playlist', '--playlist-reverse', ...args ]
 
-    youtubeDL.getInfo(url, options, processOptions, async (err, info) => {
+    youtubeDL.getInfo(url, options, processOptions, (err, info) => {
       if (err) return rej(err)
 
       return res(info)