Skip to content

Conversation

@jnsdls
Copy link
Member

@jnsdls jnsdls commented Feb 25, 2025

TL;DR

Added pastDue as a new billing status flag and updated billing-related UI logic to handle this status appropriately.

What changed?

  • Added pastDue as a new billing status option to indicate when a payment method is on file but has past due payments
  • Updated account abstraction layout to consider pastDue as a valid payment status
  • Modified team plan validation to treat pastDue status similarly to validPayment
  • Updated billing component to recognize pastDue as a valid payment status

How to test?

  1. Set a team's billing status to pastDue
  2. Verify that the team maintains access to paid features
  3. Confirm that the billing UI correctly displays for accounts with pastDue status
  4. Check that account abstraction features remain accessible for pastDue accounts

Why make this change?

To better handle cases where customers have payment methods on file but are experiencing temporary payment issues, allowing them to maintain service access while resolving payment concerns. This provides a more nuanced approach to billing status management than immediately revoking access when payments are delayed.


PR-Codex overview

This PR focuses on enhancing billing status management by adding a new status flag pastDue and updating various components to accommodate this change. Additionally, it addresses flaky tests by skipping them until they can be fixed.

Detailed summary

  • Added pastDue to billing status flags in packages/service-utils/src/core/api.ts.
  • Updated getValidTeamPlan function in apps/dashboard/src/app/team/components/TeamHeader/getValidTeamPlan.tsx to handle pastDue.
  • Modified billing status checks in apps/dashboard/src/components/settings/Account/Billing/index.tsx.
  • Updated smart wallet billing status checks in apps/dashboard/src/app/team/[team_slug]/[project_slug]/connect/account-abstraction/layout.tsx.
  • Skipped flaky tests in packages/thirdweb/src/wallets/smart/smart-wallet-modular.test.ts, packages/thirdweb/src/auth/verify-typed-data.test.ts, and packages/thirdweb/src/wallets/smart/smart-wallet-integration-v07.test.ts.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@changeset-bot
Copy link

changeset-bot bot commented Feb 25, 2025

🦋 Changeset detected

Latest commit: 57048ed

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@thirdweb-dev/service-utils Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel
Copy link

vercel bot commented Feb 25, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
docs-v2 ✅ Ready (Inspect) Visit Preview 💬 Add feedback Feb 25, 2025 9:45pm
login ✅ Ready (Inspect) Visit Preview 💬 Add feedback Feb 25, 2025 9:45pm
thirdweb_playground ✅ Ready (Inspect) Visit Preview 💬 Add feedback Feb 25, 2025 9:45pm
thirdweb-www ✅ Ready (Inspect) Visit Preview 💬 Add feedback Feb 25, 2025 9:45pm
wallet-ui ✅ Ready (Inspect) Visit Preview 💬 Add feedback Feb 25, 2025 9:45pm

@github-actions github-actions bot added Dashboard Involves changes to the Dashboard. packages labels Feb 25, 2025
@jnsdls jnsdls marked this pull request as ready for review February 25, 2025 18:25
@jnsdls jnsdls requested review from a team as code owners February 25, 2025 18:25
Copy link
Member Author

jnsdls commented Feb 25, 2025


How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • merge-queue - adds this PR to the back of the merge queue
  • hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 25, 2025

size-limit report 📦

Path Size Loading time (3g) Running time (snapdragon) Total time
thirdweb (esm) 46.25 KB (0%) 925 ms (0%) 3.5 s (+58.35% 🔺) 4.4 s
thirdweb (cjs) 121.91 KB (0%) 2.5 s (0%) 5.9 s (+11.87% 🔺) 8.3 s
thirdweb (minimal + tree-shaking) 5.6 KB (0%) 112 ms (0%) 149 ms (-19.89% 🔽) 261 ms
thirdweb/chains (tree-shaking) 506 B (0%) 10 ms (0%) 129 ms (-43.8% 🔽) 139 ms
thirdweb/react (minimal + tree-shaking) 19.31 KB (0%) 387 ms (0%) 496 ms (+3.21% 🔺) 883 ms

@jnsdls jnsdls force-pushed the add_pastDue_to_valid_billing_statuses branch from 6181784 to 903b061 Compare February 25, 2025 19:49
@github-actions github-actions bot added the SDK Involves changes to the thirdweb SDK label Feb 25, 2025
@graphite-app
Copy link
Contributor

graphite-app bot commented Feb 25, 2025

Merge activity

  • Feb 25, 2:49 PM EST: Graphite disabled "merge when ready" on this PR due to: a merge conflict with the target branch; resolve the conflict and try again..

@jnsdls jnsdls force-pushed the add_pastDue_to_valid_billing_statuses branch from 088b6e2 to ed881c0 Compare February 25, 2025 20:48
@jnsdls jnsdls force-pushed the add_pastDue_to_valid_billing_statuses branch from ed881c0 to f9ca054 Compare February 25, 2025 20:55
@github-actions github-actions bot added the Portal Involves changes to the Portal (docs) codebase. label Feb 25, 2025
@jnsdls jnsdls force-pushed the add_pastDue_to_valid_billing_statuses branch from f9ca054 to f2c135f Compare February 25, 2025 21:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Dashboard Involves changes to the Dashboard. packages Portal Involves changes to the Portal (docs) codebase. SDK Involves changes to the thirdweb SDK

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants