Commit Graph

1461 Commits

Author SHA1 Message Date
renovate[bot]
218136060e Update sentry-javascript monorepo to v7.29.0 2023-01-04 17:23:05 +01:00
Rishabh
09237b2c90 Released Portal v2.23.0 2023-01-04 17:13:24 +05:30
Rishabh
f5aa07a095 🐛 Removed free trial message shown on portal for invite only sites
closes https://github.com/TryGhost/Team/issues/2361

If a free trial tier existed on site and its set to 'Invite only' in membership settings, the free trial copy still showed on portal.

- removes free trial copy from portal if site is invite only
- adds playwright test to make sure free trial copy is not shown for invite only sites
2023-01-04 17:11:55 +05:30
renovate[bot]
435d5da3ff Update sentry-javascript monorepo to v7.28.1 2023-01-03 14:27:06 +01:00
Rishabh
45705e4bb2 Released Portal v2.22.0 2022-12-14 16:12:20 +05:30
Rishabh
aa693039a3 🐛 Removed expired offers shown in portal account detail
closes https://github.com/TryGhost/Team/issues/2376#event-8026429598

- if an offer is expired/in past, we no longer show it in member account info against the price
- one-time offers are never showed in portal in member account detail, as the payment information shown to member in Portal points to charge at next payment
- if trial days are over for a subscription, portal doesn't show any offer data on member account detail
2022-12-14 15:27:49 +05:30
renovate[bot]
7c3dc6f3ed Update sentry-javascript monorepo to v7.26.0 2022-12-14 08:07:58 +07:00
renovate[bot]
a8610b524b Update sentry-javascript monorepo to v7.25.0 2022-12-13 10:59:06 +07:00
Peter Zimon
bd92b3ac89 Added UI refinements
refs. https://github.com/TryGhost/Team/issues/2348

- spacing and typography was off on the receiving FAQ page
- longform popup size missed mobile sizes
2022-12-12 15:09:32 +05:30
Rishabh
ce45571dc0 Updated email faqs in portal to show sender email address
refs https://github.com/TryGhost/Team/issues/2348

