Skip to main content
FAQ

Troubleshooting CareNova 1.2.0

Written By Dev010

Last updated About 1 month ago

Use this guide for the most common version 1.2.0 setup, authentication, database, portal, and payment issues.

Signup or OAuth returns to the wrong page

Check all of the following:

  • NEXT_PUBLIC_SITE_URL exactly matches the current HTTPS origin.

  • Supabase allows https://your-domain.com/auth/callback.

  • The OAuth application uses Supabase's provider callback URL.

  • The user started from the correct patient, clinic staff, or platform administrator entry point.

  • Old cookies are cleared, or the test is repeated in a fresh browser profile.

CareNova 1.2.0 uses /auth/callback, not /auth/confirm.

A patient account is identified as staff

The same identity may still exist in CareNova's staff/platform tables or Auth metadata even if it was removed from one screen.

  • Use a genuinely separate patient email for testing.

  • Deliberately remove stale staff/platform records only when it is safe to do so.

  • Do not weaken patient/staff role separation as a workaround.

  • Use separate browser profiles when testing different roles.

Signup says the account could not be created

  • Check whether the email already exists in Supabase Auth.

  • Confirm Supabase email signup is enabled.

  • Confirm the database migrations were applied.

  • Check the application/Worker logs for the same attempt.

  • Verify the database and service-role credentials are available to the server.

db:push hangs or fails with a Drizzle check error

Use DIRECT_DATABASE_URL with the Supabase session connection on port 5432. For the 1.2.0 upgrade, prefer the supplied controlled SQL commands:

npm run db:apply-sql -- migrations/add_patient_portal.sql
npm run db:apply-sql -- migrations/add_clinic_invoice_payments.sql

Do not run an unreviewed schema push against production.

Payment settings cannot be decrypted

Restore the exact CARENOVA_PAYMENT_ENCRYPTION_KEY used when the Stripe credentials were saved. If an earlier configuration used the service-role key as the fallback, preserve that material until the credentials are deliberately re-saved or migrated.

Stripe Checkout succeeds but the invoice does not update

  • Confirm the Stripe secret key and webhook signing secret belong to the same Stripe mode/account.

  • Confirm the endpoint URL exactly matches the URL shown in that clinic's payment settings.

  • Confirm these events are enabled:

checkout.session.completed
checkout.session.expired
checkout.session.async_payment_succeeded
checkout.session.async_payment_failed
  • Review Stripe delivery attempts and sanitized application logs.

  • Confirm the webhook amount, currency, clinic, patient, and invoice match.

  • Confirm the endpoint returned a successful HTTP response.

A bank transfer remains pending

Patient bank transfers require manual review. Open Dashboard -> Payments, find the pending bank transfer, verify the external bank transaction and reference, then approve or reject it. The invoice is settled only after approval.

The application redirects to /setup

Purchase-code activation is not required for normal version 1.2.0 use.

  • Set LICENSE_VERIFICATION_ENABLED=false, or remove the variable.

  • Remove stale legacy activation values if they are no longer used.

  • Rebuild and redeploy so the runtime receives the updated environment.

What to include in a support request

  • CareNova version.

  • Hosting provider and runtime.

  • Exact route and visible error.

  • Reproduction steps.

  • Whether this is a fresh installation or an upgrade.

  • Relevant sanitized application/host log lines from the same attempt.

Never send passwords, database URLs, private API keys, Supabase service-role keys, Stripe secrets, webhook signing secrets, or payment-encryption keys.