Skip to content

fix(settings): keep billing header stable - #7010

Merged
waleedlatif1 merged 1 commit into
stagingfrom
codex/settings-billing-stable-header
Aug 23, 2026
Merged

fix(settings): keep billing header stable#7010
waleedlatif1 merged 1 commit into
stagingfrom
codex/settings-billing-stable-header

Conversation

@waleedlatif1

@waleedlatif1 waleedlatif1 commented Aug 23, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • keep settings header identity route-owned while Billing data loads
  • show the canonical error state only when authoritative Billing data is unavailable
  • enforce detail-only header overrides across settings at the type boundary

Type of Change

  • Bug fix

Testing

  • Tested manually: Billing kept the same title and description throughout navigation and data loading
  • 17 focused settings tests passed
  • Sim type-check passed
  • lint, block registry validation, and all 33 repository audits passed
  • React Doctor found no new changed-line correctness or performance issue

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@vercel

vercel Bot commented Aug 23, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Aug 23, 2026 11:14am

Request Review

@cursor

cursor Bot commented Aug 23, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Touches billing settings UI and load/error presentation, including when subscription data is missing. Header typing is compile-time only; payment flows themselves are unchanged.

Overview
Stops the billing page from swapping the route-owned settings header after data loads. The “subscription governs this workspace” copy is gone, and SettingsPanel now only allows title/description on detail views that also pass back.

Failed billing loads now render SettingsEmptyState with tone='error' instead of a blank body. Cached content stays if a background refresh fails. Loading still returns nothing so the nav metadata header remains stable.

Reviewed by Cursor Bugbot for commit 9e91d11. Configure here.

@greptile-apps

greptile-apps Bot commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR keeps the billing settings header stable by removing data-dependent header descriptions and tightening SettingsPanel so header overrides require a back action.

  • Adds a canonical billing error state while preserving cached content during background refresh failures.
  • Updates billing and header-shell tests for stable route-owned metadata and the stricter panel contract.
  • Documents the settings-page rule that top-level header identity must not change after data loads.

Confidence Score: 5/5

The PR appears safe to merge, with no concrete regressions identified in the changed billing or settings-header paths.

The stricter panel contract is satisfied by current callers, billing scope selection supplies the required organization identifier, and the new error handling preserves valid cached billing content.

Important Files Changed

Filename Overview
apps/sim/app/workspace/[workspaceId]/settings/components/billing/billing.tsx Removes dynamic billing header copy and renders a canonical error state when the active billing query completes without usable data.
apps/sim/components/settings/settings-panel.tsx Tightens the prop contract so title and description overrides are accepted only for detail views with a back action.
apps/sim/app/workspace/[workspaceId]/settings/[section]/settings.tsx Stops supplying workspace-specific data used by the removed dynamic billing description.
apps/sim/app/workspace/[workspaceId]/settings/components/billing/billing.test.tsx Covers stable headers, query failures, missing data, and cached content during background refresh errors.
apps/sim/components/settings/settings-header-shell.test.tsx Updates detail-header fixtures to satisfy the back-action requirement.
.claude/rules/sim-settings-pages.md Documents that top-level settings headers must remain based on stable navigation metadata.

Reviews (1): Last reviewed commit: "fix(settings): keep billing header stabl..." | Re-trigger Greptile

@waleedlatif1
waleedlatif1 merged commit 465bdbd into staging Aug 23, 2026
30 of 31 checks passed
@waleedlatif1
waleedlatif1 deleted the codex/settings-billing-stable-header branch August 23, 2026 11:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant