diff --git a/components/notification/NotificationCard.vue b/components/notification/NotificationCard.vue
index a3d0eca8f..e8f600d8e 100644
--- a/components/notification/NotificationCard.vue
+++ b/components/notification/NotificationCard.vue
@@ -92,7 +92,7 @@ if (unsupportedEmojiReactionTypes.includes(notification.type))
         </template>
       </StatusCard>
     </template>
-    <template v-else-if="notification.type === 'mention' || notification.type === 'poll' || notification.type === 'status'">
+    <template v-else-if="notification.type === 'mention' || notification.type === 'status'">
       <StatusCard :status="notification.status!" />
     </template>
     <template v-else-if="!unsupportedEmojiReactionTypes.includes(notification.type)">
diff --git a/components/notification/NotificationPaginator.vue b/components/notification/NotificationPaginator.vue
index 6ec7120e2..90ecc1309 100644
--- a/components/notification/NotificationPaginator.vue
+++ b/components/notification/NotificationPaginator.vue
@@ -13,7 +13,7 @@ const virtualScroller = false // TODO: fix flickering issue with virtual scroll
 
 const groupCapacity = Number.MAX_VALUE // No limit
 
-const includeNotificationTypes: mastodon.v1.NotificationType[] = ['update', 'mention', 'poll', 'status']
+const includeNotificationTypes: mastodon.v1.NotificationType[] = ['update', 'mention', 'status']
 
 let id = 0
 
diff --git a/components/notification/NotificationPreferences.client.vue b/components/notification/NotificationPreferences.client.vue
index 64983b553..db324d09b 100644
--- a/components/notification/NotificationPreferences.client.vue
+++ b/components/notification/NotificationPreferences.client.vue
@@ -130,7 +130,6 @@ onActivated(() => (busy.value = false))
                 <CommonCheckbox v-model="pushNotificationData.favourite" hover :label="$t('settings.notifications.push_notifications.alerts.favourite')" />
                 <CommonCheckbox v-model="pushNotificationData.reblog" hover :label="$t('settings.notifications.push_notifications.alerts.reblog')" />
                 <CommonCheckbox v-model="pushNotificationData.mention" hover :label="$t('settings.notifications.push_notifications.alerts.mention')" />
-                <CommonCheckbox v-model="pushNotificationData.poll" hover :label="$t('settings.notifications.push_notifications.alerts.poll')" />
               </fieldset>
               <fieldset flex="~ col" gap-y-1 py-1>
                 <legend>{{ $t('settings.notifications.push_notifications.policy.title') }}</legend>
diff --git a/components/publish/PublishWidget.vue b/components/publish/PublishWidget.vue
index f1dfeba6e..7e3eda93f 100644
--- a/components/publish/PublishWidget.vue
+++ b/components/publish/PublishWidget.vue
@@ -81,57 +81,6 @@ const { editor } = useTiptap({
   onPaste: handlePaste,
 })
 
