diff --git a/.eslint_todo/vue-no-unused-properties.mjs b/.eslint_todo/vue-no-unused-properties.mjs
index f93163ced0353eebacce9f2183ab5f5806b51657..48b6d32b0b22ee8e838acc898ddc25319874bde6 100644
--- a/.eslint_todo/vue-no-unused-properties.mjs
+++ b/.eslint_todo/vue-no-unused-properties.mjs
@@ -159,21 +159,6 @@ export default {
     'app/assets/javascripts/invite_members/components/invite_group_notification.vue',
     'app/assets/javascripts/invite_members/components/project_select.vue',
     'app/assets/javascripts/invite_members/components/user_limit_notification.vue',
-    'app/assets/javascripts/issuable/components/csv_import_export_buttons.vue',
-    'app/assets/javascripts/issuable/popover/components/comment_popover.vue',
-    'app/assets/javascripts/issues/list/components/empty_state_without_any_issues.vue',
-    'app/assets/javascripts/issues/list/components/issue_card_time_info.vue',
-    'app/assets/javascripts/issues/list/components/jira_issues_import_status_app.vue',
-    'app/assets/javascripts/issues/show/components/description.vue',
-    'app/assets/javascripts/issues/show/components/edit_actions.vue',
-    'app/assets/javascripts/issues/show/components/fields/description.vue',
-    'app/assets/javascripts/issues/show/components/fields/type.vue',
-    'app/assets/javascripts/issues/show/components/header_actions.vue',
-    'app/assets/javascripts/issues/show/components/incidents/create_timeline_event.vue',
-    'app/assets/javascripts/issues/show/components/incidents/timeline_events_form.vue',
-    'app/assets/javascripts/issues/show/components/incidents/timeline_events_list.vue',
-    'app/assets/javascripts/issues/show/components/sentry_error_stack_trace.vue',
-    'app/assets/javascripts/issues/show/components/title.vue',
     'app/assets/javascripts/jira_connect/branches/components/new_branch_form.vue',
     'app/assets/javascripts/jira_import/components/jira_import_form.vue',
     'app/assets/javascripts/kubernetes_dashboard/components/workload_details.vue',
diff --git a/app/assets/javascripts/issuable/components/csv_import_export_buttons.vue b/app/assets/javascripts/issuable/components/csv_import_export_buttons.vue
index 415653f7a8f974bc18a8c98dece1fdcef9d45b53..57f8ba418a0a4c9d0a20501ab73be09b2ded0e67 100644
--- a/app/assets/javascripts/issuable/components/csv_import_export_buttons.vue
+++ b/app/assets/javascripts/issuable/components/csv_import_export_buttons.vue
@@ -42,11 +42,6 @@ export default {
       required: false,
       default: undefined,
     },
-    trackImportClick: {
-      type: Boolean,
-      required: false,
-      default: null,
-    },
   },
   data() {
     return {
diff --git a/app/assets/javascripts/issuable/popover/components/comment_popover.vue b/app/assets/javascripts/issuable/popover/components/comment_popover.vue
index abb90125ace18f7e90f1fe9886f9b834867c4d6e..788c68d1661e55b707b150087f9463a093a6775b 100644
--- a/app/assets/javascripts/issuable/popover/components/comment_popover.vue
+++ b/app/assets/javascripts/issuable/popover/components/comment_popover.vue
@@ -5,7 +5,6 @@ import { TYPENAME_NOTE } from '~/graphql_shared/constants';
 import SafeHtml from '~/vue_shared/directives/safe_html';
 import timeagoMixin from '~/vue_shared/mixins/timeago';
 import noteQuery from '../queries/note.query.graphql';
-import { renderGFM } from '../../../behaviors/markdown/render_gfm';
 
 export default {
   safeHtmlConfig: { ADD_TAGS: ['gl-emoji'] },
@@ -86,9 +85,6 @@ export default {
     },
   },
   methods: {
-    renderGFM() {
-      renderGFM(this.$refs.gfm);
-    },
     fallback() {
       this.show = false;
     },
diff --git a/app/assets/javascripts/issues/list/components/empty_state_without_any_issues.vue b/app/assets/javascripts/issues/list/components/empty_state_without_any_issues.vue
index 115a92ffa6fe6a9098d51065a4523f06810273c7..9b70a7fd78153730c48e0b59c56f39b6f3afc4a0 100644
--- a/app/assets/javascripts/issues/list/components/empty_state_without_any_issues.vue
+++ b/app/assets/javascripts/issues/list/components/empty_state_without_any_issues.vue
@@ -57,11 +57,6 @@ export default {
       required: false,
       default: false,
     },
-    showIssuableByEmail: {
-      type: Boolean,
-      required: false,
-      default: false,
-    },
   },
   computed: {
     createProjectMessage() {
@@ -142,7 +137,6 @@ export default {
             <csv-import-export-buttons
               :export-csv-path="exportCsvPathWithQuery"
               :issuable-count="currentTabCount"
-              track-import-click
             />
           </gl-disclosure-dropdown>
         </template>
diff --git a/app/assets/javascripts/issues/list/components/issue_card_time_info.vue b/app/assets/javascripts/issues/list/components/issue_card_time_info.vue
index 12beeebd08098cb7ef345c56842507653ea1f8b4..67f72d199779a30d3ea0829581f98ad07fc3e26e 100644
--- a/app/assets/javascripts/issues/list/components/issue_card_time_info.vue
+++ b/app/assets/javascripts/issues/list/components/issue_card_time_info.vue
@@ -19,11 +19,6 @@ export default {
       type: Object,
       required: true,
     },
-    isWorkItemList: {
-      type: Boolean,
-      required: false,
-      default: false,
-    },
   },
   computed: {
     milestone() {
diff --git a/app/assets/javascripts/issues/list/components/jira_issues_import_status_app.vue b/app/assets/javascripts/issues/list/components/jira_issues_import_status_app.vue
index 43e09b2420f917f263de19de61d78b2bf35440c6..50345c2855ff92a08d164b0360c03b9f4c6c6125 100644
--- a/app/assets/javascripts/issues/list/components/jira_issues_import_status_app.vue
+++ b/app/assets/javascripts/issues/list/components/jira_issues_import_status_app.vue
@@ -17,14 +17,6 @@ export default {
     GlLabel,
   },
   props: {
-    canEdit: {
-      type: Boolean,
-      required: true,
-    },
-    isJiraConfigured: {
-      type: Boolean,
-      required: true,
-    },
     issuesPath: {
       type: String,
       required: true,
diff --git a/app/assets/javascripts/issues/list/index.js b/app/assets/javascripts/issues/list/index.js
index 9063ad2dba47d4dc083e6b5732f08e3681e59e4d..a63750c6725c40ef8eaa5d3dbf95172a58b75df3 100644
--- a/app/assets/javascripts/issues/list/index.js
+++ b/app/assets/javascripts/issues/list/index.js
@@ -46,8 +46,6 @@ export async function mountJiraIssuesListApp() {
     render(createComponent) {
       return createComponent(JiraIssuesImportStatusApp, {
         props: {
-          canEdit,
-          isJiraConfigured,
           issuesPath,
           projectPath,
         },
diff --git a/app/assets/javascripts/issues/show/components/app.vue b/app/assets/javascripts/issues/show/components/app.vue
index 7b19cf41b500887cdad816f07cb13f0e2b035733..7871be7c85ecde7a1b00d60b26d9eb3b1053b3dd 100644
--- a/app/assets/javascripts/issues/show/components/app.vue
+++ b/app/assets/javascripts/issues/show/components/app.vue
@@ -173,11 +173,6 @@ export default {
       required: false,
       default: TYPE_ISSUE,
     },
-    canAttachFile: {
-      type: Boolean,
-      required: false,
-      default: true,
-    },
     lockVersion: {
       type: Number,
       required: false,
@@ -539,7 +534,6 @@ export default {
     <div v-if="canUpdate && showForm">
       <h1 class="gl-sr-only">{{ __('Edit issue') }}</h1>
       <form-component
-        :endpoint="endpoint"
         :form-state="formState"
         :initial-description-text="initialDescriptionText"
         :issuable-templates="formState.issuableTemplates"
@@ -548,7 +542,6 @@ export default {
         :project-path="projectPath"
         :project-id="projectId"
         :project-namespace="projectNamespace"
-        :can-attach-file="canAttachFile"
         :enable-autocomplete="enableAutocomplete"
         :issuable-type="issuableType"
         @updateForm="setFormState"
@@ -558,7 +551,6 @@ export default {
       <title-component
         ref="title"
         :issuable-ref="issuableRef"
-        :can-update="canUpdate"
         :title-html="state.titleHtml"
         :title-text="state.titleText"
       >
diff --git a/app/assets/javascripts/issues/show/components/description.vue b/app/assets/javascripts/issues/show/components/description.vue
index e98a65605d94ddfffaaa70edfb0fdbd73addbbf9..2f6538002650837365d95076c63a3b89536fb06a 100644
--- a/app/assets/javascripts/issues/show/components/description.vue
+++ b/app/assets/javascripts/issues/show/components/description.vue
@@ -75,11 +75,6 @@ export default {
       required: false,
       default: null,
     },
-    issueIid: {
-      type: String,
-      required: false,
-      default: null,
-    },
     isUpdating: {
       type: Boolean,
       required: false,
diff --git a/app/assets/javascripts/issues/show/components/edit_actions.vue b/app/assets/javascripts/issues/show/components/edit_actions.vue
index 50296d0820f527e40ab59f6cb76e47100e7fb0d6..b99dfefdee149f45199ec2da931c9273f280fbd6 100644
--- a/app/assets/javascripts/issues/show/components/edit_actions.vue
+++ b/app/assets/javascripts/issues/show/components/edit_actions.vue
@@ -13,24 +13,15 @@ export default {
   },
   mixins: [trackingMixin, updateMixin],
   props: {
-    endpoint: {
-      required: true,
-      type: String,
-    },
     formState: {
       type: Object,
       required: true,
     },
-    issuableType: {
-      type: String,
-      required: true,
-    },
   },
   data() {
     return {
-      deleteLoading: false,
       skipApollo: false,
-      issueState: {},
+      issueState: {}, // eslint-disable-line vue/no-unused-properties
     };
   },
   apollo: {
diff --git a/app/assets/javascripts/issues/show/components/fields/description.vue b/app/assets/javascripts/issues/show/components/fields/description.vue
index 1f159e71da9a79570f3fa9547fef1ac534974c9f..3dea9626fe55c4837bc596a678616bd3882b3a53 100644
--- a/app/assets/javascripts/issues/show/components/fields/description.vue
+++ b/app/assets/javascripts/issues/show/components/fields/description.vue
@@ -24,11 +24,6 @@ export default {
       type: String,
       required: true,
     },
-    canAttachFile: {
-      type: Boolean,
-      required: false,
-      default: true,
-    },
     enableAutocomplete: {
       type: Boolean,
       required: false,
diff --git a/app/assets/javascripts/issues/show/components/fields/type.vue b/app/assets/javascripts/issues/show/components/fields/type.vue
index 4ab49e5df38bc61df0182072c1e1de06526a93ab..1108f0b1b9bffebed7a8a944ab97b5b711086a0a 100644
--- a/app/assets/javascripts/issues/show/components/fields/type.vue
+++ b/app/assets/javascripts/issues/show/components/fields/type.vue
@@ -29,7 +29,7 @@ export default {
   },
   data() {
     return {
-      issueState: {},
+      issueState: {}, // eslint-disable-line vue/no-unused-properties
       selectedIssueType: '',
     };
   },
diff --git a/app/assets/javascripts/issues/show/components/form.vue b/app/assets/javascripts/issues/show/components/form.vue
index 8b6f4b18d68e0dad151da6c87acae269305c5dfb..cc69d8d3bac9874deb8df292c01f6a221fe42466 100644
--- a/app/assets/javascripts/issues/show/components/form.vue
+++ b/app/assets/javascripts/issues/show/components/form.vue
@@ -22,10 +22,6 @@ export default {
     LockedWarning,
   },
   props: {
-    endpoint: {
-      type: String,
-      required: true,
-    },
     formState: {
       type: Object,
       required: true,
@@ -59,11 +55,6 @@ export default {
       type: String,
       required: true,
     },
-    canAttachFile: {
-      type: Boolean,
-      required: false,
-      default: true,
-    },
     enableAutocomplete: {
       type: Boolean,
       required: false,
@@ -207,11 +198,10 @@ export default {
       v-model="formData.description"
       :markdown-preview-path="markdownPreviewPath"
       :markdown-docs-path="markdownDocsPath"
-      :can-attach-file="canAttachFile"
       :enable-autocomplete="enableAutocomplete"
       @input="updateDescriptionDraft"
     />
 
-    <edit-actions :endpoint="endpoint" :form-state="formState" :issuable-type="issuableType" />
+    <edit-actions :form-state="formState" />
   </form>
 </template>
diff --git a/app/assets/javascripts/issues/show/components/header_actions.vue b/app/assets/javascripts/issues/show/components/header_actions.vue
index 5da717b8576c3b9585cb68a6ccc58421338ef020..7d2b49c38561d93915d1178fb998836f8e6d0012 100644
--- a/app/assets/javascripts/issues/show/components/header_actions.vue
+++ b/app/assets/javascripts/issues/show/components/header_actions.vue
@@ -126,10 +126,6 @@ export default {
   computed: {
     ...mapState(['isToggleStateButtonLoading']),
     ...mapGetters(['openState', 'getBlockedByIssues']),
-    ...mapGetters(['getNoteableData']),
-    isLocked() {
-      return this.getNoteableData.discussion_locked;
-    },
     isClosed() {
       return this.openState === STATUS_CLOSED;
     },
@@ -230,7 +226,6 @@ export default {
   },
   methods: {
     ...mapActions(['toggleStateButtonLoading']),
-    ...mapActions(['updateLockedAttribute']),
     toggleIssueState() {
       if (!this.isClosed && this.getBlockedByIssues?.length) {
         this.$refs.blockedByIssuesModal.show();
diff --git a/app/assets/javascripts/issues/show/components/incidents/create_timeline_event.vue b/app/assets/javascripts/issues/show/components/incidents/create_timeline_event.vue
index 71337a64ac5e43139b03328166be750577806cde..8d7968881f17a28f81f232368b6756c372b03b32 100644
--- a/app/assets/javascripts/issues/show/components/incidents/create_timeline_event.vue
+++ b/app/assets/javascripts/issues/show/components/incidents/create_timeline_event.vue
@@ -30,9 +30,6 @@ export default {
     return { createTimelineEventActive: false };
   },
   methods: {
-    clearForm() {
-      this.$refs.eventForm.clear();
-    },
     updateCache(store, { data }) {
       const { timelineEvent: event, errors } = data?.timelineEventCreate || {};
 
diff --git a/app/assets/javascripts/issues/show/components/incidents/timeline_events_form.vue b/app/assets/javascripts/issues/show/components/incidents/timeline_events_form.vue
index 15c0a55ff7f1d0cd1ada083e7ad7a45921e92c54..cbb4ed7f769b08244f64eb80b18165f76c966146 100644
--- a/app/assets/javascripts/issues/show/components/incidents/timeline_events_form.vue
+++ b/app/assets/javascripts/issues/show/components/incidents/timeline_events_form.vue
@@ -83,7 +83,6 @@ export default {
     return {
       timelineText: this.previousNote,
       timelineTextIsDirty: this.isEditing,
-      placeholderDate,
       hourPickerInput: placeholderDate.getHours(),
       minutePickerInput: placeholderDate.getMinutes(),
       datePickerInput: placeholderDate,
@@ -130,6 +129,7 @@ export default {
     this.focusDate();
   },
   methods: {
+    // eslint-disable-next-line vue/no-unused-properties
     clear() {
       const newPlaceholderDate = getUtcShiftedDate();
       this.datePickerInput = newPlaceholderDate;
diff --git a/app/assets/javascripts/issues/show/components/incidents/timeline_events_list.vue b/app/assets/javascripts/issues/show/components/incidents/timeline_events_list.vue
index d70d94e0ae8ada1035e48e934d21a1d4c229ef1e..058e41e93ece42bf4097939f6d10ca8f28abd679 100644
--- a/app/assets/javascripts/issues/show/components/incidents/timeline_events_list.vue
+++ b/app/assets/javascripts/issues/show/components/incidents/timeline_events_list.vue
@@ -18,11 +18,6 @@ export default {
     EditTimelineEvent,
   },
   props: {
-    timelineEventLoading: {
-      type: Boolean,
-      required: false,
-      default: true,
-    },
     timelineEvents: {
       type: Array,
       required: true,
diff --git a/app/assets/javascripts/issues/show/components/incidents/timeline_events_tab.vue b/app/assets/javascripts/issues/show/components/incidents/timeline_events_tab.vue
index 0246f8cb1f470b9dc9b5723b00cf0fcf04c0884a..9e1c293cd5403bb374699398e540731c3afe30a3 100644
--- a/app/assets/javascripts/issues/show/components/incidents/timeline_events_tab.vue
+++ b/app/assets/javascripts/issues/show/components/incidents/timeline_events_tab.vue
@@ -82,7 +82,6 @@ export default {
     </div>
     <incident-timeline-events-list
       v-if="hasTimelineEvents"
-      :timeline-event-loading="timelineEventLoading"
       :timeline-events="timelineEvents"
       @hide-new-timeline-events-form="hideEventForm"
     />
diff --git a/app/assets/javascripts/issues/show/components/sentry_error_stack_trace.vue b/app/assets/javascripts/issues/show/components/sentry_error_stack_trace.vue
index 08cda8c3cdcb15b02614042997f540d95542e4d1..2139f69a08f4b578693d304fa493484b79a84f97 100644
--- a/app/assets/javascripts/issues/show/components/sentry_error_stack_trace.vue
+++ b/app/assets/javascripts/issues/show/components/sentry_error_stack_trace.vue
@@ -17,7 +17,7 @@ export default {
     },
   },
   computed: {
-    ...mapState('details', ['loadingStacktrace', 'stacktraceData']),
+    ...mapState('details', ['loadingStacktrace']),
     ...mapGetters('details', ['stacktrace']),
   },
   mounted() {
diff --git a/app/assets/javascripts/issues/show/components/title.vue b/app/assets/javascripts/issues/show/components/title.vue
index e0cde8a6b0b5d76001065f5b182cbb08a6d548d8..05081c1d982b73cad3a8bf442d6dd2c9e3caa193 100644
--- a/app/assets/javascripts/issues/show/components/title.vue
+++ b/app/assets/javascripts/issues/show/components/title.vue
@@ -15,11 +15,6 @@ export default {
       type: [String, Number],
       required: true,
     },
-    canUpdate: {
-      required: false,
-      type: Boolean,
-      default: false,
-    },
     titleHtml: {
       type: String,
       required: true,
diff --git a/spec/frontend/issues/list/components/issues_list_app_spec.js b/spec/frontend/issues/list/components/issues_list_app_spec.js
index 76bc365f600485825daf5f3e982e821aec28b054..7ff80db51eaf0af67894bb818e5212d315dfa397 100644
--- a/spec/frontend/issues/list/components/issues_list_app_spec.js
+++ b/spec/frontend/issues/list/components/issues_list_app_spec.js
@@ -610,7 +610,6 @@ describe('CE IssuesListApp component', () => {
             currentTabCount: 0,
             exportCsvPathWithQuery: defaultProvide.exportCsvPath,
             showCsvButtons: true,
-            showIssuableByEmail: false,
             showNewIssueDropdown: false,
           });
         });
diff --git a/spec/frontend/work_items/list/components/work_items_list_app_spec.js b/spec/frontend/work_items/list/components/work_items_list_app_spec.js
index 9fe0e90908d46d2eec60c71866c8f344689c1625..0f8f09f31cbfb39385cb337a52561a667903642e 100644
--- a/spec/frontend/work_items/list/components/work_items_list_app_spec.js
+++ b/spec/frontend/work_items/list/components/work_items_list_app_spec.js
@@ -169,7 +169,6 @@ describeSkipVue3(skipReason, () => {
 
     it('renders IssueCardTimeInfo component', () => {
       expect(findIssueCardTimeInfo().exists()).toBe(true);
-      expect(findIssueCardTimeInfo().props('isWorkItemList')).toBe(true);
     });
 
     it('renders IssueHealthStatus component', () => {