Residual from the review of #14613. Non-blocking, cleanup.
#14613 correctly deleted subscriptionPanel, shouldShowPlanCreditsPanel and shouldShowLegacyPlanCreditsPanel from useSettingUI.ts once they became unreachable. Three leftovers were not swept:
src/platform/settings/types.ts:87 still lists | 'subscription' in SettingPanelType, and src/platform/settings/composables/useSettingUI.ts:36 still carries subscription: 'icon-[lucide--credit-card]' in CATEGORY_ICONS. No panel can now produce that key.
SubscriptionPanel.vue and SubscriptionPanelContentLegacy.vue are now reachable only from SubscriptionPanel.test.ts and SubscriptionPanelContentLegacy.test.ts. The test imports keep knip quiet while the components have no production entry point, so knip will not flag them as dead.
src/platform/settings/composables/useSettingUI.test.ts:303-312 still parameterises over billingType with it.for(['legacy', 'workspace']), which the composable no longer reads. Both cases are now byte-identical and the not.toContain('subscription') assertion passes vacuously.
Thread: #14613 (comment)
Residual from the review of #14613. Non-blocking, cleanup.
#14613 correctly deleted
subscriptionPanel,shouldShowPlanCreditsPanelandshouldShowLegacyPlanCreditsPanelfromuseSettingUI.tsonce they became unreachable. Three leftovers were not swept:src/platform/settings/types.ts:87still lists| 'subscription'inSettingPanelType, andsrc/platform/settings/composables/useSettingUI.ts:36still carriessubscription: 'icon-[lucide--credit-card]'inCATEGORY_ICONS. No panel can now produce that key.SubscriptionPanel.vueandSubscriptionPanelContentLegacy.vueare now reachable only fromSubscriptionPanel.test.tsandSubscriptionPanelContentLegacy.test.ts. The test imports keep knip quiet while the components have no production entry point, so knip will not flag them as dead.src/platform/settings/composables/useSettingUI.test.ts:303-312still parameterises overbillingTypewithit.for(['legacy', 'workspace']), which the composable no longer reads. Both cases are now byte-identical and thenot.toContain('subscription')assertion passes vacuously.Thread: #14613 (comment)