0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-03-11 02:12:21 -05:00
ghost/apps/admin-x-settings
Chris Raible 01d0b2b304
Added new member signup flow behind labs flag (#19986)
ref https://linear.app/tryghost/issue/KTLO-1/members-spam-signups

- Some customers are seeing many spammy signups ("hundreds a day") — our
hypothesis is that bots and/or email link checkers are able to signup by
simply following the link in the email without even loading the page in
a browser.
- Currently new members signup by clicking a magic link in an email,
which is a simple GET request. When the user (or a bot) clicks that link, Ghost
creates the member and signs them in for the first time.
- This change, behind an alpha flag, requires a new member to click the
link in the email, which takes them to a new frontend route `/confirm_signup/`, then submit a form on the page which sends a POST request to the
server. If JavaScript is enabled, the form will be submitted
automatically so the only change to the user is an extra flash/redirect
before being signed in and redirected to the homepage.
- This change is behind the alpha flag `membersSpamPrevention` so we can
test it out on a few customer's sites and see if it helps reduce the
spam signups. With the flag off, the signup flow remains the same as
before.
2024-04-04 15:25:41 -07:00
..
src Added new member signup flow behind labs flag (#19986) 2024-04-04 15:25:41 -07:00
test Improved staff empty display (#19810) 2024-03-27 08:21:38 -05:00
.eslintignore Extracted AdminX design system to a separate package (#18878) 2023-11-08 12:33:18 +00:00
.eslintrc.cjs
.yarnrc
index.html
node-shim.cjs
package.json Extracted Unsplash Selector from AdminX (#19849) 2024-03-12 22:40:33 +02:00
playwright.config.mjs Updated files with mixed named/default exports to use only named exports (#19385) 2023-12-14 16:01:28 +00:00
postcss.config.cjs Created a skeleton AdminX demo app (#19005) 2023-11-20 13:30:15 +00:00
README.md
tailwind.config.cjs Renamed admin-x-design to admin-x-design-system for clarity (#18914) 2023-11-08 15:10:43 +00:00
tsconfig.json Moved AdminX test config to framework package (#19096) 2023-11-22 13:39:32 +00:00
vite.config.mjs Extracted Unsplash Selector from AdminX (#19849) 2024-03-12 22:40:33 +02:00

Admin X Settings

Ghost Admin Settings in React

Development

Pre-requisites

  • Run yarn in Ghost monorepo root

Running the development version

Run yarn dev to start the development server to test/develop the settings standalone. This will generate a demo site from the index.html file which renders the app and makes it available on http://localhost:5173

Running inside Admin

Run yarn dev (like you would run Ghost dev normally) from the top-level repo. AdminX will automatically rebuild when you make changes.

Develop

This is a monorepo package.

Follow the instructions for the top-level repo.

  1. git clone this repo & cd into it as usual
  2. Run yarn to install top-level dependencies.

Test

  • yarn lint run just eslint
  • yarn test:acceptance runs acceptance tests
  • yarn test:unit runs unit tests
  • yarn test:acceptance path/to/test runs a specific test
  • yarn test:acceptance:slowmo runs acceptance tests in slow motion and headed mode, useful for debugging and developing tests