-function trimPollOptions() {
-  const indexLastNonEmpty = draft.value.params.poll!.options.findLastIndex(option => option.trim().length > 0)
-  const trimmedOptions = draft.value.params.poll!.options.slice(0, indexLastNonEmpty + 1)
-
-  if (currentInstance.value?.configuration
-    && trimmedOptions.length >= currentInstance.value?.configuration?.polls.maxOptions) {
-    draft.value.params.poll!.options = trimmedOptions
-  }
-  else {
-    draft.value.params.poll!.options = [...trimmedOptions, '']
-  }
-}
-
-function editPollOptionDraft(event: Event, index: number) {
-  draft.value.params.poll!.options = Object.assign(draft.value.params.poll!.options.slice(), { [index]: (event.target as HTMLInputElement).value })
-
-  trimPollOptions()
-}
-
-function deletePollOption(index: number) {
-  const newPollOptions = draft.value.params.poll!.options.slice()
-  newPollOptions.splice(index, 1)
-  draft.value.params.poll!.options = newPollOptions
-  trimPollOptions()
-}
-
-const expiresInOptions = computed(() => [
-  {
-    seconds: 1 * 60 * 60,
-    label: t('time_ago_options.hour_future', 1),
-  },
-  {
-    seconds: 2 * 60 * 60,
-    label: t('time_ago_options.hour_future', 2),
-  },
-  {
-    seconds: 1 * 24 * 60 * 60,
-    label: t('time_ago_options.day_future', 1),
-  },
-  {
-    seconds: 2 * 24 * 60 * 60,
-    label: t('time_ago_options.day_future', 2),
-  },
-  {
-    seconds: 7 * 24 * 60 * 60,
-    label: t('time_ago_options.day_future', 7),
-  },
-])
-
-const expiresInDefaultOptionIndex = 2
-
 const characterCount = computed(() => {
   const text = htmlToText(editor.value?.getHTML() || '')
 
@@ -350,31 +299,6 @@ function stopQuestionMarkPropagation(e: KeyboardEvent) {
         </div>
 
         <div flex="~ col 1" max-w-full>
-          <form v-if="isExpanded && draft.params.poll" my-4 flex="~ 1 col" gap-3 m="s--1">
-            <div v-for="(option, index) in draft.params.poll.options" :key="index" flex="~ row" gap-3>
-              <input
-                :value="option" bg-base border="~ base" flex-1 h10 pe-4 rounded-2 w-full flex="~ row" items-center
-                relative focus-within:box-shadow-outline gap-3 px-4 py-2
-                :placeholder="$t('polls.option_placeholder', { current: index + 1, max: currentInstance?.configuration?.polls.maxOptions })"
-                class="option-input" @input="editPollOptionDraft($event, index)"
-              >
-              <CommonTooltip placement="top" :content="$t('polls.remove_option')" class="delete-button">
-                <button
-                  btn-action-icon class="hover:bg-red/75"
-                  :disabled="index === draft.params.poll!.options.length - 1 && (index + 1 !== currentInstance?.configuration?.polls.maxOptions || draft.params.poll!.options[index].length === 0)"
-                  @click.prevent="deletePollOption(index)"
-                >
-                  <div i-ri:delete-bin-line />
-                </button>
-              </CommonTooltip>
-              <span
-                v-if="currentInstance?.configuration?.polls.maxCharactersPerOption" class="char-limit-radial"
-                aspect-ratio-1 h-10
-                :style="{ background: `radial-gradient(closest-side, rgba(var(--rgb-bg-base)) 79%, transparent 80% 100%), conic-gradient(${draft.params.poll!.options[index].length / currentInstance?.configuration?.polls.maxCharactersPerOption > 1 ? 'var(--c-danger)' : 'var(--c-primary)'} ${draft.params.poll!.options[index].length / currentInstance?.configuration?.polls.maxCharactersPerOption * 100}%, var(--c-primary-fade) 0)` }"
-              >{{
-                draft.params.poll!.options[index].length }}</span>
-            </div>
-          </form>
           <div v-if="shouldExpanded" flex="~ gap-1 1 wrap" m="s--1" pt-2 justify="end" max-w-full border="t base">
             <PublishEmojiPicker @select="insertEmoji">
               <button btn-action-icon :title="$t('tooltip.emojis')" :aria-label="$t('tooltip.add_emojis')">
@@ -382,75 +306,12 @@ function stopQuestionMarkPropagation(e: KeyboardEvent) {
               </button>
             </PublishEmojiPicker>
 
-            <CommonTooltip
-              v-if="draft.params.poll === undefined" placement="top" :content="$t('tooltip.add_media')"
-            >
+            <CommonTooltip placement="top" :content="$t('tooltip.add_media')">
               <button btn-action-icon :aria-label="$t('tooltip.add_media')" @click="pickAttachments">
                 <div i-ri:image-add-line />
               </button>
             </CommonTooltip>
 
-            <template v-if="draft.attachments.length === 0">
-              <CommonTooltip v-if="!draft.params.poll" placement="top" :content="$t('polls.create')">
-                <button
-                  btn-action-icon :aria-label="$t('polls.create')"
-                  @click="draft.params.poll = { options: [''], expiresIn: expiresInOptions[expiresInDefaultOptionIndex].seconds }"
-                >
-                  <div i-ri:chat-poll-line />
-                </button>
-              </CommonTooltip>
-              <div v-else rounded-full b-1 border-dark flex="~ row" gap-1>
-                <CommonTooltip placement="top" :content="$t('polls.cancel')">
-                  <button
-                    btn-action-icon b-r border-dark :aria-label="$t('polls.cancel')"
-                    @click="draft.params.poll = undefined"
-                  >
-                    <div i-ri:close-line />
-                  </button>
-                </CommonTooltip>
-                <CommonDropdown placement="top">
-                  <CommonTooltip placement="top" :content="$t('polls.settings')">
-                    <button :aria-label="$t('polls.settings')" btn-action-icon w-12>
-                      <div i-ri:list-settings-line />
-                      <div i-ri:arrow-down-s-line text-sm text-secondary me--1 />
-                    </button>
-                  </CommonTooltip>
-                  <template #popper>
-                    <div flex="~ col" gap-1 p-2>
-                      <CommonCheckbox
-                        v-model="draft.params.poll.multiple"
-                        :label="draft.params.poll.multiple ? $t('polls.disallow_multiple') : $t('polls.allow_multiple')"
-                        px-2 gap-3 h-9 flex justify-center hover:bg-active rounded-full
-                        icon-checked="i-ri:checkbox-multiple-blank-line"
-                        icon-unchecked="i-ri:checkbox-blank-circle-line"
-                      />
-                      <CommonCheckbox
-                        v-model="draft.params.poll.hideTotals"
-                        :label="draft.params.poll.hideTotals ? $t('polls.show_votes') : $t('polls.hide_votes')" px-2 gap-3
-                        h-9 flex justify-center hover:bg-active rounded-full icon-checked="i-ri:eye-close-line"
-                        icon-unchecked="i-ri:eye-line"
-                      />
-                    </div>
-                  </template>
-                </CommonDropdown>
-                <CommonDropdown placement="bottom">
-                  <CommonTooltip placement="top" :content="$t('polls.expiration')">
-                    <button :aria-label="$t('polls.expiration')" btn-action-icon w-12>
-                      <div i-ri:hourglass-line />
-                      <div i-ri:arrow-down-s-line text-sm text-secondary me--1 />
-                    </button>
-                  </CommonTooltip>
-                  <template #popper>
-                    <CommonDropdownItem
-                      v-for="expiresInOption in expiresInOptions" :key="expiresInOption.seconds"
-                      :text="expiresInOption.label" :checked="draft.params.poll!.expiresIn === expiresInOption.seconds"
-                      @click="draft.params.poll!.expiresIn = expiresInOption.seconds"
-                    />
-                  </template>
-                </CommonDropdown>
-              </div>
-            </template>
-
             <PublishEditorTools v-if="editor" :editor="editor" />
 
             <div flex-auto />
diff --git a/components/status/StatusContent.vue b/components/status/StatusContent.vue
index f76fe30ee..a7db7f042 100644
--- a/components/status/StatusContent.vue
+++ b/components/status/StatusContent.vue
@@ -46,7 +46,6 @@ const allowEmbeddedMedia = computed(() => status.card?.html && embeddedMediaPref
       </template>
       <StatusBody v-if="!(isSensitiveNonSpoiler || hideAllMedia)" :status="status" :newer="newer" :with-action="!isDetails" :class="isDetails ? 'text-xl' : ''" />
       <StatusTranslation :status="status" />
-      <StatusPoll v-if="status.poll" :status="status" />
       <StatusMedia
         v-if="status.mediaAttachments?.length"
         :status="status"
diff --git a/components/status/StatusPoll.vue b/components/status/StatusPoll.vue
deleted file mode 100644
index d8bcbbf7a..000000000
--- a/components/status/StatusPoll.vue
+++ /dev/null
@@ -1,85 +0,0 @@
-<script setup lang="ts">
-import type { mastodon } from 'masto'
-
-const { status } = defineProps<{
-  status: mastodon.v1.Status
-}>()
-const poll = reactive({ ...status.poll! })
-
-function toPercentage(num: number) {
-  const percentage = 100 * num
-  return `${percentage.toFixed(1).replace(/\.?0+$/, '')}%`
-}
-const timeAgoOptions = useTimeAgoOptions()
-const expiredTimeAgo = useTimeAgo(poll.expiresAt!, timeAgoOptions)
-const expiredTimeFormatted = useFormattedDateTime(poll.expiresAt!)
-const { formatPercentage } = useHumanReadableNumber()
-
-const { client } = useMasto()
-
-async function vote(e: Event) {
-  const formData = new FormData(e.target as HTMLFormElement)
-  const choices = formData.getAll('choices').map(i => +i) as number[]
-
-  // Update the poll optimistically
-  for (const [index, option] of poll.options.entries()) {
-    if (choices.includes(index))
-      option.votesCount = (option.votesCount || 0) + 1
-  }
-  poll.voted = true
-  poll.votesCount++
-
-  if (!poll.votersCount && poll.votesCount)
-    poll.votesCount = poll.votesCount + 1
-  else
-    poll.votersCount = (poll.votersCount || 0) + 1
-
-  cacheStatus({ ...status, poll }, undefined, true)
-
-  await client.value.v1.polls.$select(poll.id).votes.create({ choices })
-}
-
-const votersCount = computed(() => poll.votersCount ?? poll.votesCount ?? 0)
-</script>
-
-<template>
-  <div flex flex-col w-full items-stretch gap-2 py3 dir="auto" class="poll-wrapper">
-    <form v-if="!poll.voted && !poll.expired" flex="~ col gap3" accent-primary @click.stop="noop" @submit.prevent="vote">
-      <label v-for="(option, index) of poll.options" :key="index" flex="~ gap2" items-center>
-        <input name="choices" :value="index" :type="poll.multiple ? 'checkbox' : 'radio'" cursor-pointer>
-        {{ option.title }}
-      </label>
-      <button btn-solid mt-1>
-        {{ $t('action.vote') }}
-      </button>
-    </form>
-    <template v-else>
-      <div
-        v-for="(option, index) of poll.options"
-        :key="index" py-1 relative
-        :style="{ '--bar-width': toPercentage(votersCount === 0 ? 0 : (option.votesCount ?? 0) / votersCount) }"
-      >
-        <div flex justify-between pb-2 w-full>
-          <span inline-flex align-items>
-            {{ option.title }}
-            <span v-if="poll.voted && poll.ownVotes?.includes(index)" ms-2 mt-1 inline-block i-ri:checkbox-circle-line />
-          </span>
-          <span text-primary-active> {{ formatPercentage(votersCount > 0 ? (option.votesCount || 0) / votersCount : 0) }}</span>
-        </div>
-        <div class="bg-gray/40" rounded-l-sm rounded-r-lg h-5px w-full>
-          <div bg-primary-active h-full min-w="1%" class="w-[var(--bar-width)]" />
-        </div>
-      </div>
-    </template>
-    <div text-sm flex="~ inline" gap-x-1 text-secondary>
-      <CommonLocalizedNumber
-        keypath="status.poll.count"
-        :count="poll.votesCount"
-      />
-      &middot;
-      <CommonTooltip v-if="poll.expiresAt" :content="expiredTimeFormatted" class="inline-block" placement="right">
-        <time :datetime="poll.expiresAt!">{{ $t(poll.expired ? 'status.poll.finished' : 'status.poll.ends', [expiredTimeAgo]) }}</time>
-      </CommonTooltip>
-    </div>
-  </div>
-</template>
diff --git a/composables/masto/publish.ts b/composables/masto/publish.ts
index dba585c00..1ef09b2f6 100644
--- a/composables/masto/publish.ts
+++ b/composables/masto/publish.ts
@@ -37,24 +37,11 @@ export function usePublish(options: {
   const shouldExpanded = computed(() => options.expanded.value || isExpanded.value || !isEmpty.value)
   const isPublishDisabled = computed(() => {
     const { params, attachments } = draftItem.value
-    const firstEmptyInputIndex = params.poll?.options.findIndex(option => option.trim().length === 0)
     return isEmpty.value
       || options.isUploading.value
       || isSending.value
       || (attachments.length === 0 && !params.status)
       || failedMessages.value.length > 0
-      || (attachments.length > 0 && params.poll !== null && params.poll !== undefined)
-      || ((params.poll !== null && params.poll !== undefined)
-        && (
-          (firstEmptyInputIndex !== -1
-            && firstEmptyInputIndex !== params.poll.options.length - 1
-          )
-          || params.poll.options.findLastIndex(option => option.trim().length > 0) + 1 < 2
-          || (new Set(params.poll.options).size !== params.poll.options.length)
-          || (currentInstance.value?.configuration?.polls.maxCharactersPerOption !== undefined
-            && params.poll.options.find(option => option.length > currentInstance.value!.configuration!.polls.maxCharactersPerOption) !== undefined
-          )
-        ))
   })
 
   watch(draftItem, () => {
@@ -70,30 +57,12 @@ export function usePublish(options: {
     if (draftItem.value.mentions?.length)
       content = `${draftItem.value.mentions.map(i => `@${i}`).join(' ')} ${content}`
 
-    let poll
-
-    if (draftItem.value.params.poll) {
-      let options = draftItem.value.params.poll.options
-
-      if (currentInstance.value?.configuration !== undefined
-        && (
-          options.length < currentInstance.value.configuration.polls.maxOptions
-          || options[options.length - 1].trim().length === 0
-        )
-      ) {
-        options = options.slice(0, options.length - 1)
-      }
-
-      poll = { ...draftItem.value.params.poll, options }
-    }
-
     const payload = {
       ...draftItem.value.params,
       spoilerText: publishSpoilerText.value,
       status: content,
       mediaIds: draftItem.value.attachments.map(a => a.id),
       language: draftItem.value.params.language || preferredLanguage.value,
-      poll,
       ...(isGlitchEdition.value ? { 'content-type': 'text/markdown' } : {}),
     } as mastodon.rest.v1.CreateStatusParams
 
diff --git a/composables/masto/statusDrafts.ts b/composables/masto/statusDrafts.ts
index 5619d3ad2..964449e91 100644
--- a/composables/masto/statusDrafts.ts
+++ b/composables/masto/statusDrafts.ts
@@ -23,7 +23,6 @@ export function getDefaultDraftItem(options: Partial<Mutable<mastodon.rest.v1.Cr
     spoilerText,
     language,
     mentions,
-    poll,
   } = options
 
   return {
@@ -31,7 +30,6 @@ export function getDefaultDraftItem(options: Partial<Mutable<mastodon.rest.v1.Cr
     initialText,
     params: {
       status: status || '',
-      poll,
       inReplyToId,
       sensitive: sensitive ?? false,
       spoilerText: spoilerText || '',
@@ -54,17 +52,7 @@ export async function getDraftFromStatus(status: mastodon.v1.Status): Promise<Dr
 
   return getDefaultDraftItem((status.mediaAttachments !== undefined && status.mediaAttachments.length > 0)
     ? { ...info, mediaIds: status.mediaAttachments.map(att => att.id) }
-    : {
-        ...info,
-        poll: status.poll
-          ? {
-              expiresIn: Math.abs(new Date().getTime() - new Date(status.poll.expiresAt!).getTime()) / 1000,
-              options: [...status.poll.options.map(({ title }) => title), ''],
-              multiple: status.poll.multiple,
-              hideTotals: status.poll.options[0].votesCount === null,
-            }
-          : undefined,
-      })
+    : { ...info })
 }
 
 function getAccountsToMention(status: mastodon.v1.Status) {
diff --git a/composables/push-notifications/usePushManager.ts b/composables/push-notifications/usePushManager.ts
index 82566dbb1..7395bfe58 100644
--- a/composables/push-notifications/usePushManager.ts
+++ b/composables/push-notifications/usePushManager.ts
@@ -43,7 +43,6 @@ export function usePushManager() {
       || current.reblog !== previous.reblog
       || current.mention !== previous.mention
       || current.follow !== previous.follow
-      || current.poll !== previous.poll
       || current.policy !== previous.policy
   })
 
@@ -98,7 +97,6 @@ export function usePushManager() {
           favourite: true,
           reblog: true,
           mention: true,
-          poll: true,
         },
       },
       policy ?? 'all',
@@ -129,7 +127,6 @@ export function usePushManager() {
       reblog: current.reblog,
       mention: current.mention,
       follow: current.follow,
-      poll: current.poll,
       policy: current.policy,
     }
 
@@ -148,7 +145,6 @@ export function usePushManager() {
       reblog: previous.reblog,
       mention: previous.mention,
       follow: previous.follow,
-      poll: previous.poll,
       policy: previous.policy,
     }
     configuredPolicy.value[currentUser.value!.account.acct ?? ''] = previous.policy
@@ -164,7 +160,6 @@ export function usePushManager() {
           favourite: pushNotificationData.value.favourite,
           reblog: pushNotificationData.value.reblog,
           mention: pushNotificationData.value.mention,
-          poll: pushNotificationData.value.poll,
         },
       }
 
@@ -209,7 +204,6 @@ function createRawSettings(
     favourite: pushSubscription?.alerts.favourite ?? true,
     reblog: pushSubscription?.alerts.reblog ?? true,
     mention: pushSubscription?.alerts.mention ?? true,
-    poll: pushSubscription?.alerts.poll ?? true,
     policy: subscriptionPolicy ?? 'all',
   }
 }
diff --git a/locales/ar.json b/locales/ar.json
index 4d0920fbb..ec24b5e80 100644
--- a/locales/ar.json
+++ b/locales/ar.json
@@ -319,18 +319,6 @@
     "reply_to_account": "الرد على {0}",
     "replying": "الرد"
   },
-  "polls": {
-    "allow_multiple": "السماح بالاختيار المتعدد",
-    "cancel": "إلغاء",
-    "create": "إنشاء استطلاع",
-    "disallow_multiple": "عدم السماح بالاختيار المتعدد",
-    "expiration": "انتهاء صلاحية الاستطلاع",
-    "hide_votes": "إخفاء إجمالي الأصوات حتى النهاية",
-    "option_placeholder": "اختيار الاستطلاع {current}/{max}",
-    "remove_option": "إزالة الاختيار",
-    "settings": "خيارات الاستطلاع",
-    "show_votes": "اعرض دائمًا إجمالي الأصوات"
-  },
   "pwa": {
     "dismiss": "تجاهل",
     "install": "تحميل",
@@ -455,7 +443,6 @@
           "favourite": "المفضلة",
           "follow": "متابعين جدد",
           "mention": "المنشورات التي تذكرني",
-          "poll": "استطلاعات الرأي",
           "reblog": "إعادة نشر منشورك",
           "title": "ما هي التنبيهات التي تريد تلقيها؟"
         },
@@ -588,11 +575,6 @@
       "dismiss": "تجاهل",
       "read": "اقرأ وصف {0}"
     },
-    "poll": {
-      "count": "لا توجد اصوات|صوت {0}|صوتين|{0} أصوات|{0} صوت|{0} صوت",
-      "ends": "ينتهي في {0}",
-      "finished": "انتهى في {0}"
-    },
     "replying_to": "الرد على {0}",
     "show_full_thread": "إظهار المحادثة كاملاً",
     "someone": "شخص ما",
@@ -623,7 +605,6 @@
     "notifications_follow_request": "طلب المتابعة",
     "notifications_mention": "موجهة إلي",
     "notifications_more_tooltip": "تصفية الإخطارات حسب النوع",
-    "notifications_poll": "استطلاع",
     "notifications_reblog": "إعادة المدونات",
     "notifications_status": "حالة",
     "notifications_update": "التحديثات",
diff --git a/locales/ca-valencia.json b/locales/ca-valencia.json
index 6e1759f91..b9aab8346 100644
--- a/locales/ca-valencia.json
+++ b/locales/ca-valencia.json
@@ -321,10 +321,6 @@
       "dismiss": "Descarta",
       "read": "Llig la descripció de: {0}"
     },
-    "poll": {
-      "ends": "acaba en {0}",
-      "finished": "finalitzada {0}"
-    },
     "replying_to": "En resposta a {0}",
     "spoiler_show_less": "Mostra'm menys",
     "spoiler_show_more": "Mostra'm més",
diff --git a/locales/ca.json b/locales/ca.json
index eda6a95c7..1bf9116e2 100644
--- a/locales/ca.json
+++ b/locales/ca.json
@@ -357,7 +357,6 @@
           "favourite": "Preferits",
           "follow": "Nous seguidors",
           "mention": "Mencions",
-          "poll": "Enquestes",
           "reblog": "Reblogueu la vostra publicació",
           "title": "Quines notificacions rebre?"
         },
@@ -478,11 +477,6 @@
       "dismiss": "Descartar",
       "read": "Llegeix la descripció de {0}"
     },
-    "poll": {
-      "count": "{0} vots|{0} vot|{0} vots",
-      "ends": "acaba {0}",
-      "finished": "acabat {0}"
-    },
     "replying_to": "Responent a {0}",
     "show_full_thread": "Mostra el fil complet",
     "someone": "algú",
diff --git a/locales/ckb.json b/locales/ckb.json
index fc0ce15f7..1ff94f954 100644
--- a/locales/ckb.json
+++ b/locales/ckb.json
@@ -308,18 +308,6 @@
     "reply_to_account": "وەڵامی {0}",
     "replying": "وەڵامدانەوە"
   },
-  "polls": {
-    "allow_multiple": "ڕێگە بە چەندین هەڵبژاردن بدە",
-    "cancel": "هه‌ڵوه‌شاندنه‌وه",
-    "create": "دروستکردنی ڕاپرسی",
-    "disallow_multiple": "ڕێگەنەدان بە هەڵبژاردنی فرە",
-    "expiration": "بەسەرچوونی ماوەی ڕاپرسی",
-    "hide_votes": "Hide vote totals until the end",
-    "option_placeholder": "هەڵبژاردنی ڕاپرسی {current}/{max}",
-    "remove_option": "هەڵبژاردن لاببە",
-    "settings": "بژاردەکانی ڕاپرسی",
-    "show_votes": "هەمیشە کۆی دەنگەکان پیشان بدە"
-  },
   "pwa": {
     "dismiss": " ڕێپێنەدان",
     "install": "دامەزراندن",
@@ -444,7 +432,6 @@
           "favourite": "دڵخوازەکان",
           "follow": "شوێنکەوتووی نوێ",
           "mention": "ئاماژە",
-          "poll": "دەنگ",
           "reblog": "بابەتەکەت دووبارە بنووسەوە",
           "title": "چ ئاگادارکردنەوەیەک وەربگرین؟"
         },
@@ -571,11 +558,6 @@
       "dismiss": "ڕێپێنەدان",
       "read": "وەسفی {0} بخوێنەوە"
     },
-    "poll": {
-      "count": "{0} دەنگ|{0} دەنگ|{0} دەنگ",
-      "ends": "کۆتایی بە {0} دێت",
-      "finished": "تەواو بوو {0}"
-    },
     "replying_to": "وەڵامدانەوەی {0}",
     "show_full_thread": "تەوەرەی تەواو پیشان بدە",
     "someone": "کەسێک",
diff --git a/locales/cs-CZ.json b/locales/cs-CZ.json
index 915b8d52a..1951689ef 100644
--- a/locales/cs-CZ.json
+++ b/locales/cs-CZ.json
@@ -156,11 +156,6 @@
       "desc": "Popis",
       "dismiss": "Skrýt"
     },
-    "poll": {
-      "count": "{0} hlasů|{0} hlas|{0} hlasů",
-      "ends": "končí {0}",
-      "finished": "ukončeno {0}"
-    },
     "someone": "Někdo",
     "spoiler_show_less": "Skrýt",
     "spoiler_show_more": "Ukázat",
diff --git a/locales/de-DE.json b/locales/de-DE.json
index bcd39675f..afcd70711 100644
--- a/locales/de-DE.json
+++ b/locales/de-DE.json
@@ -348,18 +348,6 @@
     "reply_to_account": "Antwort an {0}",
     "replying": "Antworten"
   },
