From 75b5370d03b855ffdfa446095a4c29f6dbc8a533 Mon Sep 17 00:00:00 2001 From: "MagicMock/mock.effective_git_name/130407769905136" Date: Wed, 3 Jun 2026 06:49:41 +0000 Subject: [PATCH] fix(settings): drop dead subscription-status branches MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit subscriptionState/subscribeButtonLabel matched 'suspended' and 'cancelled', which the controller never emits — SUSPENDED/CANCELLED webhooks both map to status 'grace'. Backend SubscriptionStatus is active/grace/ended/error. Reduce the reactivatable set to ['grace', 'ended']; no behaviour change. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/views/Settings.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/Settings.vue b/src/views/Settings.vue index fe1e587..0d17820 100644 --- a/src/views/Settings.vue +++ b/src/views/Settings.vue @@ -402,7 +402,7 @@ export default { if (sub && sub.status === 'active') { return sub.pending_vm_size ? 'active-pending' : 'active'; } - if (sub && ['grace', 'ended', 'suspended', 'cancelled'].includes(sub.status)) { + if (sub && ['grace', 'ended'].includes(sub.status)) { return 'grace'; } if (subQuery === 'return') { @@ -414,7 +414,7 @@ export default { const profile = this.$store.state.profile; if (!profile) return 'Subscribe'; const sub = profile.subscription; - const reactivating = sub && ['grace', 'ended', 'suspended', 'cancelled'].includes(sub.status); + const reactivating = sub && ['grace', 'ended'].includes(sub.status); const verb = reactivating ? 'Reactivate' : 'Subscribe'; const price = computeMonthlyPrice(profile.vm_size, profile.volume_size_gb); return `${verb} — ${formatPrice(price)}/month`;