diff --git a/src/components/public_and_external_timeline/public_and_external_timeline.js b/src/components/public_and_external_timeline/public_and_external_timeline.js
index 0db6efae..d45677e0 100644
--- a/src/components/public_and_external_timeline/public_and_external_timeline.js
+++ b/src/components/public_and_external_timeline/public_and_external_timeline.js
@@ -7,7 +7,7 @@ const PublicAndExternalTimeline = {
     timeline () { return this.$store.state.statuses.timelines.publicAndExternal }
   },
   created () {
-    this.$store.dispatch('startFetching', 'publicAndExternal')
+    this.$store.dispatch('startFetching', { timeline: 'publicAndExternal' })
   },
   destroyed () {
     this.$store.dispatch('stopFetching', 'publicAndExternal')
diff --git a/src/components/public_and_external_timeline/public_and_external_timeline.vue b/src/components/public_and_external_timeline/public_and_external_timeline.vue
index aded2ead..6be9f955 100644
--- a/src/components/public_and_external_timeline/public_and_external_timeline.vue
+++ b/src/components/public_and_external_timeline/public_and_external_timeline.vue
@@ -1,5 +1,5 @@
 <template>
-  <Timeline :title="$t('nav.twkn')"v-bind:timeline="timeline" v-bind:timeline-name="'publicAndExternal'"/>
+  <Timeline :title="$t('nav.twkn')" v-bind:timeline="timeline" v-bind:timeline-name="'publicAndExternal'"/>
 </template>
 
 <script src="./public_and_external_timeline.js"></script>
diff --git a/src/components/public_timeline/public_timeline.js b/src/components/public_timeline/public_timeline.js
index 9b866be8..64c951ac 100644
--- a/src/components/public_timeline/public_timeline.js
+++ b/src/components/public_timeline/public_timeline.js
@@ -7,7 +7,7 @@ const PublicTimeline = {
     timeline () { return this.$store.state.statuses.timelines.public }
   },
   created () {
-    this.$store.dispatch('startFetching', 'public')
+    this.$store.dispatch('startFetching', { timeline: 'public' })
   },
   destroyed () {
     this.$store.dispatch('stopFetching', 'public')
diff --git a/src/components/tag_timeline/tag_timeline.js b/src/components/tag_timeline/tag_timeline.js
index 43de4f49..41b09706 100644
--- a/src/components/tag_timeline/tag_timeline.js
+++ b/src/components/tag_timeline/tag_timeline.js
@@ -3,7 +3,7 @@ import Timeline from '../timeline/timeline.vue'
 const TagTimeline = {
   created () {
     this.$store.commit('clearTimeline', { timeline: 'tag' })
-    this.$store.dispatch('startFetching', { 'tag': this.tag })
+    this.$store.dispatch('startFetching', { timeline: 'tag', tag: this.tag })
   },
   components: {
     Timeline
@@ -15,7 +15,7 @@ const TagTimeline = {
   watch: {
     tag () {
       this.$store.commit('clearTimeline', { timeline: 'tag' })
-      this.$store.dispatch('startFetching', { 'tag': this.tag })
+      this.$store.dispatch('startFetching', { timeline: 'tag', tag: this.tag })
     }
   },
   destroyed () {
diff --git a/src/components/user_profile/user_profile.js b/src/components/user_profile/user_profile.js
index e50048fa..a22b8722 100644
--- a/src/components/user_profile/user_profile.js
+++ b/src/components/user_profile/user_profile.js
@@ -8,8 +8,8 @@ const UserProfile = {
     this.$store.commit('clearTimeline', { timeline: 'user' })
     this.$store.commit('clearTimeline', { timeline: 'favorites' })
     this.$store.commit('clearTimeline', { timeline: 'media' })
-    this.$store.dispatch('startFetching', ['user', this.fetchBy])
-    this.$store.dispatch('startFetching', ['media', this.fetchBy])
+    this.$store.dispatch('startFetching', { timeline: 'user', userId: this.fetchBy })
+    this.$store.dispatch('startFetching', { timeline: 'media', userId: this.fetchBy })
     this.startFetchFavorites()
     if (!this.user.id) {
       this.$store.dispatch('fetchUser', this.fetchBy)
@@ -69,12 +69,12 @@ const UserProfile = {
   methods: {
     startFetchFavorites () {
       if (this.isUs) {
-        this.$store.dispatch('startFetching', ['favorites', this.fetchBy])
+        this.$store.dispatch('startFetching', { timeline: 'favorites', userId: this.fetchBy })
       }
     },
     startUp () {
-      this.$store.dispatch('startFetching', ['user', this.fetchBy])
-      this.$store.dispatch('startFetching', ['media', this.fetchBy])
+      this.$store.dispatch('startFetching', { timeline: 'user', userId: this.fetchBy })
+      this.$store.dispatch('startFetching', { timeline: 'media', userId: this.fetchBy })
 
       this.startFetchFavorites()
     },
diff --git a/src/modules/api.js b/src/modules/api.js
index 7bda13e7..31cb55c6 100644
--- a/src/modules/api.js
+++ b/src/modules/api.js
@@ -1,5 +1,4 @@
 import backendInteractorService from '../services/backend_interactor_service/backend_interactor_service.js'
-import {isArray} from 'lodash'
 import { Socket } from 'phoenix'
 
 const api = {
@@ -34,20 +33,12 @@ const api = {
     }
   },
   actions: {
-    startFetching (store, timeline) {
-      let userId = false
-
-      // This is for user timelines
-      if (isArray(timeline)) {
-        userId = timeline[1]
-        timeline = timeline[0]
-      }
-
+    startFetching (store, {timeline = 'friends', tag = false, userId = false}) {
       // Don't start fetching if we already are.
-      if (!store.state.fetchers[timeline]) {
-        const fetcher = store.state.backendInteractor.startFetching({timeline, store, userId})
-        store.commit('addFetcher', {timeline, fetcher})
-      }
+      if (store.state.fetchers[timeline]) return
+
+      const fetcher = store.state.backendInteractor.startFetching({ timeline, store, userId, tag })
+      store.commit('addFetcher', { timeline, fetcher })
     },
     stopFetching (store, timeline) {
       const fetcher = store.state.fetchers[timeline]
diff --git a/src/modules/users.js b/src/modules/users.js
index ca2e0f31..4d56ec6f 100644
--- a/src/modules/users.js
+++ b/src/modules/users.js
@@ -271,7 +271,7 @@ const users = {
               }
 
               // Start getting fresh posts.
-              store.dispatch('startFetching', 'friends')
+              store.dispatch('startFetching', { timeline: 'friends' })
 
               // Get user mutes and follower info
               store.rootState.api.backendInteractor.fetchMutes().then((mutedUsers) => {