-  "polls": {
-    "allow_multiple": "Mehrfachauswahl erlauben",
-    "cancel": "Abbrechen",
-    "create": "Umfrage erstellen",
-    "disallow_multiple": "Mehrfachauswahl nicht erlauben",
-    "expiration": "Ablauf der Umfrage",
-    "hide_votes": "Abstimmungsergebnisse bis zum Ende verbergen",
-    "option_placeholder": "Umfrageoption {current}/{max}",
-    "remove_option": "Option entfernen",
-    "settings": "Umfrageoptionen",
-    "show_votes": "Abstimmungsergebnisse immer anzeigen"
-  },
   "pwa": {
     "dismiss": "Ignorieren",
     "install": "Installieren",
@@ -485,7 +473,6 @@
           "favourite": "Favorisierung deiner Beiträge",
           "follow": "Neue Follower",
           "mention": "Erwähnungen",
-          "poll": "Umfragen",
           "reblog": "Teilen deiner Beiträge",
           "title": "Welche Benachrichtigungen erhalten?"
         },
@@ -629,11 +616,6 @@
       "dismiss": "Schließen",
       "read": "{0}-Beschreibung lesen"
     },
-    "poll": {
-      "count": "{0} Stimmen|{0} Stimme|{0} Stimmen",
-      "ends": "Endet: {0}",
-      "finished": "Beendet: {0}"
-    },
     "replying_to": "Antwort auf {0}",
     "show_full_thread": "Vollständigen Thread anzeigen",
     "someone": "jemand",
@@ -660,7 +642,6 @@
     "notifications_follow_request": "Folgeanfrage",
     "notifications_mention": "Erwähnung",
     "notifications_more_tooltip": "Benachrichtigungen nach Typ filtern",
-    "notifications_poll": "Umfrage",
     "notifications_reblog": "Geteilt",
     "notifications_status": "Status",
     "notifications_update": "Bearbeitet",
diff --git a/locales/el-GR.json b/locales/el-GR.json
index 6421e4f0d..69d352a29 100644
--- a/locales/el-GR.json
+++ b/locales/el-GR.json
@@ -344,18 +344,6 @@
     "reply_to_account": "Απάντηση σε {0}",
     "replying": "Απαντάται"
   },
-  "polls": {
-    "allow_multiple": "Επιτρέπεται πολλαπλή επιλογή",
-    "cancel": "Ακύρωση",
-    "create": "Δημιουργία δημοσκόπησης",
-    "disallow_multiple": "Να μην επιτρέπεται πολλαπλή επιλογή",
-    "expiration": "Λήξη δημοσκόπησης",
-    "hide_votes": "Απόκρυψη συνολικών ψήφων μέχρι το τέλος",
-    "option_placeholder": "Επιλογή δημοσκόπησης {current}/{max}",
-    "remove_option": "Αφαίρεση επιλογής",
-    "settings": "Επιλογές δημοσκόπησης",
-    "show_votes": "Εμφάνιση συνολικών ψήφων πάντα"
-  },
   "pwa": {
     "dismiss": "Απόρριψη",
     "install": "Εγκατάσταση",
@@ -480,7 +468,6 @@
           "favourite": "Αγαπημένα",
           "follow": "Νέοι ακόλουθοι",
           "mention": "Αναφορές",
-          "poll": "Δημοσκοπήσεις",
           "reblog": "Ενισχύσεις",
           "title": "Τί ειδοποιήσεις να λαμβάνω;"
         },
@@ -618,11 +605,6 @@
       "dismiss": "Απόρριψη",
       "read": "Ανάγνωση {0} περιγραφής"
     },
-    "poll": {
-      "count": "{0} ψήφοι|{0} ψήφος|{0} ψήφοι",
-      "ends": "μέχρι {0}",
-      "finished": "ολοκληρώθηκε στις {0}"
-    },
     "replying_to": "Απάντηση σε {0}",
     "show_full_thread": "Εμφάνιση Πλήρους Νήματος",
     "someone": "κάποιος",
@@ -653,7 +635,6 @@
     "notifications_follow_request": "Αιτήματα ακολούθησης",
     "notifications_mention": "Αναφορές",
     "notifications_more_tooltip": "Φιλτράρισμα ειδοποιήσεων βάσει τύπου",
-    "notifications_poll": "Δημοσκόπηση",
     "notifications_reblog": "Ενίσχυση",
     "notifications_status": "Κατάσταση",
     "notifications_update": "Ενημέρωση",
diff --git a/locales/en.json b/locales/en.json
index 95c0957e5..87e5b6f12 100644
--- a/locales/en.json
+++ b/locales/en.json
@@ -350,18 +350,6 @@
     "reply_to_account": "Reply to {0}",
     "replying": "Replying"
   },
-  "polls": {
-    "allow_multiple": "Allow multiple choice",
-    "cancel": "Cancel",
-    "create": "Create poll",
-    "disallow_multiple": "Disallow multiple choice",
-    "expiration": "Poll expiration",
-    "hide_votes": "Hide vote totals until the end",
-    "option_placeholder": "Poll choice {current}/{max}",
-    "remove_option": "Remove choice",
-    "settings": "Poll options",
-    "show_votes": "Always show vote totals"
-  },
   "pwa": {
     "dismiss": "Dismiss",
     "install": "Install",
@@ -489,7 +477,6 @@
           "favourite": "Favorites",
           "follow": "New followers",
           "mention": "Mentions",
-          "poll": "Polls",
           "reblog": "Boosts",
           "title": "What notifications to receive?"
         },
@@ -633,11 +620,6 @@
       "dismiss": "Dismiss",
       "read": "Read {0} description"
     },
-    "poll": {
-      "count": "{0} votes|{0} vote|{0} votes",
-      "ends": "ends {0}",
-      "finished": "finished {0}"
-    },
     "replying_to": "Replying to {0}",
     "show_full_thread": "Show Full thread",
     "someone": "someone",
@@ -668,7 +650,6 @@
     "notifications_follow_request": "Follow request",
     "notifications_mention": "Mentions",
     "notifications_more_tooltip": "Filter notifications by type",
-    "notifications_poll": "Poll",
     "notifications_reblog": "Boost",
     "notifications_status": "Status",
     "notifications_update": "Update",
diff --git a/locales/es.json b/locales/es.json
index 0f40760c2..b16496484 100644
--- a/locales/es.json
+++ b/locales/es.json
@@ -350,18 +350,6 @@
     "reply_to_account": "Responder a {0}",
     "replying": "Respondiendo"
   },
-  "polls": {
-    "allow_multiple": "Permitir múltiples opciones",
-    "cancel": "Cancelar",
-    "create": "Crear encuesta",
-    "disallow_multiple": "No permitir múltiples opciones",
-    "expiration": "Caducidad de la encuesta",
-    "hide_votes": "Ocultar el total de votos hasta el final de la encuesta",
-    "option_placeholder": "Opción de encuesta {current}/{max}",
-    "remove_option": "Eliminar opción",
-    "settings": "Opciones de la encuesta",
-    "show_votes": "Mostrar siempre el total de votos"
-  },
   "pwa": {
     "dismiss": "Descartar",
     "install": "Instalar",
@@ -489,7 +477,6 @@
           "favourite": "Favoritas",
           "follow": "Nuevos seguidores",
           "mention": "Menciones",
-          "poll": "Encuestas",
           "reblog": "Retooteo de tus publicaciones",
           "title": "¿Qué notificaciones recibir?"
         },
@@ -633,11 +620,6 @@
       "dismiss": "Descartar",
       "read": "Leer la descripción de la imagen {0}"
     },
-    "poll": {
-      "count": "{0} votos|{0} voto|{0} votos",
-      "ends": "finaliza {0}",
-      "finished": "finalizada {0}"
-    },
     "replying_to": "Respondiendo a {0}",
     "show_full_thread": "Mostrar hilo completo",
     "someone": "alguien",
@@ -668,7 +650,6 @@
     "notifications_follow_request": "Solicitudes de seguimiento",
     "notifications_mention": "Menciones",
     "notifications_more_tooltip": "Filtrar notificaciones por tipo",
-    "notifications_poll": "Encuestas",
     "notifications_reblog": "Retoots",
     "notifications_status": "Publicaciones",
     "notifications_update": "Actualizaciones",
diff --git a/locales/eu-ES.json b/locales/eu-ES.json
index 39c3594b0..342f8a778 100644
--- a/locales/eu-ES.json
+++ b/locales/eu-ES.json
@@ -350,18 +350,6 @@
     "reply_to_account": "Erantzun {0}(r)i",
     "replying": "Erantzuten"
   },
-  "polls": {
-    "allow_multiple": "Baimendu aukera anitzak",
-    "cancel": "Utzi",
-    "create": "Sortu bozketa",
-    "disallow_multiple": "Ezgaitu aukera anitzak",
-    "expiration": "Bozketaren epemuga",
-    "hide_votes": "Ezkutatu emaitza bozketa amaitu arte",
-    "option_placeholder": "{current}. aukera (gehienez {max})",
-    "remove_option": "Kendu aukera",
-    "settings": "Bozketaren ezarpenak",
-    "show_votes": "Erakutsi uneoro bozketaren emaitza"
-  },
   "pwa": {
     "dismiss": "Baztertu",
     "install": "Instalatu",
@@ -489,7 +477,6 @@
           "favourite": "Gogokoak",
           "follow": "Jarraitzaile berriak",
           "mention": "Aipamenak",
-          "poll": "Bozketak",
           "reblog": "Zure bidalketen bultzadak",
           "title": "Zer jakinarazpen jaso nahi duzu?"
         },
@@ -633,11 +620,6 @@
       "dismiss": "Baztertu",
       "read": "Irakurri {0} deskribapena"
     },
-    "poll": {
-      "count": "{0} boto|boto {0}|{0} boto",
-      "ends": "epemuga: {0}",
-      "finished": "amaiera: {0}"
-    },
     "replying_to": "{0}(r)i erantzunez",
     "show_full_thread": "Erakutsi hari osoa",
     "someone": "norbait",
@@ -668,7 +650,6 @@
     "notifications_follow_request": "Jarraipen-eskaerak",
     "notifications_mention": "Aipamenak",
     "notifications_more_tooltip": "Iragazi jakinarazpenak motaren arabera",
-    "notifications_poll": "Bozketak",
     "notifications_reblog": "Bultzadak",
     "notifications_status": "Egoerak",
     "notifications_update": "Eguneraketak",
diff --git a/locales/fa-IR.json b/locales/fa-IR.json
index fb2042c06..1ab00e28b 100644
--- a/locales/fa-IR.json
+++ b/locales/fa-IR.json
@@ -315,18 +315,6 @@
     "reply_to_account": "پاسخ به {0}",
     "replying": "در حال پاسخ دادن"
   },
-  "polls": {
-    "allow_multiple": "امکان انتخاب چندگزینه‌ای",
-    "cancel": "لغو",
-    "create": "ایجاد نظرسنجی",
-    "disallow_multiple": "عدم امکان انتخاب چندگزینه‌ای",
-    "expiration": "انقضای نظرسنجی",
-    "hide_votes": "مخفی کردن تعداد آرا تا پایان",
-    "option_placeholder": "گزینه نظرسنجی {current}/{max}",
-    "remove_option": "حذف گزینه",
-    "settings": "تنظیمات نظرسنجی",
-    "show_votes": "نمایش دائمی تعداد آرا"
-  },
   "pwa": {
     "dismiss": "رد کردن",
     "install": "نصب کردن",
@@ -451,7 +439,6 @@
           "favourite": "مورد علاقه‌ها",
           "follow": "دنبال‌کنندگان جدید",
           "mention": "اشاره‌ها",
-          "poll": "نظرسنجی‌ها",
           "reblog": "انتشارات",
           "title": "کدام اعلان‌ها را دریافت کنیم؟"
         },
@@ -587,11 +574,6 @@
       "dismiss": "رد کردن",
       "read": "خواندن توصیف {0}"
     },
-    "poll": {
-      "count": "{0} رای|{0} رای|{0} رای",
-      "ends": "پایان {0}",
-      "finished": "به پایان رسید {0}"
-    },
     "replying_to": "در پاسخ به {0}",
     "show_full_thread": "نمایش کامل رشته",
     "someone": "یک نفر",
@@ -622,7 +604,6 @@
     "notifications_follow_request": "درخواست دنبال کردن",
     "notifications_mention": "اشاره",
     "notifications_more_tooltip": "نوع اعلان‌ها را بر اساس نوع فیلتر کنید",
-    "notifications_poll": "نظرسنجی",
     "notifications_reblog": "بازنشر",
     "notifications_status": "وضعیت",
     "notifications_update": "بروزرسانی",
diff --git a/locales/fi.json b/locales/fi.json
index 31343e9f8..5cc8dba16 100644
--- a/locales/fi.json
+++ b/locales/fi.json
@@ -350,18 +350,6 @@
     "reply_to_account": "Vastaus käyttäjälle {0}",
     "replying": "Vastaus"
   },
-  "polls": {
-    "allow_multiple": "Salli monen valinta",
-    "cancel": "Peruuta",
-    "create": "Luo äänestys",
-    "disallow_multiple": "Estä monen valinta",
-    "expiration": "Äänestyksen päättyminen",
-    "hide_votes": "Piilota äänestystulokset vastausaikana",
-    "option_placeholder": "Vastausvaihtoehto {current}/{max}",
-    "remove_option": "Poista vaihtoehto",
-    "settings": "Äänestyksen asetukset",
-    "show_votes": "Näytä äänestystulokset koko ajan"
-  },
   "pwa": {
     "dismiss": "Hylkää",
     "install": "Asenna",
@@ -489,7 +477,6 @@
           "favourite": "Suosikit",
           "follow": "Uudet seuraajat",
           "mention": "Maininnat",
-          "poll": "Äänestykset",
           "reblog": "Tehostukset",
           "title": "Mitä ilmoituksia haluat saada?"
         },
@@ -633,11 +620,6 @@
       "dismiss": "Sulje",
       "read": "Lue {0}n kuvaus"
     },
-    "poll": {
-      "count": "{0} ääntä|{0} ääni|{0} ääntä",
-      "ends": "päättyy {0}",
-      "finished": "päättyi {0}"
-    },
     "replying_to": "Vastaa käyttäjälle {0}",
     "show_full_thread": "Näytä koko ketju",
     "someone": "jollekulle",
@@ -668,7 +650,6 @@
     "notifications_follow_request": "Seuraamispyyntö",
     "notifications_mention": "Maininnat",
     "notifications_more_tooltip": "Suodata ilmoitustyypin perusteella",
-    "notifications_poll": "Äänestys",
     "notifications_reblog": "Tehostus",
     "notifications_status": "Tila",
     "notifications_update": "Päivitys",
diff --git a/locales/fr-FR.json b/locales/fr-FR.json
index 5a1e29927..090f4d579 100644
--- a/locales/fr-FR.json
+++ b/locales/fr-FR.json
@@ -313,18 +313,6 @@
     "reply_to_account": "Répondre à {0}",
     "replying": "Répondre"
   },
-  "polls": {
-    "allow_multiple": "Autoriser plusieurs choix",
-    "cancel": "Annuler",
-    "create": "Créer un sondage",
-    "disallow_multiple": "Désactiver le choix multiple",
-    "expiration": "Expiration du sondage",
-    "hide_votes": "Masquer le total des votes jusqu'à la fin",
-    "option_placeholder": "Option du sondage {current}/{max}",
-    "remove_option": "Retirer l'option",
-    "settings": "Options du sondage",
-    "show_votes": "Toujours montrer le total des votes"
-  },
   "pwa": {
     "dismiss": "Fermer",
     "install": "Installer",
@@ -449,7 +437,6 @@
           "favourite": "Messages aimés",
           "follow": "Nouveaux abonnés",
           "mention": "Mentions",
-          "poll": "Sondages",
           "reblog": "Messages partagés",
           "title": "Quelles notifications recevoir ?"
         },
@@ -582,11 +569,6 @@
       "dismiss": "Fermer",
       "read": "Lire la description de {0}"
     },
-    "poll": {
-      "count": "{0} votes",
-      "ends": "se clôt {0}",
-      "finished": "clos {0}"
-    },
     "replying_to": "Répondre à {0}",
     "show_full_thread": "Voir le fil de discussion complet",
     "someone": "quelqu'un",
@@ -617,7 +599,6 @@
     "notifications_follow_request": "Demande de suivi",
     "notifications_mention": "Mentions",
     "notifications_more_tooltip": "Filtrer les notifications par type",
-    "notifications_poll": "Sondage",
     "notifications_reblog": "Partager",
     "notifications_status": "Statut",
     "notifications_update": "Mise à jour",
diff --git a/locales/gl-ES.json b/locales/gl-ES.json
index e68604259..cb43e7589 100644
--- a/locales/gl-ES.json
+++ b/locales/gl-ES.json
@@ -319,18 +319,6 @@
     "reply_to_account": "Responder a {0}",
     "replying": "Responde aquí"
   },
-  "polls": {
-    "allow_multiple": "Permitir selección múltiple",
-    "cancel": "Desbotar",
-    "create": "Crear enquisa",
-    "disallow_multiple": "Desactivar selección múltiple",
-    "expiration": "Caducidade da enquisa",
-    "hide_votes": "Agochar resultados ata o remate",
-    "option_placeholder": "Número de opcións {current}/{max}",
-    "remove_option": "Retirar opción",
-    "settings": "Opcións da enquisa",
-    "show_votes": "Mostrar sempre o total de votos"
-  },
   "pwa": {
     "dismiss": "Desbotar",
     "install": "Instalar",
@@ -455,7 +443,6 @@
           "favourite": "Favoritas",
           "follow": "Novas seguidoras",
           "mention": "Mencións",
-          "poll": "Enquisas",
           "reblog": "Promoción recibida",
           "title": "Que notificacións queres recibir?"
         },
@@ -591,11 +578,6 @@
       "dismiss": "Desbotar",
       "read": "Ler a descrición de {0}"
     },
-    "poll": {
-      "count": "{0} votos|{0} voto|{0} votos",
-      "ends": "remata en {0}",
-      "finished": "rematou o {0}"
-    },
     "replying_to": "En resposta a {0}",
     "show_full_thread": "Mostrar conversa completa",
     "someone": "alguén",
@@ -626,7 +608,6 @@
     "notifications_follow_request": "Solicitude de seguimento",
     "notifications_mention": "Mención",
     "notifications_more_tooltip": "Filtrar notificacións por tipo",
-    "notifications_poll": "Enquisa",
     "notifications_reblog": "Promoción",
     "notifications_status": "Estado",
     "notifications_update": "Actualización",
diff --git a/locales/hu-HU.json b/locales/hu-HU.json
index 121892405..99ce617ad 100644
--- a/locales/hu-HU.json
+++ b/locales/hu-HU.json
@@ -350,18 +350,6 @@
     "reply_to_account": "Válasz erre {0}",
     "replying": "Válaszol"
   },
