calcom / cal.com

Scheduling infrastructure for absolutely everyone.
https://cal.com
Other
31.77k stars 7.75k forks source link

Add existing cal.com website slugs to already taken / reserved usernames list #6680

Closed sriganesh closed 1 year ago

sriganesh commented 1 year ago

Issue Summary

Right now, the sign up form allows anyone to register few of the slugs that are already being used in the main cal.com website. For example, I was able to sign up for "resources" and it is already being used in several pages across cal.com. eg: https://cal.com/resources/feature/payments https://cal.com/resources/usecases/recruiting

I could further create new event-types (usecases/feature) to further emulate the existing slugs on cal.com Although final booking fails on this "resources" calendar, it would be nice to not allow the user the register for those usernames in the first place.

Few more slugs used for other pages like "ultimate", "platform" etc also show up as available to register as of now. https://cal.com/ultimate https://cal.com/platform

Even if the user registers these direct slug usernames, I believe the DNS setting would take precedence than the user's profile page. i.e https://cal.com/ultimate would still navigate to the current page about enterprise plan. But potentially the child slugs https://cal.com/ultimate/15min or https://cal.com/ultimate/30min would point to the scheduling pages.

Steps to Reproduce

  1. Go to cal.com/signup
  2. Use some of the existing page slugs like ultimate / platform as username to register for new account.

Any other relevant information. For example, why do you consider this a bug and what did you expect to happen instead?

Technical details

Currently the username API check endpoint returns them as available.

POST https://cal.com/api/username with payload {"username": "ultimate"} returns {"available":true,"premium":false,"message":"Username is available","suggestion":""}

Once the list of slugs used in the main website are identified and a reserved username list is created/updated then the api should start checking in that list as well and it should start returning false for availability of those usernames.

Come up with action plan on what to do for already signed up accounts with those slugs. Feel free to delete my test "resources" account.

PeerRich commented 1 year ago

DNS setting would take precedence

yep correct. website has always higher priority to usernames.

isnt that good enough? people who register taken usernames will immediately see that its being used by website already.

sriganesh commented 1 year ago

I don't think that is a good user experience. Some of them like blog, apps etc show up as available to register and is also a premium username. I would be frustrated if I buy a premium name for $29/month and not be able to use it.

image image

Existing blog slug:

image
PeerRich commented 1 year ago

i see that. we'll find a way to get all the existing pages from calcom/website

maybe we just do it manually