Litestore · Developer docs
Deployment

Troubleshooting

Find the real cause when something in your Litestore setup fails.

When something in your Litestore setup fails, the entries below help find the cause. Each entry refers to the relevant behaviour in the source and mentions common explanations that turn out to be wrong. The entries are grouped by where the failure shows up.

Inbox
Sign in to Your StoreTo ava@example.com
now
YYour sign-in linkClick the button below to sign in. No password needed.Sign inDidn't ask for this? You can ignore this email.
When sign-in works, the magic link from Resend lands in the customer's inbox.

Sign-in

Database

Checkout

Build and checks

Don't delete a failing contract test

When a contract test starts failing, it means that a guarantee changed. Deleting the test hides the failure but leaves the underlying problem in place.

Background work

Failure types

The entries above follow two patterns.

PatternExamples
Code that takes payment throws an error.getPaymentProvider() throws when the Stripe keys are missing, and an unknown provider name throws instead of falling back.
Optional features stop working without showing an error.Rate limiting fails open when Redis is unreachable. The Google button is missing, with no error, when only one Google variable is set. Every schedule stays idle while the store keeps serving when Inngest is not connected.
Start by checking whether the feature throws an error or is simply missing. A missing feature usually means that an environment variable isn't set.

On this page