-  "polls": {
-    "allow_multiple": "Több választás megengedése",
-    "cancel": "Mégsem",
-    "create": "Szavazás készítése",
-    "disallow_multiple": "Több válasz tiltása",
-    "expiration": "Szavazás ideje",
-    "hide_votes": "Összes szavazat elrejtése a szavazás végéig",
-    "option_placeholder": "Szavazás választás {current}/{max}",
-    "remove_option": "Választás eltávolítása",
-    "settings": "Szavazás beállítások",
-    "show_votes": "Összes szavazat mutatása"
-  },
   "pwa": {
     "dismiss": "Elvetés",
     "install": "Telepítés",
@@ -489,7 +477,6 @@
           "favourite": "Kedvencek",
           "follow": "Új követők",
           "mention": "megjegyzések",
-          "poll": "Szavazások",
           "reblog": "Kiemelések",
           "title": "Milyen értesítéseket kapj?"
         },
@@ -633,11 +620,6 @@
       "dismiss": "Elvetés",
       "read": "Olvassa el a {0} leírását"
     },
-    "poll": {
-      "count": "{0} szavazat|{0} szavazat|{0} szavazat",
-      "ends": "véget ér {0}",
-      "finished": "véget ért {0}"
-    },
     "replying_to": "Válasz {0}-nak",
     "show_full_thread": "Teljes szál megjelenítése",
     "someone": "valaki",
@@ -668,7 +650,6 @@
     "notifications_follow_request": "Követés kérése",
     "notifications_mention": "Említések",
     "notifications_more_tooltip": "Az értesítések szűrése tipus szerint",
-    "notifications_poll": "Szavazás",
     "notifications_reblog": "Kiemelés",
     "notifications_status": "Státusz",
     "notifications_update": "Frissítés",
diff --git a/locales/id-ID.json b/locales/id-ID.json
index d09f59646..b5af6528f 100644
--- a/locales/id-ID.json
+++ b/locales/id-ID.json
@@ -319,18 +319,6 @@
     "reply_to_account": "Balas ke {0}",
     "replying": "Membalas"
   },
-  "polls": {
-    "allow_multiple": "Izinkan pilihan ganda",
-    "cancel": "Batalkan",
-    "create": "Buat jajak pendapat",
-    "disallow_multiple": "Larang pilihan ganda",
-    "expiration": "Kedaluwarsa jajak pendapat",
-    "hide_votes": "Sembunyikan total suara hingga akhir",
-    "option_placeholder": "Pilihan jajak pendapat {current}/{max}",
-    "remove_option": "Hapus pilihan",
-    "settings": "Opsi jajak pendapat",
-    "show_votes": "Selalu tampilkan total suara"
-  },
   "pwa": {
     "dismiss": "Batalkan",
     "install": "Instal",
@@ -455,7 +443,6 @@
           "favourite": "Favorit",
           "follow": "Pengikut baru",
           "mention": "Sebutan",
-          "poll": "Polling",
           "reblog": "Reblog posting Anda",
           "title": "Pemberitahuan apa yang harus diterima?"
         },
@@ -591,11 +578,6 @@
       "dismiss": "Batalkan",
       "read": "Baca deskripsi {0}"
     },
-    "poll": {
-      "count": "{0} suara|{0} suara|{0} suara",
-      "ends": "berakhir {0}",
-      "finished": "selesai {0}"
-    },
     "replying_to": "Membalas ke {0}",
     "show_full_thread": "Tampilkan utas Penuh",
     "someone": "seseorang",
@@ -626,7 +608,6 @@
     "notifications_follow_request": "Permintaan mengikuti",
     "notifications_mention": "Penyebutan",
     "notifications_more_tooltip": "Filter pemberitahuan berdasarkan jenis",
-    "notifications_poll": "Polling",
     "notifications_reblog": "Menggiatkan",
     "notifications_status": "Status",
     "notifications_update": "Pembaruan",
diff --git a/locales/it-IT.json b/locales/it-IT.json
index 44710b62e..377d076c0 100644
--- a/locales/it-IT.json
+++ b/locales/it-IT.json
@@ -350,18 +350,6 @@
     "reply_to_account": "Rispondi a {0}",
     "replying": "Rispondi"
   },
-  "polls": {
-    "allow_multiple": "Consenti risposte multiple",
-    "cancel": "Annulla",
-    "create": "Crea sondaggio",
-    "disallow_multiple": "Vieta risposte multiple",
-    "expiration": "Scadenza sondaggio",
-    "hide_votes": "Nascondi conteggio totale fino alla scadenza",
-    "option_placeholder": "Scelta sondaggio {current}/{max}",
-    "remove_option": "Rimuovi scelta",
-    "settings": "Opzioni sondaggio",
-    "show_votes": "Mostra sempre conteggi totali"
-  },
   "pwa": {
     "dismiss": "Ignora",
     "install": "Installa",
@@ -489,7 +477,6 @@
           "favourite": "Apprezzamenti",
           "follow": "Nuovi seguaci",
           "mention": "Menzioni",
-          "poll": "Risultati dei sondaggi",
           "reblog": "Potenziamenti",
           "title": "Quali notifiche vuoi ricevere?"
         },
@@ -633,11 +620,6 @@
       "dismiss": "Ignora",
       "read": "Leggi descrizione {0}"
     },
-    "poll": {
-      "count": "{0} voti|{0} voto|{0} voti",
-      "ends": "termina {0}",
-      "finished": "terminato {0}"
-    },
     "replying_to": "In risposta a {0}",
     "show_full_thread": "Mostra discussione",
     "someone": "qualcuno",
@@ -668,7 +650,6 @@
     "notifications_follow_request": "Richiesta di seguire",
     "notifications_mention": "Menzioni",
     "notifications_more_tooltip": "Filtra notifiche per tipo",
-    "notifications_poll": "Sondaggio",
     "notifications_reblog": "Potenziamento",
     "notifications_status": "Stato",
     "notifications_update": "Aggiornamento",
diff --git a/locales/ja-JP.json b/locales/ja-JP.json
index 38f9749d6..f44207f52 100644
--- a/locales/ja-JP.json
+++ b/locales/ja-JP.json
@@ -315,18 +315,6 @@
     "reply_to_account": "{0}さんに返信",
     "replying": "返信する"
   },
-  "polls": {
-    "allow_multiple": "複数の選択肢を許可する",
-    "cancel": "キャンセル",
-    "create": "投票を追加",
-    "disallow_multiple": "複数の選択肢を許可しない",
-    "expiration": "投票の期限",
-    "hide_votes": "終了まで投票数の合計を隠す",
-    "option_placeholder": "投票の選択肢 {current}/{max}",
-    "remove_option": "選択肢を削除する",
-    "settings": "投票オプション",
-    "show_votes": "常に投票数の合計を表示する"
-  },
   "pwa": {
     "dismiss": "閉じる",
     "install": "インストール",
@@ -451,7 +439,6 @@
           "favourite": "お気に入り",
           "follow": "新しいフォロワー",
           "mention": "メンション",
-          "poll": "投票",
           "reblog": "投稿のリブログ",
           "title": "受け取りたい通知を選択してください"
         },
@@ -585,11 +572,6 @@
       "dismiss": "閉じる",
       "read": "{0} の説明文を読む"
     },
-    "poll": {
-      "count": "{0} 票",
-      "ends": "{0}に終了",
-      "finished": "{0}に完了"
-    },
     "replying_to": "{0}さんへの返信",
     "show_full_thread": "スレッド全体を表示",
     "someone": "誰か",
@@ -620,7 +602,6 @@
     "notifications_follow_request": "フォローリクエスト",
     "notifications_mention": "メンション",
     "notifications_more_tooltip": "通知を種類別にフィルタする",
-    "notifications_poll": "投稿",
     "notifications_reblog": "ブースト",
     "notifications_status": "ステータス",
     "notifications_update": "更新",
diff --git a/locales/ko-KR.json b/locales/ko-KR.json
index 48c7c0f69..9628a7428 100644
--- a/locales/ko-KR.json
+++ b/locales/ko-KR.json
@@ -257,18 +257,6 @@
     "reply_to_account": "{0}에게 답글",
     "replying": "답글"
   },
-  "polls": {
-    "allow_multiple": "복수 투표 허용",
-    "cancel": "취소",
-    "create": "투표 만들기",
-    "disallow_multiple": "복수 투표 불허",
-    "expiration": "투표 종료 시점",
-    "hide_votes": "투표가 끝날때 까지 총 득표수 숨기기",
-    "option_placeholder": "투표 선택지 {current}/{max}",
-    "remove_option": "선택지 지우기",
-    "settings": "투표 설정",
-    "show_votes": "항상 총 득표수 보이기"
-  },
   "pwa": {
     "dismiss": "설치하지 않기",
     "install": "설치",
@@ -353,7 +341,6 @@
           "favourite": "좋아요",
           "follow": "새로운 팔로워",
           "mention": "멘션",
-          "poll": "투표",
           "reblog": "리블로그",
           "title": "어느 알림을 받을까요?"
         },
@@ -449,11 +436,6 @@
       "dismiss": "닫기",
       "read": "{0} 설명 읽기"
     },
-    "poll": {
-      "count": "{0}투표|{0}투표|{0}투표",
-      "ends": "{0} 후 마감",
-      "finished": "{0} 마감됨"
-    },
     "replying_to": "{0} 님에게 답글을 달았습니다",
     "show_full_thread": "스레드 전체보기",
     "someone": "누군가",
diff --git a/locales/nl-NL.json b/locales/nl-NL.json
index 71322abbf..807232e0a 100644
--- a/locales/nl-NL.json
+++ b/locales/nl-NL.json
@@ -229,7 +229,6 @@
           "favourite": "Favorieten",
           "follow": "Nieuwe volgers",
           "mention": " Vermeldingen",
-          "poll": "Peilingen",
           "reblog": "Herblogt jou post",
           "title": "Welke notificaties wil je krijgen?"
         },
@@ -308,11 +307,6 @@
       "desc": "Omschrijving",
       "dismiss": "Afwijzen"
     },
-    "poll": {
-      "count": "{0} stemmen|{0} stem|{0} stemmen",
-      "ends": "eindigt {0}",
-      "finished": "geëindigd {0}"
-    },
     "someone": "Iemand",
     "spoiler_show_less": "Minder zien",
     "spoiler_show_more": "Meer zien",
diff --git a/locales/pl-PL.json b/locales/pl-PL.json
index e0f262839..d85d24680 100644
--- a/locales/pl-PL.json
+++ b/locales/pl-PL.json
@@ -389,7 +389,6 @@
           "favourite": "Ulubione",
           "follow": "Nowy obserwujący",
           "mention": "Wzmianki",
-          "poll": "Ankiety",
           "reblog": "Udostępniono Twój wpis",
           "title": "Jakie powiadomienia chcesz otrzymywać?"
         },
@@ -517,11 +516,6 @@
       "dismiss": "Zamknij",
       "read": "Przeczytaj opis {0}"
     },
-    "poll": {
-      "count": "{0} głosów|{0} głos|{0} głosy|{0} głosów",
-      "ends": "kończy się {0}",
-      "finished": "ukończone {0}"
-    },
     "replying_to": "W odpowiedzi do {0}",
     "show_full_thread": "Pokaż cały wątek",
     "someone": "ktoś",
diff --git a/locales/pt-BR.json b/locales/pt-BR.json
index a71929c11..fb34cf4de 100644
--- a/locales/pt-BR.json
+++ b/locales/pt-BR.json
@@ -208,7 +208,6 @@
       },
       "push_notifications": {
         "alerts": {
-          "poll": "Enquetes",
           "reblog": "Compartilhamentos",
           "title": "Quais notificações quero receber?"
         },
diff --git a/locales/pt.json b/locales/pt.json
index 9ae110ed8..bd0494f30 100644
--- a/locales/pt.json
+++ b/locales/pt.json
@@ -350,18 +350,6 @@
     "reply_to_account": "Responder a {0}",
     "replying": "Respondendo"
   },
-  "polls": {
-    "allow_multiple": "Permitir múltiplas escolhas",
-    "cancel": "Cancelar",
-    "create": "Criar sondagem",
-    "disallow_multiple": "Não permitir múltiplas escolhas",
-    "expiration": "Validade da sondagem",
-    "hide_votes": "Esconder o total de votos até ao término da sondagem",
-    "option_placeholder": "Opção da sondagem {current}/{max}",
-    "remove_option": "Remover opção",
-    "settings": "Opções da sondagem",
-    "show_votes": "Mostrar sempre o total de votos"
-  },
   "pwa": {
     "dismiss": "Dispensar",
     "install": "Instalar",
@@ -489,7 +477,6 @@
           "favourite": "Favoritos",
           "follow": "Novos seguidores",
           "mention": "Menções",
-          "poll": "Votações",
           "reblog": "Partilha das sua publicação",
           "title": "Que notificações quer receber?"
         },
@@ -633,11 +620,6 @@
       "dismiss": "Dispensar",
       "read": "Ler descrição de {0}"
     },
-    "poll": {
-      "count": "{0} votos|{0} voto|{0} votos",
-      "ends": "termina {0}",
-      "finished": "terminou {0}"
-    },
     "replying_to": "Em resposta a {0}",
     "show_full_thread": "Mostrar toda a conversa",
     "someone": "alguém",
@@ -668,7 +650,6 @@
     "notifications_follow_request": "Pedidos para seguir",
     "notifications_mention": "Menções",
     "notifications_more_tooltip": "Filtra notificações por tipo",
-    "notifications_poll": "Sondagens",
     "notifications_reblog": "Partilhas",
     "notifications_status": "Publicações",
     "notifications_update": "Atualizações",
diff --git a/locales/ru-RU.json b/locales/ru-RU.json
index 89e7f195d..f1fb1cb11 100644
--- a/locales/ru-RU.json
+++ b/locales/ru-RU.json
@@ -310,18 +310,6 @@
     "reply_to_account": "Ответить {0}",
     "replying": "Написать в ответ"
   },
-  "polls": {
-    "allow_multiple": "Включить выбор нескольких ответов",
-    "cancel": "Отмена",
-    "create": "Создать опрос",
-    "disallow_multiple": "Выключить выбор нескольких ответов",
-    "expiration": "Окончание опроса",
-    "hide_votes": "Скрыть количество голосов до конца опроса",
-    "option_placeholder": "Вариант ответа {current}/{max}",
-    "remove_option": "Удалить вариант ответа",
-    "settings": "Настройки опроса",
-    "show_votes": "Показать количество голосов"
-  },
   "pwa": {
     "dismiss": "Отклонить",
     "install": "Установить",
@@ -445,7 +433,6 @@
           "favourite": "Добавление в избранное",
           "follow": "Новые читатели",
           "mention": "Упоминания",
-          "poll": "Опросы",
           "reblog": "Репосты",
           "title": "Какие уведомления получать?"
         },
@@ -574,11 +561,6 @@
       "dismiss": "Закрыть",
       "read": "Прочитать описание {0}"
     },
-    "poll": {
-      "count": "{0} голос|{0} голоса|{0} голосов|{0} голосов",
-      "ends": "Завершается {0}",
-      "finished": "Завершен {0}"
-    },
     "replying_to": "Ответ на пост {0}",
     "show_full_thread": "Показать весь тред",
     "someone": "кого-то",
diff --git a/locales/th-TH.json b/locales/th-TH.json
index 6c52f8054..d773a2fe4 100644
--- a/locales/th-TH.json
+++ b/locales/th-TH.json
@@ -307,18 +307,6 @@
     "reply_to_account": "ตอบ {0}",
     "replying": "กำลังชอบ"
   },
-  "polls": {
-    "allow_multiple": "อนุญาตหลายตัวเลือก",
-    "cancel": "ยกเลิก",
-    "create": "สร้างโพล",
-    "disallow_multiple": "ไม่อนุญาตให้มีหลายตัวเลือก",
-    "expiration": "ตั้งเวลาสิ้นสุดโพล",
-    "hide_votes": "ซ่อนคะแนนทั้งหมดจนกว่าจะสิ้นสุด",
-    "option_placeholder": "ตัวเลือกโพล",
-    "remove_option": "ลบตัวเลือก",
-    "settings": "ตั้งค่าโพล",
-    "show_votes": "แสดงผลรวมคะแนนทุกครั้ง"
-  },
   "pwa": {
     "dismiss": "ยกเลิก",
     "install": "ติดตั้ง",
@@ -402,7 +390,6 @@
           "favourite": "Favorites",
           "follow": "New followers",
           "mention": "Mentions",
-          "poll": "Polls",
           "reblog": "Reblog your post",
           "title": "What notifications to receive?"
         },
@@ -531,11 +518,6 @@
       "dismiss": "ยกเลิก",
       "read": "อ่าน {0} คำอธิบาย"
     },
-    "poll": {
-      "count": "{0} โหวต|{0} โหวต|{0} โหวต",
-      "ends": "จบ {0}",
-      "finished": "สิ้นสุด {0}"
-    },
     "replying_to": "ตอบกลับ {0}",
     "show_full_thread": "แสดงเธรดเต็ม",
     "someone": "บางคน",
diff --git a/locales/tl-PH.json b/locales/tl-PH.json
index f77d53b1b..970c7b440 100644
--- a/locales/tl-PH.json
+++ b/locales/tl-PH.json
@@ -343,18 +343,6 @@
     "reply_to_account": "Sagot kay {0}",
     "replying": "Sumasagot"
   },
-  "polls": {
-    "allow_multiple": "Payagan ang maramihang pagboto",
-    "cancel": "Kanselahin",
-    "create": "Likhain ang poll",
-    "disallow_multiple": "Huwag payagan ang maramihang pagboto",
-    "expiration": "Katapusan ng pagboto",
-    "hide_votes": "Itago ang bilang ng mga boto hanggang sa katapusan",
-    "option_placeholder": "Poll choice {current}/{max}",
-    "remove_option": "Remove choice",
-    "settings": "Poll options",
-    "show_votes": "Always show vote totals"
-  },
   "pwa": {
     "dismiss": "I-dismiss",
     "install": "I-install",
@@ -479,7 +467,6 @@
           "favourite": "Mga Paborito",
           "follow": "Mga Bagong Tagasunod",
           "mention": "Mga Tugon",
-          "poll": "Mga Poll",
           "reblog": "Mga Reblog ng iyong Post",
           "title": "Anong mga abiso ang nais mong matanggap?"
         },
@@ -616,11 +603,6 @@
       "dismiss": "I-dismiss",
       "read": "Basahin ang {0} paglalarawan"
     },
-    "poll": {
-      "count": "{0} boto|{0} boto|{0} mga boto",
-      "ends": "magtatapos {0}",
-      "finished": "natapos {0}"
-    },
     "replying_to": "Sumasagot kay {0}",
     "show_full_thread": "Ipakita ang buong thread",
     "someone": "isa",
@@ -651,7 +633,6 @@
     "notifications_follow_request": "Mga Hiling ng Pagsunod",
     "notifications_mention": "Mga Tugon",
     "notifications_more_tooltip": "I-filter ang mga notification ayon sa uri",
