WTH: Set to Free, but pop up is "Invite Only"

25-04-23 UPDATE: See “DETAILS” message below (from today) for most recent info.


Everything was working yesterday. This morning, any sign up trigger leads to “this site is invite only” which I have never enabled, ever.

  • Membership > Portal Settings > Customize: The only tier available is Free, and the Free sign up form is shown in the admin preview.
  • Membership > Access: Set to “Anyone can sign up”
  • Membership > Tiers: The only active tier is Free.
  • Purging my browser cache didn’t fix it.
  • Trying a browser I never use didn’t fix it.
  • Purging the CDN didn’t fix it.
  • curl -s https://www.skimoschool.com/members/api/site/ | jq includes "allow_external_signup": true.

WTH…

https://www.skimoschool.com/ looks fine from here, and clicking the portal button in lower right opens the sign up modal, no problems.

Thanks for checking! Not sure why my cache clearing didn’t work on my end.

Much appreciated!

Cache is a pain in the butt. Nuff said.

Wait… do you see the Sign Up modal? Or Sign In? I only see the latter.

Oh.. you’re right. I also see sign-in.

That I’m also seeing it suggests it isn’t cache.

Can you take a look at your portal settings and make sure you’ve got at least one plan checked as available?

Yep, Free is available and the Sign Up modal is shown as a preview:

I hit the signup url directly:
https://www.skimoschool.com/#/portal/signup

If you’ve already double checked your settings in access, then something is amiss somewhere.

You’re self hosting, right? What is proxying? If you’ve got something set to aggressively cache, turn it off? If using cloudflare, set it to “development mode”.

What version of Ghost is this?

Solution: Digital Ocean one-click Restore to two days ago. Now to find out why it happened in the first place…

DETAILS

Okay, this is weird…

I’m experimenting with Tiers, but they’re not ready for prime time, so I’d like to only have Free available when the Portal-button-on-every-page is clicked. But it seems that the Portal button only allows for /signup, not /free if no other plans are checked as available in settings.

If:

  • Multiple tiers are created; but
  • The Free tier is the only one checked as available under Portal settings; then
  • The Sign Up modal is shown in the admin preview; but
  • When clicking any sign up button, whether /free or /signup;
  • The Invite Only modal is shown.

In contrast, if:

  • Multiple tiers are created; and
  • Free and at least one other is checked as available in Portal settings;
  • The Tiers selection modal is shown in the admin preview; and
  • Clicking any sign up button shows the correct modal: Sign Up for /free and Tiers selection for /signup.

Other info:

  • Membership > Access: Set to “Anyone can sign up”
  • Purging my browser cache didn’t fix it.
  • Trying a browser I never use didn’t fix it.
  • Purging my CDN didn’t fix it.
  • curl -s https://www.skimoschool.com/members/api/site/ | jq includes "allow_external_signup": true.

Is this a bug?

Setup information

Ghost Version
Share which version of Ghost you’re using.

5.118 (just updated, didn’t work on 5.117 either)

Node.js Version
If self-hosting - share which version of Node.js you’re using.

v18.20.8

How did you install Ghost?
Provide some details about your install of Ghost if you are self-hosting.

DO one-click, months ago

Provide details of your host & operating system
Include further details about your hosting and OS.

DO, Ubuntu 22.04.5

Database type
MySQL 5.7 / MySQL 8 / SQLite 3 / Other

mysql Ver 8.0.41-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))

Browser & OS version
Include if reporting frontend bugs.

Tried latest versions of Safari, Firefox, and DDG.

Relevant log / error output
Copy and paste any relevant log output. Use backticks to format this into code.

curl -s https://www.skimoschool.com/members/api/site/ | jq = "allow_external_signup": true

Possible Solution:

If multiple tiers are created, but if only Free is checked as available in Portal settings, the Portal button URL should be /free, not /signup.

As it is now custom buttons with the /free URL show the Invite Only modal, even if it is checked as available, but no paid tier is available.

Sounds like a bug, and you’ve got a good repro description here. You might drop it over on Github also?

An even stronger repro would be confirming that this happens with a fresh install.

I just tried, and I can’t reproduce this using the built in portal button (the big floating on bottom right corner) on a Ghost Pro site at 5.118.

Is it possible this is a theme button you’re clicking, and this is a theme error? (In other words, the theme is linking in to the wrong part of portal?)

Can you link the impacted site? I don’t see any sign in or sign up opportunity on Skimo School ?

Thanks for trying!

It’s happening for all buttons, whether /signup or /signup/free is added to a button URL or if it’s the default Portal button (in the lower right-hand corner).

More: I briefly activated Casper to see if it was something in my theme, but the problem persists:

  • /#/portal/signup triggers the Invite Only modal;
  • /#/portal/signup/free triggers the Sign In modal.

But as mentioned above, the Sign Up modal is displayed in the admin preview.

That’s very strange. I wasn’t able to reproduce on a fresh install, so we are missing something about your setup that’s different.

Thanks for following up.

(Could you look into this for me on my site? Did you get my email? I filled out your contact form, but it bounced, so I emailed hello@ later yesterday.)