- updates email faqs to show the sender email from newsletter data
2022-12-12 15:09:32 +05:30
Rishabh Garg
d7fc3a5e48
Cleaned up old plan UI code in portal (#15805)
closes https://github.com/TryGhost/Team/issues/1889

Portal's UI, specially for Signup and Account Upgrade, has changed a lot as we went from single tier -> multiple prices -> multiple tiers. This change removes the old unused `PlansSection` and related components that are no longer in use anywhere in Portal UI since we transitioned to Products(tiers).

- removes unused `ChangeProductPlansSection` component
- removes unused `PlanSectionStyles` to cleanup unused styles
2022-12-12 14:54:03 +05:30
Elena Baidakova
8b92b49363
Added data test attributes (#15981)
refs TryGhost/Team#2371
2022-12-12 10:23:13 +04:00
Rishabh
aa706bc569 Removed one-time offer from being shown in portal
refs https://github.com/TryGhost/Team/issues/2376

When a discount offer for a first-payment is setup, when a member views their plan details in Portal, it still shows the discounted price, it shows the discounted offer instead of the actual price they will be charged next time, which is incorrect.
For one time payments, we'll not reflect the discount in portal as the member will not receive that discount going forward.
2022-12-12 11:32:47 +05:30
renovate[bot]
1fc553e258 Update sentry-javascript monorepo to v7.24.2 2022-12-12 10:42:56 +07:00
Rishabh
960250e99e Fixed email suppressed page portal tests
- tests were failing due to copy changes that made the test selectors fail to fetch the element
- for future, we should switch to using test ids here instead of text as they can easily change causing these failures
2022-12-09 19:40:10 +05:30
Peter Zimon
2e87ceae1f Portal copy refinements
refs. https://github.com/TryGhost/Team/issues/2348

- re-enable email button had outdated copy
2022-12-09 14:08:03 +01:00
Peter Zimon
34d99c92e0 Updated email FAQ
refs. https://github.com/TryGhost/Team/issues/2348

- updated copy for not receiving emails FAQ. It's still WIP, from addresses need to be wired in
2022-12-09 13:28:06 +01:00
Rishabh
a71f096905 Released Portal v2.21.0 2022-12-08 16:26:17 +05:30
Rishabh
b3db2d38f7 Added data test attributes for Portal
refs https://github.com/TryGhost/Team/issues/2371

- adds data attributes to portal action buttons/inputs/switches for playwright tests
2022-12-08 16:25:29 +05:30
Rishabh
bc9b8a22f0 Added test data attributes to Portal for playwright tests
refs https://github.com/TryGhost/Team/issues/2371

- adds `data-test-*` attributes to portal across pages to allow easily capturing buttons/switches for playwright tests
2022-12-08 15:35:41 +05:30
Elena Baidakova
5e973688bf
Added redirect to Email Preferences in Portal after resubscribing (#15940)
closes TryGhost/Team#2360
- Redirect member to Email Preferences after email removed from
suppression list.
2022-12-05 15:58:55 +04:00
renovate[bot]
46bb38b18a Update sentry-javascript monorepo to v7.23.0 2022-12-02 11:59:31 +07:00
James Morris
c74857052f Released Portal v2.20.3 2022-12-01 19:01:06 +00:00
James Morris
2405b59f55 Added in the suppression check to stop link from showing on Portal home
refs https://github.com/TryGhost/Team/issues/2348
2022-12-01 18:59:25 +00:00
James Morris
50383316c0 Attempting to add a single newsletter solution for FAQ to get around lack of back stack
refs https://github.com/TryGhost/Team/issues/2348
2022-12-01 18:30:50 +00:00
James Morris
7c392a6d30 Released Portal v2.20.2 2022-12-01 17:48:33 +00:00
James Morris
9953722bcc Fixing unused variable that was making linting failed
refs https://github.com/TryGhost/Team/issues/2348
2022-12-01 17:42:50 +00:00
James Morris
b64ce8fcb6 Removed a broken test from portal to do with suppressions
refs https://github.com/TryGhost/Team/issues/2348
2022-12-01 17:42:50 +00:00
James Morris
6b4b7f207f Adds brand new FAQs and links to Portal based on support documents
- Adds links and new modals for two new FAQs
- Has some checks for suppressions based on member property email_suppressions
- Using different technique for back buttons to simulate bigger stack

refs https://github.com/TryGhost/Team/issues/2348
2022-12-01 17:42:50 +00:00
e.baidakova
6b7d313415 fixup! Added email suppression FAQ modal 2022-12-01 17:42:50 +00:00
e.baidakova
23ded6fb67 Added email suppression FAQ modal 2022-12-01 17:42:50 +00:00
e.baidakova
f5e1e6296c Add suppression modal to Portal
closes TryGhost/Team#2256
- Users can remove themselves from the suppression list from the profile in Portal.
2022-11-24 13:58:27 +04:00
e.baidakova
69c2af1ffe Split AccountHomePage file on separate files
closes TryGhost/Team#2256
- Moved components to separate file for better navigation.
2022-11-24 13:58:27 +04:00
e.baidakova
991e628022 Add ability to use absolute paths for import
closes TryGhost/Team#2264
- Instead of relative paths, we can use absolute. It helps to keep code cleaner and don't worry about import when doing refactoring.
Relative paths require rewriting them in case a file is moved to another directory.
2022-11-24 13:58:27 +04:00
e.baidakova
f151d223c3 Add ability to import css files
closes TryGhost/Team#2256
- Now we can write css in separate files and then import them as string.
2022-11-24 13:58:27 +04:00
Silvan Hagen
4ed245a405 fix: missing "the" in sentence regarding trial 2022-11-23 15:38:48 +00:00
renovate[bot]
0ca3031df1 Update sentry-javascript monorepo to v7.21.1 2022-11-23 15:15:14 +00:00
renovate[bot]
e4e8df44dd Update sentry-javascript monorepo to v7.21.0 2022-11-23 12:29:15 +07:00
Rishabh
33b959257c Released Portal v2.20.1 2022-11-18 14:32:46 +05:30
Rishabh
2487a314f5 Added guard for missing portal plans in portal site data
refs https://github.com/TryGhost/Team/issues/2276

Portal died with an unintelligible error about portal plans/includes being undefined when there was another react error on the page. The other error somehow caused the `site` data to be empty object for Portal, and there was one place where we didn't check for the empty object while transforming the site data which caused the failure.

This change adds the guard for failing check so we don't throw the error in such cases and process as normal.
2022-11-18 14:31:35 +05:30
Rishabh
ee55892c74 Updated portal tests
refs dc032fac02
2022-11-17 13:16:12 +05:30
Rishabh
97f358c389 Released Portal v2.20.0 2022-11-17 12:28:48 +05:30
Rishabh
dc032fac02 Fixed incorrectly showing magic link page on paid checkout
closes https://github.com/TryGhost/Team/issues/2274

When clicking on a tier, just before being redirected to the Stripe checkout, a Portal modal incorrectly showed the "Now check your email" message. Instead, this now shows a loading popup as expected while the checkout session is being created and redirected to.
2022-11-17 12:20:57 +05:30
Rishabh
9a290b6f77 Cleaned up old analytics setup in Portal
refs https://github.com/TryGhost/Team/issues/2216

- the analytics tag was an old alpha concept and has been moved away from since so its safe to remove
- the flag that enabled this feature no longer exists so its completely inaccessible
2022-11-14 10:44:10 +05:30
Simon Backx
28e4eb60ae
🐛 Fixed offer links with an archived tier (#15792)
refs https://github.com/TryGhost/Team/issues/2233

**Problem**
When a user clicks an offer link that has an archived tier, the site
blocks and you are no longer able to scroll. This is because the product
for that offer can't be found. This has been fixed by updating the
`isActiveOffer` helper to also check for the existence of the
corresponding tier.

**Solution**
- You no longer are able to create new offers if there are no active
tiers
- A custom message is shown that instructs the user to create a new tier
if there are not active tiers on the offers page
- Improved detection of changes in tiers by correctly reloading the
members utils service after tier changes
- Portal redirects to the homepage for offers with an archived tier
(same behaviour as invalid offers)
- Offers of an archived tier are no longer visible in the dashboard
2022-11-11 10:11:34 +01:00
James Morris
79147bc837 Released Portal v2.19.9 2022-11-09 10:45:25 +00:00
James Morris
c99685de2c Toning down the audience feedback error modal
refs https://github.com/TryGhost/Team/issues/2234
2022-11-09 10:15:37 +00:00
Fabien "egg" O'Carroll
c5ad1b0531 Released Portal v2.19.8 2022-11-03 09:46:43 +07:00
Fabien 'egg' O'Carroll
f9c31dd902
Fixed upgrades for paid members (#15760)
closes https://github.com/TryGhost/Team/issues/2202

Some parts of the codebase were not using the isSameCurrency helper
which meant that we were incorrectly filtering out tiers from the
upgrade screen. Tiers used to *usually* have a lowercased currency
property, but they now _always_ have an uppercased.
2022-11-03 09:45:34 +07:00
renovate[bot]
6afd6b6c75 Update dependency serve-handler to v6.1.5 2022-11-02 16:22:44 +07:00
Fabien "egg" O'Carroll
fb5e8fb2f3 Released Portal v2.19.7 2022-11-02 16:01:54 +07:00
Fabien "egg" O'Carroll
66b317ef78 Ensured plan is lowercased before being passed
This makes sure that we can correctly match the plan against either
"monthly" or "yearly"
2022-11-02 16:00:41 +07:00
Fabien "egg" O'Carroll
4785e25fe4 Released Portal v2.19.6 2022-11-02 15:58:36 +07:00
Fabien "egg" O'Carroll
bd5243b3bd Fixed creating checkout sessions with data-attribute-plan
refs https://github.com/TryGhost/Team/issues/2199

The data-attribute handler was not using the utils/api package but
instead reimplemnted the logic to create checkout sessions, this was
missed when moving to a redirect for checkout and so wasn't working
correctly.
2022-11-02 15:57:52 +07:00
Fabien "egg" O'Carroll
592e282f5b Updated data-members-plan handling to send Tier & Cadence
refs https://github.com/TryGhost/Team/issues/2199

Sending a price id was supposed to have been cleaned up but the
data-attributes file was missed.
2022-11-02 15:57:52 +07:00
Fabien "egg" O'Carroll
be66078a31 Released Portal v2.19.5 2022-11-02 00:32:35 +07:00
Fabien "egg" O'Carroll
743228ff1c 🐛 Fixed Portal showing paid Tiers when Stripe not connected
closes https://github.com/TryGhost/Team/issues/2197

Portal was relying on monthlyPrice or yearlyPrice being undefined as a
proxy to determine whether or not to show paid plans, this fixes it to
check for whether or not stripe is enabled.

I did consider using the portal_plans array to filter out unselected
Tiers, but wasn't sure of the repercussions, though it does seem like
the correct fix long term.
2022-11-02 00:11:33 +07:00
Fabien "egg" O'Carroll
68d887202a Released Portal v2.19.3 2022-10-28 18:39:04 +07:00
Fabien 'egg' O'Carroll
0396f59fec
Fixed error showing on Stripe Checkout (#15719)
`window.location.assign` does not return anything, so `result.error` was
failing because `result` was undefined. We've moved the handling of the
result of `redirectToCheckout` to be specific to that promise. We've
also removed the use of `catch` because all it did was rethrow the
error, which is default behaviour.
2022-10-28 16:48:22 +07:00
e.baidakova
657fe565f5 Released Portal v2.19.2 2022-10-27 23:29:19 +04:00
e.baidakova
3e97e47c39 Fix unauth error 2022-10-27 23:28:18 +04:00
e.baidakova
f2ba88e6e0 Released Portal v2.19.0 2022-10-27 20:25:30 +04:00
Elena Baidakova
310b70828f
Updated feedback confirmation modal styles (#15706)
closes TryGhost/Team#2173
2022-10-27 18:45:34 +04:00
James Morris
1cfaadbaf5 Updated the login copy in the Portal login modal
refs https://github.com/TryGhost/Team/issues/2182
2022-10-27 15:30:25 +01:00
Simon Backx
c7ef22d4df
Updated feedback button links (#15701)
fixes https://github.com/TryGhost/Team/issues/2174

The feedback links now use a hash instead of a querystring, so it won't pass by the server.

New format: https://site.ghost/post-slug/#/feedback/6359174f2eb251019d14d6fb/0?uuid=13924399-c3ae-413b-a045-0b8294d71f64
2022-10-26 18:04:11 +02:00
Simon Backx
310459c3b9 Cleaned up FeedbackPage 2022-10-26 14:26:57 +02:00
Simon Backx
3cb56bad94 Added confirmation step when sending feedback
fixes https://github.com/TryGhost/Team/issues/2161

Confirmation step is skipped when already signed in.
2022-10-26 14:18:07 +02:00
James Morris
4c6a57c8f3 Updated the feedback copy for Portal modal based on recent feedback
refs https://github.com/TryGhost/Team/issues/2170
2022-10-26 11:59:57 +01:00
James Morris
7b0bf8191d Released Portal v2.18.0 2022-10-24 12:36:57 +01:00
James Morris
4f934ac94f Released Portal v2.17.0 2022-10-24 12:36:04 +01:00
James Morris
627b35aee4 Improved the error modals for audience feedback and newsletter unsubscribe
- Main goal to improve modal when audience feedback fails
- Felt right to also improve the newsletter unsubscribe issue, too
- Makes this more pleasing to read and look at, nothing fancy

refs https://github.com/TryGhost/Team/issues/2081
2022-10-24 12:11:30 +01:00
Fabien "egg" O'Carroll
0f03b5eddb Released Portal v2.16.0 2022-10-24 15:12:02 +07:00
Fabien "egg" O'Carroll
4f54cbc37a Supported payment URL in Portal
refs https://github.com/TryGhost/Team/issues/2078

As part of decoupling Stripe from the members feature, we are going to be using
payment URLs rather than Stripe sepcific session ids and publick keys.

This prepares Portal to work with the new system, whilst retainign the existing
functionality
2022-10-19 11:06:10 +07:00
Rishabh
fdff8814b1 Bumped portal package.json to latest version
refs d381ff87b8

- portal was bumped to 2.15 but the version in package json didn't get auto-updated
2022-10-14 22:15:02 +05:30
renovate[bot]
ab598dd7ea Update dependency minimist to v1.2.7 2022-10-12 10:16:31 +07:00
Simon Backx
c670209c82
Added audience feedback handling to Portal (#15590)
fixes https://github.com/TryGhost/Team/issues/2048

Changes so Portal can handle feedback links and use the members API to store a vote.
2022-10-11 17:14:43 +02:00
renovate[bot]
3b62e8c52f Update sentry-javascript monorepo to v7.15.0 2022-10-11 09:24:03 +07:00
renovate[bot]
84549838a4 Update sentry-javascript monorepo to v7.14.2 2022-10-07 08:41:20 +07:00
Daniel Lockyer
be46f8e9a8
Removed eslint-plugin-ghost from Portal package.json
- we don't need it here anymore because it's brought in through the
  top-level repo package.json
2022-10-07 08:36:23 +07:00
Daniel Lockyer
12aaaa6d6e
Removed Portal's .editorconfig file
- this should no longer be needed because we have a top-level
  .editorconfig file
2022-10-06 11:23:39 +07:00
Simon Backx
eac8fbfdfd Released Portal v2.14.0 2022-10-05 12:44:18 +02:00
Simon Backx
e7378520a0
🔒 Prevented member creation when logging in (#15526)
fixes https://github.com/TryGhost/Ghost/issues/14508

This change requires the frontend to send an explicit `emailType` when sending a magic link. We default to `subscribe` (`signin` for invite only sites) for now to remain compatible with the existing behaviour.

**Problem:**
When a member tries to login and that member doesn't exist, we created a new member in the past.

- This caused the creation of duplicate accounts when members were guessing the email address they used.
- This caused the creation of new accounts when using an old impersonation token, login link or email change link that was sent before member deletion.

**Fixed:**
- Trying to login with an email address that doesn't exist will throw an error now.
- Added new and separate rate limiting to login (to prevent user enumeration). This rate limiting has a higher default limit of 8. I think it needs a higher default limit (because it is rate limited on every call instead of per email address. And it should be configurable independent from administrator rate limiting. It also needs a lower lifetime value because it is never reset.
- Updated error responses in the `sendMagicLink` endpoint to use the default error encoding middleware.
- The type (`signin`, `signup`, `updateEmail` or `subscribe`) is now stored in the magic link. This is used to prevent signups with a sign in token.

**Notes:**
- Between tests, we truncate the database, but this is not enough for the rate limits to be truly reset. I had to add a method to the spam prevention service to reset all the instances between tests. Not resetting them caused random failures because every login in every test was hitting those spam prevention middlewares and somehow left a trace of that in those instances (even when the brute table is reset). Maybe those instances were doing some in memory caching.
2022-10-05 12:42:42 +02:00
Daniel Lockyer
609fcb17c0
Removed main from yarn ship
- we might not necessarily be pushing to `main`, for example, if we're
  doing a patch release
2022-10-05 16:47:39 +07:00
Daniel Lockyer
8b7a573a1d
Released Portal v2.13.2 2022-10-05 16:03:46 +07:00
Daniel Lockyer
e60fc167e4
Improved yarn ship for Portal
refs https://github.com/TryGhost/Toolbox/issues/426

- with the existing `ship` command, it publishes to npm before pushing
  to GitHub
- I fear we're likely to run into a scenario where the HEAD of `main` is
  behind, so the git push fails, and then rebasing the HEAD will break
  the tags that we created
- in this scenario, I think it's better to hard reset back, git pull and
  then try again
- in that case, we need to publish to npm after GitHub
- this commit should implement that
2022-10-05 15:48:10 +07:00
Daniel Lockyer
700a62e048
Added quotes to version-tag-prefix
- without this, the following line does not apply for some reason
2022-10-05 15:27:20 +07:00
Daniel Lockyer
a26886ed65
Updated Portal README and repository link
refs https://github.com/TryGhost/Toolbox/issues/426

- these needed updating now Portal is in the monorepo
2022-10-05 15:22:17 +07:00
Daniel Lockyer
2a40f72f36
Added yarn test:unit to Portal
refs https://github.com/TryGhost/Toolbox/issues/426

- this ensures we provide a `test:unit` command for CI
- this probably needs changing in the future - not sure yet
2022-10-05 15:17:01 +07:00
Daniel Lockyer
22c85df66f
Added .yarnrc config for Portal
refs https://github.com/TryGhost/Toolbox/issues/426

- this ensures the git tag and commit message are in the expected format
2022-10-05 15:15:14 +07:00
Daniel Lockyer
314281cf08
Removed extraneous logging from Portal dev script
refs https://github.com/TryGhost/Toolbox/issues/426

- now Portal is in the monorepo, the dev script doesn't need to wipe the
  console output nor print instructions as that should be handled with
  setting environment variables
2022-10-05 15:13:34 +07:00
Daniel Lockyer
181f12d2de
Cleaned up extra files in Portal package
refs https://github.com/TryGhost/Toolbox/issues/426

- these files are no longer needed now the code is in the Ghost monorepo
2022-10-05 15:06:36 +07:00
renovate[bot]
a5adffbcb5 Update Test & linting packages 2022-10-05 11:23:47 +07:00
Daniel Lockyer
b73a657435 Updated react-scripts and eslint-plugin-ghost dependencies
refs https://github.com/TryGhost/Toolbox/issues/426

- this commit bumps both dependencies because it resolves various issues
  I've encountered when moving Portal to the Ghost monorepo
2022-10-05 11:20:29 +07:00
Daniel Lockyer
8daa06a3b8 Fixed various linting issues
- these changes were needed ahead of the upcoming bump to react-scripts,
  which bumps eslint to v8, and therefore we can update
  eslint-plugin-ghost, which introduces some new linting rules
2022-10-05 11:11:03 +07:00
Daniel Lockyer
264e6d41a7 Updated CI Ubuntu version to latest
- 18.04 is deprecated and getting phased out so we should switch to the latest version
2022-10-05 10:58:24 +07:00
Daniel Lockyer
20d9256105 Updated CI Node version to 16
refs https://github.com/TryGhost/Toolbox/issues/163

- Node 16 is our recommended version so we should test using that
2022-10-05 10:56:39 +07:00
renovate[bot]
9608f834c3 Update sentry-javascript monorepo to v7.14.1 2022-10-04 15:59:31 +00:00
renovate[bot]
997d6896a1 Update sentry-javascript monorepo to v7.14.0 2022-09-29 19:50:44 +00:00
Rishabh
3314dafa78 v2.13.1 2022-09-28 00:17:31 +05:30
Rishabh
10e65f7fe8 Fixed incorrect import handling for data attributes
refs c3c503632b
2022-09-28 00:16:47 +05:30