-    "notifications_poll": "Mga Poll",
     "notifications_reblog": "Mga Boost",
     "notifications_status": "Mga Sinusundang Status",
     "notifications_update": "Mga Update",
diff --git a/locales/tr-TR.json b/locales/tr-TR.json
index da1848e89..cbd1119d5 100644
--- a/locales/tr-TR.json
+++ b/locales/tr-TR.json
@@ -390,7 +390,6 @@
           "favourite": "Favoriler",
           "follow": "Yeni takipçiler",
           "mention": "Bahsetmeler",
-          "poll": "Anketler",
           "reblog": "Gönderinizi yeniden bloglamalar",
           "title": "Hangi bildirimleri alacaksınız??"
         },
@@ -519,11 +518,6 @@
       "dismiss": "Görmezden gel",
       "read": "{0} açıklamasını oku"
     },
-    "poll": {
-      "count": "{0} oy",
-      "ends": "{0} biter",
-      "finished": "{0} bitti"
-    },
     "replying_to": "{0} cevap veriliyor",
     "show_full_thread": "Tüm konuyu göster",
     "someone": "biri",
diff --git a/locales/uk-UA.json b/locales/uk-UA.json
index 9b8ec2ff3..a6938ac73 100644
--- a/locales/uk-UA.json
+++ b/locales/uk-UA.json
@@ -346,18 +346,6 @@
     "reply_to_account": "Відповісти до {0}",
     "replying": "Відповiдь"
   },
-  "polls": {
-    "allow_multiple": "Дозволяти чисельний вибір",
-    "cancel": "Скасувати",
-    "create": "Створити опит",
-    "disallow_multiple": "Не дозволяти чисельний вибір",
-    "expiration": "Завершення опиту",
-    "hide_votes": "Сховати кількість голосів до завершення",
-    "option_placeholder": "Вибір опиту {current}/{max}",
-    "remove_option": "Вилучити вибір",
-    "settings": "Опції опиту",
-    "show_votes": "Завжди показувати кількість голосів"
-  },
   "pwa": {
     "dismiss": "Закрити",
     "install": "Встановити",
@@ -484,7 +472,6 @@
           "favourite": "Уподобання",
           "follow": "Нові підписники",
           "mention": "Згадки",
-          "poll": "Опит",
           "reblog": "Поширення",
           "title": "Які сповіщення отримувати?"
         },
@@ -627,11 +614,6 @@
       "dismiss": "Закрити",
       "read": "Читати {0} опис"
     },
-    "poll": {
-      "count": "{0} голосів|{0} голос|{0} голоси|{0} голосів",
-      "ends": "завершується {0}",
-      "finished": "зевершилось {0}"
-    },
     "replying_to": "Відповідь до {0}",
     "show_full_thread": "Показати ряд дописів",
     "someone": "когось",
@@ -662,7 +644,6 @@
     "notifications_follow_request": "Запит підписки",
     "notifications_mention": "Згадки",
     "notifications_more_tooltip": "Фільтрувати сповіщення за типом",
-    "notifications_poll": "Опити",
     "notifications_reblog": "Поширення",
     "notifications_status": "Статуси",
     "notifications_update": "Оновлення",
diff --git a/locales/vi-VN.json b/locales/vi-VN.json
index 8d7492b4d..7d4b589b2 100644
--- a/locales/vi-VN.json
+++ b/locales/vi-VN.json
@@ -350,18 +350,6 @@
     "reply_to_account": "Trả lời đến {0}",
     "replying": "Trả lời"
   },
-  "polls": {
-    "allow_multiple": "Cho phép chọn nhiều lựa chọn",
-    "cancel": "Hủy bỏ",
-    "create": "Tạo bình chọn",
-    "disallow_multiple": "Chỉ chọn một lựa chọn",
-    "expiration": "Hết hạn",
-    "hide_votes": "Ẩn số lượt bình chọn đến khi hết hạn",
-    "option_placeholder": "Lựa chọn {current}/{max}",
-    "remove_option": "Xóa lựa chọn",
-    "settings": "Tùy chọn",
-    "show_votes": "Hiện số lượt bình chọn"
-  },
   "pwa": {
     "dismiss": "Bỏ qua",
     "install": "Cài đặt",
@@ -489,7 +477,6 @@
           "favourite": "Lượt thích",
           "follow": "Người theo dõi",
           "mention": "Lượt nhắc",
-          "poll": "Cuộc bình chọn",
           "reblog": "Lượt đăng lại",
           "title": "Bạn muốn nhận những kiểu thông báo nào?"
         },
@@ -633,11 +620,6 @@
       "dismiss": "Bỏ qua",
       "read": "Đọc {0} mô tả"
     },
-    "poll": {
-      "count": "{0} bình chọn|{0} bình chọn|{0} bình chọn",
-      "ends": "đóng {0}",
-      "finished": "kết thúc {0}"
-    },
     "replying_to": "Trả lời {0}",
     "show_full_thread": "Chuỗi tút liên quan",
     "someone": "ai đó",
@@ -668,7 +650,6 @@
     "notifications_follow_request": "Yêu cầu theo dõi",
     "notifications_mention": "Lượt nhắc",
     "notifications_more_tooltip": "Lọc loại thông báo",
-    "notifications_poll": "Bình chọn",
     "notifications_reblog": "Đăng lại",
     "notifications_status": "Tút mới",
     "notifications_update": "Sửa tút",
diff --git a/locales/zh-CN.json b/locales/zh-CN.json
index 113d6b947..b929153a1 100644
--- a/locales/zh-CN.json
+++ b/locales/zh-CN.json
@@ -350,18 +350,6 @@
     "reply_to_account": "回复 {0}",
     "replying": "回复"
   },
-  "polls": {
-    "allow_multiple": "允许多选",
-    "cancel": "取消",
-    "create": "新建投票",
-    "disallow_multiple": "禁止多选",
-    "expiration": "投票截止至",
-    "hide_votes": "结束前隐藏投票总数",
-    "option_placeholder": "投票项 {current}/{max}",
-    "remove_option": "移除投票项",
-    "settings": "投票设置",
-    "show_votes": "始终显示投票结果"
-  },
   "pwa": {
     "dismiss": "忽略",
     "install": "安装",
@@ -489,7 +477,6 @@
           "favourite": "喜欢的",
           "follow": "新的关注者",
           "mention": "提及",
-          "poll": "投票",
           "reblog": "转发了你的帖文",
           "title": "接收了什么通知?"
         },
@@ -633,11 +620,6 @@
       "dismiss": "关闭",
       "read": "查看 {0} 的描述"
     },
-    "poll": {
-      "count": "{0} 次投票",
-      "ends": "将在 {0} 结束",
-      "finished": "已在 {0} 结束"
-    },
     "replying_to": "回复{0}",
     "show_full_thread": "显示完整贴文串",
     "someone": "某人",
@@ -668,7 +650,6 @@
     "notifications_follow_request": "请求关注",
     "notifications_mention": "提及",
     "notifications_more_tooltip": "按类型筛选通知",
-    "notifications_poll": "投票",
     "notifications_reblog": "转发",
     "notifications_status": "状态",
     "notifications_update": "更新",
diff --git a/locales/zh-TW.json b/locales/zh-TW.json
index 8e3e006b8..b2e685d9a 100644
--- a/locales/zh-TW.json
+++ b/locales/zh-TW.json
@@ -350,7 +350,6 @@
           "favourite": "喜歡的",
           "follow": "新的粉絲",
           "mention": "提及",
-          "poll": "投票",
           "reblog": "轉發了你的貼文",
           "title": "接收了什麼通知?"
         },
@@ -465,11 +464,6 @@
       "dismiss": "關閉",
       "read": "閱讀 {0} 的說明"
     },
-    "poll": {
-      "count": "{0} 次投票",
-      "ends": "將在 {0} 結束",
-      "finished": "已在 {0} 結束"
-    },
     "replying_to": "回覆{0}",
     "show_full_thread": "顯示完整貼文串",
     "someone": "某人",
diff --git a/styles/global.css b/styles/global.css
index 1942824dc..7b7940258 100644
--- a/styles/global.css
+++ b/styles/global.css
@@ -227,9 +227,6 @@ allows controlling them individually
 [data-mode="grayscale"] pre {
   filter: grayscale(var(--code-grayscale, 1));
 }
-[data-mode="grayscale"] .poll-wrapper {
-  filter: grayscale(var(--poll-grayscale, 1));
-}
 [data-mode="grayscale"] .status-actions,
 [data-mode="grayscale"] .status-boosted {
   filter: grayscale(var(--status-grayscale, 1));
diff --git a/types/index.ts b/types/index.ts
index 147ab37a1..8c634c093 100644
--- a/types/index.ts
+++ b/types/index.ts
@@ -48,7 +48,7 @@ export type TranslateFn = ReturnType<typeof useI18n>['t']
 export interface DraftItem {
   editingStatus?: mastodon.v1.Status
   initialText?: string
-  params: MarkNonNullable<Mutable<Omit<mastodon.rest.v1.CreateStatusParams, 'poll'>>, 'status' | 'language' | 'sensitive' | 'spoilerText'> & { poll: Mutable<mastodon.rest.v1.CreateStatusParams['poll']> }
+  params: MarkNonNullable<Mutable<mastodon.rest.v1.CreateStatusParams>, 'status' | 'language' | 'sensitive' | 'spoilerText'>
   attachments: mastodon.v1.MediaAttachment[]
   lastUpdated: number
   mentions?: string[]