Skip to content

Conversation

calvin-codecov
Copy link
Contributor

@calvin-codecov calvin-codecov commented Aug 26, 2025

Closes https://linear.app/getsentry/issue/CCMRG-1333/billing-ui-should-display-free-seats-as-a-clear-part-of-total-seats
Relies on codecov/umbrella#413 for GQL info

This PR is employing a couple of techniques to better clarify paid vs free seats. Since free seats are uncommon, we generally do not want to add too much extra text for all use cases as it will be irrelevant for most.

  • show number of free seats only if they have any free seats
  • specify "paid" seats for general wording

Side note: any of the benefits list bullet point text for individual plans come from DB entries which have been updated, instead of gazebo code.

NOTE: Most of the changes are just updating test data to include freeSeatCount which now comes from GQL.

Screenshot 2025-09-02 at 4 15 08 PM

Copy link

linear bot commented Aug 26, 2025

accountDetails?: z.infer<typeof AccountDetailsSchema> | null
) {
const timestamp = accountDetails?.subscriptionDetail?.latestInvoice?.periodEnd
const timestamp = accountDetails?.subscriptionDetail?.currentPeriodEnd
Copy link
Contributor Author

@calvin-codecov calvin-codecov Aug 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change makes this consistent with the uses in PaymentCard and DowngradePlan. latestInvoice?.periodEnd looked buggy - in test, I started a new subscription and invoice.periodStart and invoice.periodEnd were the same time integer value coming back from Stripe (the buggy effect was that it said my next biliing date was the same date as the one that I started the subscription)

Copy link

codecov bot commented Aug 26, 2025

Bundle Report

Changes will increase total bundle size by 3.72kB (0.03%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
gazebo-production-system 6.23MB 1.47kB (0.02%) ⬆️
gazebo-production-esm 6.32MB 2.25kB (0.04%) ⬆️

Affected Assets, Files, and Routes:

view changes for bundle: gazebo-production-system

Assets Changed:

Asset Name Size Change Total Size Change (%)
assets/index-legacy.*.js -2 bytes 49.41kB -0.0%
assets/index-legacy.*.js -1 bytes 12.66kB -0.01%
assets/index-legacy.*.js -2 bytes 113.07kB -0.0%
assets/index-legacy.*.js 1.01kB 29.48kB 3.56%
assets/index-legacy.*.js -2 bytes 7.81kB -0.03%
assets/index-legacy.*.js -4 bytes 84.77kB -0.0%
assets/index-legacy.*.js 51 bytes 16.62kB 0.31%
assets/index-legacy.*.js -1 bytes 12.28kB -0.01%
assets/index-legacy.*.js -2 bytes 35.44kB -0.01%
assets/index-legacy.*.js 51 bytes 2.7kB 1.92%
assets/index-legacy.*.js 52 bytes 716.83kB 0.01%
assets/index-legacy.*.js -1 bytes 16.8kB -0.01%
assets/index-legacy.*.js -3 bytes 9.46kB -0.03%
assets/index-legacy.*.js -4 bytes 115.08kB -0.0%
assets/index-legacy.*.js 2.19kB 28.5kB 8.31% ⚠️
assets/index-legacy.*.js -2 bytes 45.41kB -0.0%
assets/index-legacy.*.js -2 bytes 12.78kB -0.02%
assets/index-legacy.*.js 5.21kB 26.31kB 24.68% ⚠️
assets/index-legacy.*.js -2 bytes 5.63kB -0.04%
assets/index-legacy.*.js -1 bytes 4.41kB -0.02%
assets/index-legacy.*.js 116 bytes 11.79kB 0.99%
assets/index-legacy.*.js -1 bytes 41.39kB -0.0%
assets/index-legacy.*.js -1 bytes 8.57kB -0.01%
assets/index-legacy.*.js -2 bytes 7.4kB -0.03%
assets/index-legacy.*.js 9.71kB 21.1kB 85.25% ⚠️
assets/index-legacy.*.js 7.73kB 11.39kB 211.46% ⚠️
assets/index-legacy.*.js -27.99kB 3.66kB -88.44%
assets/index-legacy.*.js -20.71kB 31.65kB -39.56%
assets/RawFileViewer-legacy.*.js -1 bytes 127.36kB -0.0%
assets/BillingDetails-legacy.*.js (New) 26.7kB 26.7kB 100.0% 🚀
assets/ConfigureCachedBundleModal-legacy.*.js -5 bytes 7.87kB -0.06%
assets/useInvoices-legacy.*.js -723 bytes 2.53kB -22.25%
assets/propTypes-legacy.*.js (New) 819 bytes 819 bytes 100.0% 🚀
assets/upgradeForm-legacy.*.js (Deleted) -2.71kB 0 bytes -100.0% 🗑️

Files in assets/index-legacy.*.js:

  • ./src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/PaidPlanCard/PaidPlanCard.tsx → Total Size: 3.46kB

  • ./src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.tsx → Total Size: 5.17kB

Files in assets/index-legacy.*.js:

  • ./src/pages/MembersPage/MembersActivation/Activation/Activation.jsx → Total Size: 3.58kB

Files in assets/BillingDetails-legacy.*.js:

  • ./src/pages/PlanPage/subRoutes/CurrentOrgPlan/BillingDetails/BillingDetails.tsx → Total Size: 1.28kB

  • ./src/pages/PlanPage/subRoutes/CurrentOrgPlan/BillingDetails/PaymentCard/CardInformation.jsx → Total Size: 2.19kB

  • ./src/pages/PlanPage/subRoutes/CurrentOrgPlan/BillingDetails/PaymentCard/PaymentCard.jsx → Total Size: 3.75kB

view changes for bundle: gazebo-production-esm

Assets Changed:

Asset Name Size Change Total Size Change (%)
assets/index.*.js -1 bytes 13.62kB -0.01%
assets/index.*.js -3 bytes 9.58kB -0.03%
assets/index.*.js -1 bytes 41.88kB -0.0%
assets/index.*.js 229 bytes 12.43kB 1.88%
assets/index.*.js -2 bytes 49.15kB -0.0%
assets/index.*.js 50 bytes 16.9kB 0.3%
assets/index.*.js 31 bytes 639.37kB 0.0%
assets/index.*.js -2 bytes 7.75kB -0.03%
assets/index.*.js -1 bytes 22.37kB -0.0%
assets/index.*.js -2 bytes 26.27kB -0.01%
assets/index.*.js -2 bytes 14.24kB -0.01%
assets/index.*.js -1 bytes 8.58kB -0.01%
assets/index.*.js 34 bytes 31.11kB 0.11%
assets/index.*.js -2 bytes 125.68kB -0.0%
assets/index.*.js -1 bytes 12.42kB -0.01%
assets/index.*.js -1 bytes 17.22kB -0.01%
assets/index.*.js -2 bytes 53.59kB -0.0%
assets/index.*.js 3 bytes 5.86kB 0.05%
assets/index.*.js -4 bytes 90.02kB -0.0%
assets/index.*.js 1 bytes 126.54kB 0.0%
assets/index.*.js -2 bytes 36.99kB -0.01%
assets/index.*.js 55 bytes 2.54kB 2.22%
assets/index.*.js -1 bytes 4.6kB -0.02%
assets/index.*.js -1.06kB 31.21kB -3.29%
assets/index.*.js -1 bytes 12.28kB -0.01%
assets/index.*.js -2 bytes 7.45kB -0.03%
assets/index.*.js -23.24kB 32.27kB -41.86%
assets/RawFileViewer.*.js -1 bytes 127.15kB -0.0%
assets/BillingDetails.*.js (New) 29.04kB 29.04kB 100.0% 🚀
assets/ConfigureCachedBundleModal.*.js -5 bytes 8.31kB -0.06%
assets/useInvoices.*.js -711 bytes 2.5kB -22.18%
assets/Alert.*.js 5 bytes 2.21kB 0.23%
assets/BenefitList.*.js -5 bytes 1.47kB -0.34%
assets/Checkbox.*.js 5 bytes 976 bytes 0.51%
assets/TotalsNumber.*.js 5 bytes 834 bytes 0.6%
assets/propTypes.*.js (New) 731 bytes 731 bytes 100.0% 🚀
assets/upgradeForm.*.js (Deleted) -2.88kB 0 bytes -100.0% 🗑️

Files in assets/index.*.js:

  • ./src/pages/MembersPage/MembersActivation/Activation/Activation.jsx → Total Size: 3.58kB

Files in assets/index.*.js:

  • ./src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/PaidPlanCard/PaidPlanCard.tsx → Total Size: 3.46kB

  • ./src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.tsx → Total Size: 5.17kB

Files in assets/BillingDetails.*.js:

  • ./src/pages/PlanPage/subRoutes/CurrentOrgPlan/BillingDetails/PaymentCard/PaymentCard.jsx → Total Size: 3.75kB

  • ./src/pages/PlanPage/subRoutes/CurrentOrgPlan/BillingDetails/BillingDetails.tsx → Total Size: 1.26kB

  • ./src/pages/PlanPage/subRoutes/CurrentOrgPlan/BillingDetails/PaymentCard/CardInformation.jsx → Total Size: 2.19kB

@codecov-staging
Copy link

codecov-staging bot commented Aug 26, 2025

Bundle Report

Changes will increase total bundle size by 3.72kB (0.03%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
gazebo-staging-system 6.23MB 1.47kB (0.02%) ⬆️
gazebo-staging-esm 6.32MB 2.25kB (0.04%) ⬆️

Affected Assets, Files, and Routes:

view changes for bundle: gazebo-staging-esm

Assets Changed:

Asset Name Size Change Total Size Change (%)
assets/index.*.js -1 bytes 4.6kB -0.02%
assets/index.*.js 134 bytes 31.21kB 0.43%
assets/index.*.js -2 bytes 53.59kB -0.0%
assets/index.*.js -2 bytes 7.75kB -0.03%
assets/index.*.js 1 bytes 126.54kB 0.0%
assets/index.*.js -1 bytes 17.22kB -0.01%
assets/index.*.js -3 bytes 9.58kB -0.03%
assets/index.*.js -1 bytes 12.42kB -0.01%
assets/index.*.js -2 bytes 36.99kB -0.01%
assets/index.*.js -1 bytes 8.58kB -0.01%
assets/index.*.js -1 bytes 41.88kB -0.0%
assets/index.*.js -4 bytes 90.02kB -0.0%
assets/index.*.js 31 bytes 639.37kB 0.0%
assets/index.*.js -2 bytes 7.45kB -0.03%
assets/index.*.js -2 bytes 49.15kB -0.0%
assets/index.*.js -2 bytes 125.68kB -0.0%
assets/index.*.js 50 bytes 16.9kB 0.3%
assets/index.*.js 229 bytes 12.43kB 1.88%
assets/index.*.js -1 bytes 12.28kB -0.01%
assets/index.*.js -2 bytes 26.27kB -0.01%
assets/index.*.js 8.74kB 31.11kB 39.08% ⚠️
assets/index.*.js -2 bytes 14.24kB -0.01%
assets/index.*.js 55 bytes 2.54kB 2.22%
assets/index.*.js 3 bytes 5.86kB 0.05%
assets/index.*.js -1 bytes 13.62kB -0.01%
assets/index.*.js -33.14kB 22.37kB -59.71%
assets/RawFileViewer.*.js -1 bytes 127.15kB -0.0%
assets/BillingDetails.*.js (New) 29.04kB 29.04kB 100.0% 🚀
assets/ConfigureCachedBundleModal.*.js -5 bytes 8.31kB -0.06%
assets/useInvoices.*.js -711 bytes 2.5kB -22.18%
assets/Alert.*.js 5 bytes 2.21kB 0.23%
assets/BenefitList.*.js -5 bytes 1.47kB -0.34%
assets/Checkbox.*.js 5 bytes 976 bytes 0.51%
assets/TotalsNumber.*.js 5 bytes 834 bytes 0.6%
assets/propTypes.*.js (New) 731 bytes 731 bytes 100.0% 🚀
assets/upgradeForm.*.js (Deleted) -2.88kB 0 bytes -100.0% 🗑️

Files in assets/index.*.js:

  • ./src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.tsx → Total Size: 5.17kB

  • ./src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/PaidPlanCard/PaidPlanCard.tsx → Total Size: 3.46kB

Files in assets/index.*.js:

  • ./src/pages/MembersPage/MembersActivation/Activation/Activation.jsx → Total Size: 3.58kB

Files in assets/BillingDetails.*.js:

  • ./src/pages/PlanPage/subRoutes/CurrentOrgPlan/BillingDetails/BillingDetails.tsx → Total Size: 1.26kB

  • ./src/pages/PlanPage/subRoutes/CurrentOrgPlan/BillingDetails/PaymentCard/PaymentCard.jsx → Total Size: 3.75kB

  • ./src/pages/PlanPage/subRoutes/CurrentOrgPlan/BillingDetails/PaymentCard/CardInformation.jsx → Total Size: 2.19kB

view changes for bundle: gazebo-staging-system

Assets Changed:

Asset Name Size Change Total Size Change (%)
assets/index-legacy.*.js -2 bytes 26.31kB -0.01%
assets/index-legacy.*.js -2 bytes 7.81kB -0.03%
assets/index-legacy.*.js -2 bytes 5.63kB -0.04%
assets/index-legacy.*.js -2 bytes 35.44kB -0.01%
assets/index-legacy.*.js 116 bytes 11.79kB 0.99%
assets/index-legacy.*.js 1.01kB 29.48kB 3.56%
assets/index-legacy.*.js -1 bytes 41.39kB -0.0%
assets/index-legacy.*.js 52 bytes 716.83kB 0.01%
assets/index-legacy.*.js -2 bytes 12.78kB -0.02%
assets/index-legacy.*.js -4 bytes 115.08kB -0.0%
assets/index-legacy.*.js -2 bytes 45.41kB -0.0%
assets/index-legacy.*.js -3.15kB 28.5kB -9.94%
assets/index-legacy.*.js -3 bytes 9.46kB -0.03%
assets/index-legacy.*.js -1 bytes 11.39kB -0.01%
assets/index-legacy.*.js -4 bytes 84.77kB -0.0%
assets/index-legacy.*.js 51 bytes 16.62kB 0.31%
assets/index-legacy.*.js -1 bytes 12.28kB -0.01%
assets/index-legacy.*.js -2 bytes 7.4kB -0.03%
assets/index-legacy.*.js -2 bytes 49.41kB -0.0%
assets/index-legacy.*.js -1 bytes 4.41kB -0.02%
assets/index-legacy.*.js -1 bytes 21.1kB -0.0%
assets/index-legacy.*.js -1 bytes 16.8kB -0.01%
assets/index-legacy.*.js 51 bytes 2.7kB 1.92%
assets/index-legacy.*.js -2 bytes 113.07kB -0.0%
assets/index-legacy.*.js -1 bytes 8.57kB -0.01%
assets/index-legacy.*.js 18.99kB 31.65kB 150.04% ⚠️
assets/index-legacy.*.js -39.7kB 12.66kB -75.83%
assets/RawFileViewer-legacy.*.js -1 bytes 127.36kB -0.0%
assets/BillingDetails-legacy.*.js (New) 26.7kB 26.7kB 100.0% 🚀
assets/ConfigureCachedBundleModal-legacy.*.js -5 bytes 7.87kB -0.06%
assets/useInvoices-legacy.*.js -723 bytes 2.53kB -22.25%
assets/propTypes-legacy.*.js (New) 819 bytes 819 bytes 100.0% 🚀
assets/upgradeForm-legacy.*.js (Deleted) -2.71kB 0 bytes -100.0% 🗑️

Files in assets/index-legacy.*.js:

  • ./src/pages/MembersPage/MembersActivation/Activation/Activation.jsx → Total Size: 3.58kB

Files in assets/index-legacy.*.js:

  • ./src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentPlanCard/PaidPlanCard/PaidPlanCard.tsx → Total Size: 3.46kB

  • ./src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.tsx → Total Size: 5.17kB

Files in assets/BillingDetails-legacy.*.js:

  • ./src/pages/PlanPage/subRoutes/CurrentOrgPlan/BillingDetails/BillingDetails.tsx → Total Size: 1.28kB

  • ./src/pages/PlanPage/subRoutes/CurrentOrgPlan/BillingDetails/PaymentCard/CardInformation.jsx → Total Size: 2.19kB

  • ./src/pages/PlanPage/subRoutes/CurrentOrgPlan/BillingDetails/PaymentCard/PaymentCard.jsx → Total Size: 3.75kB

Copy link

codecov bot commented Aug 26, 2025

Codecov Report

❌ Patch coverage is 97.14286% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 98.61%. Comparing base (8816d1e) to head (28c312c).
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
src/shared/utils/upgradeForm.ts 80.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3925      +/-   ##
==========================================
- Coverage   98.62%   98.61%   -0.01%     
==========================================
  Files         828      828              
  Lines       15099    15125      +26     
  Branches     4326     4338      +12     
==========================================
+ Hits        14891    14916      +25     
- Misses        200      201       +1     
  Partials        8        8              
Files with missing lines Coverage Δ
...rsPage/MembersActivation/Activation/Activation.jsx 100.00% <100.00%> (ø)
...s/CurrentOrgPlan/BillingDetails/BillingDetails.tsx 100.00% <100.00%> (ø)
...lan/BillingDetails/PaymentCard/CardInformation.jsx 100.00% <100.00%> (ø)
...OrgPlan/BillingDetails/PaymentCard/PaymentCard.jsx 100.00% <100.00%> (ø)
...anPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.tsx 100.00% <ø> (ø)
...Plan/CurrentPlanCard/PaidPlanCard/PaidPlanCard.tsx 100.00% <100.00%> (ø)
...rs/ProPlanController/PriceCallout/PriceCallout.tsx 100.00% <ø> (ø)
...SentryPlanController/PriceCallout/PriceCallout.tsx 100.00% <ø> (ø)
...s/TeamPlanController/PriceCallout/PriceCallout.tsx 100.00% <ø> (ø)
...UpgradePlanPage/UpgradeForm/PersonalOrgWarning.tsx 100.00% <ø> (ø)
... and 5 more
Components Coverage Δ
Assets 100.00% <ø> (ø)
Layouts 99.71% <ø> (ø)
Pages 98.14% <100.00%> (+<0.01%) ⬆️
Services 99.32% <ø> (ø)
Shared 99.06% <83.33%> (-0.07%) ⬇️
UI 99.01% <ø> (ø)

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8816d1e...28c312c. Read the comment docs.

Copy link

codecov-public-qa bot commented Aug 26, 2025

Codecov Report

Attention: Patch coverage is 97.14286% with 1 line in your changes missing coverage. Please review.

Project coverage is 98.61%. Comparing base (8816d1e) to head (28c312c).
Report is 1 commits behind head on main.

✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
src/shared/utils/upgradeForm.ts 80.00% 1 Missing ⚠️
@@            Coverage Diff             @@
##             main    #3925      +/-   ##
==========================================
- Coverage   98.62%   98.61%   -0.01%     
==========================================
  Files         828      828              
  Lines       15099    15125      +26     
  Branches     4318     4346      +28     
==========================================
+ Hits        14891    14916      +25     
- Misses        200      201       +1     
  Partials        8        8              
Files with missing lines Coverage Δ
...rsPage/MembersActivation/Activation/Activation.jsx 100.00% <100.00%> (ø)
...s/CurrentOrgPlan/BillingDetails/BillingDetails.tsx 100.00% <100.00%> (ø)
...lan/BillingDetails/PaymentCard/CardInformation.jsx 100.00% <100.00%> (ø)
...OrgPlan/BillingDetails/PaymentCard/PaymentCard.jsx 100.00% <100.00%> (ø)
...anPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.tsx 100.00% <ø> (ø)
...Plan/CurrentPlanCard/PaidPlanCard/PaidPlanCard.tsx 100.00% <100.00%> (ø)
...rs/ProPlanController/PriceCallout/PriceCallout.tsx 100.00% <ø> (ø)
...SentryPlanController/PriceCallout/PriceCallout.tsx 100.00% <ø> (ø)
...s/TeamPlanController/PriceCallout/PriceCallout.tsx 100.00% <ø> (ø)
...UpgradePlanPage/UpgradeForm/PersonalOrgWarning.tsx 100.00% <ø> (ø)
... and 5 more
Components Coverage Δ
Assets 100.00% <ø> (ø)
Layouts 99.71% <ø> (ø)
Pages 98.14% <100.00%> (+<0.01%) ⬆️
Services 99.32% <ø> (ø)
Shared 99.06% <83.33%> (-0.07%) ⬇️
UI 99.01% <ø> (ø)

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8816d1e...28c312c. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@codecov-notifications
Copy link

codecov-notifications bot commented Aug 26, 2025

Codecov Report

❌ Patch coverage is 97.14286% with 1 line in your changes missing coverage. Please review.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
src/shared/utils/upgradeForm.ts 80.00% 1 Missing ⚠️
@@            Coverage Diff             @@
##             main    #3925      +/-   ##
==========================================
- Coverage   98.62%   98.61%   -0.01%     
==========================================
  Files         828      828              
  Lines       15099    15125      +26     
  Branches     4326     4346      +20     
==========================================
+ Hits        14891    14916      +25     
- Misses        200      201       +1     
  Partials        8        8              
Files with missing lines Coverage Δ
...rsPage/MembersActivation/Activation/Activation.jsx 100.00% <100.00%> (ø)
...s/CurrentOrgPlan/BillingDetails/BillingDetails.tsx 100.00% <100.00%> (ø)
...lan/BillingDetails/PaymentCard/CardInformation.jsx 100.00% <100.00%> (ø)
...OrgPlan/BillingDetails/PaymentCard/PaymentCard.jsx 100.00% <100.00%> (ø)
...anPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.tsx 100.00% <ø> (ø)
...Plan/CurrentPlanCard/PaidPlanCard/PaidPlanCard.tsx 100.00% <100.00%> (ø)
...rs/ProPlanController/PriceCallout/PriceCallout.tsx 100.00% <ø> (ø)
...SentryPlanController/PriceCallout/PriceCallout.tsx 100.00% <ø> (ø)
...s/TeamPlanController/PriceCallout/PriceCallout.tsx 100.00% <ø> (ø)
...UpgradePlanPage/UpgradeForm/PersonalOrgWarning.tsx 100.00% <ø> (ø)
... and 5 more
Components Coverage Δ
Assets 100.00% <ø> (ø)
Layouts 99.71% <ø> (ø)
Pages 98.14% <100.00%> (+<0.01%) ⬆️
Services 99.32% <ø> (ø)
Shared 99.06% <83.33%> (-0.07%) ⬇️
UI 99.01% <ø> (ø)

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8816d1e...28c312c. Read the comment docs.

@codecov-releaser
Copy link
Contributor

codecov-releaser commented Aug 26, 2025

✅ Deploy preview for gazebo ready!

Previews expire after 1 month automatically.

Storybook

Commit Created Cloud Enterprise
974cc49 Tue, 26 Aug 2025 00:09:05 GMT Expired Expired
3db633f Thu, 28 Aug 2025 20:36:46 GMT Expired Expired
2db2598 Thu, 28 Aug 2025 21:44:02 GMT Expired Expired
1a708d8 Thu, 28 Aug 2025 22:57:58 GMT Expired Expired
42c80f6 Tue, 02 Sep 2025 17:57:40 GMT Expired Expired
ec5cc12 Tue, 02 Sep 2025 23:28:23 GMT Expired Expired
f7544a1 Tue, 02 Sep 2025 23:57:09 GMT Expired Expired
d7146ac Wed, 03 Sep 2025 00:01:53 GMT Expired Expired
d214947 Tue, 30 Sep 2025 22:51:25 GMT Expired Expired
d214947 Tue, 30 Sep 2025 22:51:29 GMT Expired Expired
d464fc1 Thu, 02 Oct 2025 22:56:52 GMT Expired Expired
28c312c Fri, 03 Oct 2025 20:13:11 GMT Cloud Enterprise

@codecov-qa
Copy link

codecov-qa bot commented Aug 26, 2025

Codecov Report

❌ Patch coverage is 97.14286% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 98.61%. Comparing base (8816d1e) to head (28c312c).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
src/shared/utils/upgradeForm.ts 80.00% 1 Missing ⚠️
@@            Coverage Diff             @@
##             main    #3925      +/-   ##
==========================================
+ Coverage   96.54%   98.61%   +2.06%     
==========================================
  Files         828      828              
  Lines       15099    15125      +26     
  Branches     4318     4346      +28     
==========================================
+ Hits        14578    14916     +338     
+ Misses        466      201     -265     
+ Partials       55        8      -47     
Files with missing lines Coverage Δ
...rsPage/MembersActivation/Activation/Activation.jsx 100.00% <100.00%> (ø)
...s/CurrentOrgPlan/BillingDetails/BillingDetails.tsx 100.00% <100.00%> (ø)
...lan/BillingDetails/PaymentCard/CardInformation.jsx 100.00% <100.00%> (ø)
...OrgPlan/BillingDetails/PaymentCard/PaymentCard.jsx 100.00% <100.00%> (ø)
...anPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.tsx 100.00% <ø> (ø)
...Plan/CurrentPlanCard/PaidPlanCard/PaidPlanCard.tsx 100.00% <100.00%> (ø)
...rs/ProPlanController/PriceCallout/PriceCallout.tsx 100.00% <ø> (ø)
...SentryPlanController/PriceCallout/PriceCallout.tsx 100.00% <ø> (ø)
...s/TeamPlanController/PriceCallout/PriceCallout.tsx 100.00% <ø> (ø)
...UpgradePlanPage/UpgradeForm/PersonalOrgWarning.tsx 100.00% <ø> (ø)
... and 5 more

... and 42 files with indirect coverage changes

Components Coverage Δ
Assets 100.00% <ø> (ø)
Layouts 99.71% <ø> (ø)
Pages 98.14% <100.00%> (+<0.01%) ⬆️
Services 99.32% <ø> (ø)
Shared 99.06% <83.33%> (+1.74%) ⬆️
UI 99.01% <ø> (+20.18%) ⬆️

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8816d1e...28c312c. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@calvin-codecov calvin-codecov marked this pull request as ready for review August 28, 2025 17:48
const subscriptionDetail = accountDetails?.subscriptionDetail
const card = subscriptionDetail?.defaultPaymentMethod?.card
const usBankAccount = subscriptionDetail?.defaultPaymentMethod?.usBankAccount
const isPerYear = planData?.plan?.billingRate === BillingRate.ANNUALLY
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we put this stuff in a useCallback or smth?

)
}
const nextBillPrice = formatNumberToUSD(
isPerYear ? billPrice * 12 : billPrice
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: magic number

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah... i don't like the magic number. I grabbed this from PriceCallout.tsx but I think both should be changed.

const card = subscriptionDetail?.defaultPaymentMethod?.card
const usBankAccount = subscriptionDetail?.defaultPaymentMethod?.usBankAccount
const isPerYear = planData?.plan?.billingRate === BillingRate.ANNUALLY
let seats =
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a way we can get around all the ?? 0 stuff? Maybe for the base unit price part at least we can set that in the usePlanData hook directly

<p>Up to {TEAM_PLAN_MAX_ACTIVE_USERS} users</p>
<p>
Up to {TEAM_PLAN_MAX_ACTIVE_USERS}
{planData?.plan?.freeSeatCount ? ' paid' : ''} users
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we could probably just say "paid" here regardless of the freeSeatCount, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adalene and I were thinking of leaving out "paid" as often as possible for simplification when a user doesn't have free seats because it should be a very small percentage of total users. I could go either way this though since we decided on this before I realized the plan card benefits list can't dynamically decide on adding "paid" since they're from the DB so one could argue we just say "paid" everywhere for consistency. Thoughts?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm on team paid everywhere personally but I can see why we decided to do the conditional. I think I saw somewhere else in the code where we added paid unconditionally though (in this PR)

Copy link
Contributor

@ajay-sentry ajay-sentry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

@calvin-codecov calvin-codecov added this pull request to the merge queue Oct 3, 2025
Merged via the queue into main with commit 97cc92a Oct 3, 2025
56 of 63 checks passed
@calvin-codecov calvin-codecov deleted the cy/billing_free_seats branch October 3, 2025 20:44
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.

3 participants