Describe the bug
On a self-hosted instance with APP_SAAS_MODE_ENABLED=false and Stripe configured directly via STRIPE_PUBLIC_KEY / STRIPE_SECRET_KEY / STRIPE_WEBHOOK_SECRET, the new publish dialog in v2.0.0-rc.1 blocks publishing any event that has paid tickets:
Connect Stripe to accept payments
You have paid tickets, but Stripe isn't connected yet, so you can't take payments.
The "Publish" button is disabled ("Fix issues to publish"). Stripe payments work fine on this instance; checkouts are processed with the configured keys.
Cause
frontend/src/components/modals/PublishEventModal/index.tsx:
const isStripeEnabled = !!eventSettings?.payment_providers?.includes('STRIPE');
const isStripeConnected = !!organizer?.stripe_connect_setup_complete;
...
if (hasPaidProducts && isStripeEnabled && !isStripeConnected) {
checks.push({ key: 'stripe', blocking: true, ... });
}
backend/app/Resources/Organizer/OrganizerResource.php only includes stripe_connect_setup_complete when config('app.saas_mode_enabled') is true. In non-SaaS mode the field is always undefined, so isStripeConnected is always false and the check always blocks.
The event dashboard and setup checklist already guard this with (!isSaasMode || isStripeConnected). The publish modal is missing that guard. This looks like the same class of bug as #791.
To Reproduce
- Self-host v2.0.0-rc.1 (all-in-one image) with
APP_SAAS_MODE_ENABLED=false and Stripe keys set in .env.
- Create an event with a paid ticket, Stripe enabled as payment provider.
- Click "Publish".
- The Stripe blocker is shown and publishing is not possible.
Expected behavior
In non-SaaS mode, skip the Stripe Connect check (e.g. if (isSaasMode && hasPaidProducts && isStripeEnabled && !isStripeConnected)), or have the backend expose whether Stripe is configured via env keys.
Workaround
The backend UpdateEventStatusHandler does not check Stripe, so setting the event status to LIVE another way works.
Hi.Events Version and platform
- Version: v2.0.0-rc.1 (
daveearley/hi.events-all-in-one:v2.0.0-rc.1)
- Platform: self-hosted Docker Compose, PostgreSQL 17
Describe the bug
On a self-hosted instance with
APP_SAAS_MODE_ENABLED=falseand Stripe configured directly viaSTRIPE_PUBLIC_KEY/STRIPE_SECRET_KEY/STRIPE_WEBHOOK_SECRET, the new publish dialog in v2.0.0-rc.1 blocks publishing any event that has paid tickets:The "Publish" button is disabled ("Fix issues to publish"). Stripe payments work fine on this instance; checkouts are processed with the configured keys.
Cause
frontend/src/components/modals/PublishEventModal/index.tsx:backend/app/Resources/Organizer/OrganizerResource.phponly includesstripe_connect_setup_completewhenconfig('app.saas_mode_enabled')is true. In non-SaaS mode the field is always undefined, soisStripeConnectedis alwaysfalseand the check always blocks.The event dashboard and setup checklist already guard this with
(!isSaasMode || isStripeConnected). The publish modal is missing that guard. This looks like the same class of bug as #791.To Reproduce
APP_SAAS_MODE_ENABLED=falseand Stripe keys set in.env.Expected behavior
In non-SaaS mode, skip the Stripe Connect check (e.g.
if (isSaasMode && hasPaidProducts && isStripeEnabled && !isStripeConnected)), or have the backend expose whether Stripe is configured via env keys.Workaround
The backend
UpdateEventStatusHandlerdoes not check Stripe, so setting the event status toLIVEanother way works.Hi.Events Version and platform
daveearley/hi.events-all-in-one:v2.0.0-rc.1)