Commit Graph

1645 Commits

Author SHA1 Message Date
Kevin Ansfield
c65c9c1e5e Extracted markdown-html-renderer to @tryghost/kg-markdown-html-renderer
no issue

- prep for further extraction of mobiledoc cards and renderer
2020-03-25 13:35:32 +00:00
Hannah Wolfe
72db5a67ca Added new @tryghost/errors package
- this will replace common.errors throughout the codebase
- allows us to break more pieces of ghost out into modules as it's a common dependency
2020-03-25 10:26:51 +00:00
Daniel Lockyer
5030be31cf Version bump to 3.12.0 2020-03-23 12:23:44 +00:00
Renovate Bot
98e606260b Update Test & linting packages 2020-03-23 01:16:13 +00:00
Renovate Bot
24f001c8d3 Update dependency sharp to v0.25.2 2020-03-20 23:16:43 +00:00
Renovate Bot
e7c9b8b9d8 Update dependency @tryghost/vhost-middleware to v1.0.2 2020-03-20 22:19:18 +00:00
Hannah Wolfe
5ea10b47bd Replaced zip tools with @tryghost/zip
- Moved zipFolder to a new package
- also exposing extract-zip from the new package
- new package has the API pre-promisified
- also uses @tryghost/extract-zip instead of extract-zip, which has bugfixes
2020-03-20 21:08:57 +00:00
Renovate Bot
51e382cd0f Update dependency fs-extra to v9 2020-03-20 18:45:10 +00:00
Renovate Bot
ba430d989a Update dependency @sentry/node to v5.15.0 2020-03-20 09:43:30 +00:00
Renovate Bot
19aadf100d Update dependency gscan to v3.4.0 2020-03-20 09:43:02 +00:00
Renovate Bot
0507841c9e Update dependency grunt to v1.1.0 2020-03-17 06:46:44 +00:00
Fabien O'Carroll
d246a4761e Implemented externally verifiable identity tokens
no-issue

This adds two new endpoints, one at /ghost/.well-known/jwks.json for exposing
a public key, and one on the canary api /identities, which allows the
Owner user to fetch a JWT.

This token can then be used by external services to verify the domain

* Added ghost_{public,private}_key settings

    This key can be used for generating tokens for communicating with
    external services on behalf of Ghost

* Added .well-known directory to /ghost/.well-known

    We add a jwks.json file to the .well-known directory which exposes a
    public JWK which can be used to verify the signatures of JWT's created
    by Ghost

    This is added to the /ghost/ path so that it can live on the admin
    domain, rather than the frontend. This is because most of its
    uses/functions will be in relation to the admin domain.

* Improved settings model tests

    This removes hardcoded positions in favour of testing that a particular
    event wasn't emitted which is less brittle and more precise about what's
    being tested

* Fixed parent app unit tests for well-known

    This updates the parent app unit tests to check that the well-known
    route is mounted. We all change proxyquire to use `noCallThru` which
    ensures that the ubderlying modules are not required. This stops the
    initialisation logic in ./well-known erroring in tests

https://github.com/thlorenz/proxyquire/issues/215

* Moved jwt signature to a separate 'token' propery

    This structure corresponds to other resources and allows to exptend with
    additional properties in future if needed
2020-03-16 13:22:04 +01:00
Renovate Bot
ccd586ea6e Update dependency rewire to v5 2020-03-16 09:28:32 +00:00
Renovate Bot
784ae3ddf1 Update dependency @tryghost/social-urls to v0.1.6 2020-03-16 08:06:39 +00:00
Renovate Bot
1288dce961 Update dependency @tryghost/url-utils to v0.6.14 2020-03-16 08:06:26 +00:00
Renovate Bot
f645e20b92 Update dependency @tryghost/helpers to v1.1.23 2020-03-16 08:06:14 +00:00
Renovate Bot
118c546e8c Update dependency sanitize-html to v1.22.1 2020-03-16 06:54:56 +00:00
Renovate Bot
0372616421 Update dependency @sentry/node to v5.14.2 2020-03-16 06:51:51 +00:00
Kevin Ansfield
531ef01c48 Update dependency @tryghost/html-to-mobiledoc to v0.6.4
no issue

- includes fixes for html->mobiledoc conversion
  - fixes multiple spaces appearing in text content if source content is indented and has newlines
  - fixes crash if source content has `<li>` elements containing headers
  - fixes crash if source content has non-`<li>` top-level elements inside a list
  - fixes `blockquote>p` markup in source content losing blockquote styling
2020-03-12 18:57:06 +00:00
Daniel Lockyer
303def2045 Version bump to 3.11.0 2020-03-10 13:02:54 +00:00
Daniel Lockyer
52ccd4648f Version bump to 3.10.0 2020-03-09 10:49:09 +00:00
Renovate Bot
4215cee395 Update dependency sharp to v0.25.1 2020-03-09 07:53:07 +00:00
Renovate Bot
7fcb6c8e8f Update dependency uuid to v7.0.2 2020-03-09 07:33:53 +00:00
Renovate Bot
478a0668e4 Update dependency @sentry/node to v5.13.2 2020-03-09 07:33:32 +00:00
Renovate Bot
403f7990e8 Update dependency express-hbs to v2.3.1 2020-03-09 07:33:18 +00:00
Renovate Bot
2d20778bcb Update metascraper to v5.11.6 2020-03-09 07:32:59 +00:00
Nazar Gargol
c0512e30bb Added custom currency support for Memer's plans
no issue

- Multiple currencies for membe plans were supported under the hood but never had a clear interface to manage them. This change allows to reference currently used currency and it's symbol from the theme layer with following syntax: `{{@price.currency}}` and `{{@price.currency_symbol}}
2020-03-04 13:15:21 +08:00
Daniel Lockyer
e31ba0dea3 Updated ghost-storage-base dependency
no issue
2020-03-03 09:56:40 +00:00
Renovate Bot
92c85f1485 Update dependency mocha to v7 2020-03-03 08:35:39 +00:00
Renovate Bot
095ed2a892 Update dependency uuid to v7 2020-03-03 08:32:58 +00:00
Daniel Lockyer
f7bc233f4c Version bump to 3.9.0 2020-03-02 12:02:24 +00:00
Renovate Bot
c9af8844ba Update dependency @sentry/node to v5.13.1 2020-03-02 08:16:11 +00:00
Renovate Bot
394305ad0c Update dependency amperize to v0.6.1 2020-03-02 02:20:01 +00:00
Renovate Bot
35b9511c3e Update dependency @sentry/node to v5.12.5 2020-03-02 01:20:52 +00:00
Kevin Ansfield
8218f490cd Added capture of geolocation during member signup/signin
no issue

- updated `@tryghost/members-api` which now includes geolocation lookup from IP address during member signup and signin when geolocation data doesn't already exist
2020-02-27 10:46:37 +00:00
Naz
3af621ea9a
Added handling allowing members to edit their billing info (#11571)
no issue

- This functionality allows member to update their billing information, like credit card information.
- Adds handler to update Stripe billing when element with `data-members-edit-billing` attribute is present on the page. Additional `data-members-success` and `data-members-cancel` attributes could be used to control the redirects on billing update success or failure. They work in the same fission as for 'members-plan' (https://ghost.org/docs/members/checkout-buttons/#redirects)
2020-02-26 12:42:41 +08:00
Daniel Lockyer
119c5359ec Updated test dependencies
no issue
2020-02-24 19:16:38 +00:00
Daniel Lockyer
474f0a2184 Updated semver dependency
no issue

- required code change for new API
2020-02-24 18:01:53 +00:00
Renovate Bot
c3125dd19f Update dependency sanitize-html to v1.22.0 2020-02-24 12:49:37 +00:00
Renovate Bot
fc0042087d Update dependency ajv to v6.12.0 2020-02-24 12:45:22 +00:00
Daniel Lockyer
38c10e3585 Updated dependencies
no issue

- now Node v8 has been dropped, several dependencies can be updated
2020-02-24 12:25:11 +00:00
Daniel Lockyer
ac511a4a9d 🔥 Dropped Node v8 support
no issue

- Node v8 became EOL as of 2019-12-31
2020-02-24 12:25:11 +00:00
Daniel Lockyer
d9b8fc64b0 Version bump to 3.8.0 2020-02-24 11:53:34 +00:00
Renovate Bot
d144d0015f Update dependency @sentry/node to v5.12.4 2020-02-24 01:19:46 +00:00
Daniel Lockyer
b2940692e2 Removed unused cpy-cli dependency
no issue
2020-02-20 13:36:42 +00:00
Renovate Bot
32e706991c Update dependency mysql to v2.18.1 2020-02-19 14:06:17 +00:00
Daniel Lockyer
e8dd42d040 Revert "Update dependency grunt-mocha-cli to v5"
This reverts commit 7e5490aab4.
2020-02-19 09:46:09 +00:00
Renovate Bot
7e5490aab4 Update dependency grunt-mocha-cli to v5 2020-02-18 21:24:11 +00:00
Renovate Bot
4cfdd33347 Update dependency sanitize-html to v1.21.1 2020-02-18 20:59:52 +00:00
Renovate Bot
9519e4be6b Update dependency uuid to v3.4.0 2020-02-18 20:26:15 +00:00
Renovate Bot
e173d08663 Update dependency chalk to v3 2020-02-18 20:01:21 +00:00
Renovate Bot
f2c050a105 Update dependency ajv to v6.11.0 2020-02-18 19:01:19 +00:00
Daniel Lockyer
9ccb0346a4 Version bump to 3.7.0 2020-02-18 12:23:18 +00:00
Nazar Gargol
8def4fb402 Bumped @tryghost/members-api to 0.15.1
no issue

- This bump removed limitation to cancel/renew "Complimentary" plan subscription
2020-02-17 16:31:23 +08:00
Renovate Bot
63b6bb58ad Update dependency @tryghost/vhost-middleware to v1.0.1 2020-02-17 01:18:44 +00:00
Daniel Lockyer
b7f1579968 Version bump to 3.6.0 2020-02-14 11:50:36 +00:00
Rishabh Garg
001db05075
Added labels for Members (#11538)
no issue

* Updated sendEmailWithMagicLink syntax

* Updated label name selection from theme

* Updated migration version for labels

* Added labels to export/import of members

* Added member labels sanitization for case-insensitive duplicates

* Fixed tests

* Fixed label serialization bug on import

* Bumped @tryghost/members-api to 0.15.0

* Fixed lint

* Cleanup
2020-02-14 15:03:10 +05:30
Daniel Lockyer
d2aee78b01 Version bump to 3.5.2 2020-02-11 09:37:50 +00:00
Nazar Gargol
995788f5a2 Bumped @tryghost/members-api to 0.14.2
d8acfba44a

- The bump is needed to handle plan nickname fallback with an actual value instead of empty string
2020-02-11 14:11:06 +08:00
Renovate Bot
d64efff9db Update dependency @sentry/node to v5.12.3 2020-02-10 18:02:47 +00:00
Daniel Lockyer
1254ac7ac7 Version bump to 3.5.1 2020-02-10 12:55:55 +00:00
Daniel Lockyer
67f856c572 Update gscan dependency to 3.3.1
no issue
2020-02-10 12:38:55 +00:00
Nazar Gargol
27d2c2fb3a Bumped @tryghost/members-api to 0.14.1
no issue

- This bump fixes a problem where members_stripe_customers_subscriptions were not able to be created due to plan 'nickname' NOT NULL constraing. This case was possible because in earlier versions of Stripe API  `nickname` property was allowed to be `null`
2020-02-10 19:11:42 +08:00
Renovate Bot
6a6413cec5 Update dependency @sentry/node to v5.11.2 2020-02-10 01:16:53 +00:00
Daniel Lockyer
69ed7cd23f Version bump to 3.5.0 2020-02-05 11:42:31 +00:00
Renovate Bot
c863d215fb Update dependency gscan to v3.3.0 2020-02-04 13:16:06 +00:00
Naz Gargol
c295435b41
Added new fields to members CSV import (#11539)
no issue

- New fields that are accepted through members CSV import endpoint are:
  - `subscribed_to_emails` - corresponds to `subscribed` flag in API
  - `stripe_customer_id` - links existing Stripe customer to created member
  - `complimentary_plan` - flag controlling "Complimentary" plan subscription creation for imported member

- Noteworthy exception in field naming - `subscribed_to_emails` that corresponds to `subscribed` API flag present on members resources. It's a special case of CSV format, where users can be less technical it's more explicit to what the flag does (also the same naming is applied in the Admin UI)

- Failing to either link Stripe customer or assign "Complimentary" subscription to imported member behaves in a transaction-like manner - imported record is not created in the database. This is needed to be able to retry imports when it fails for reasons like connectivity failure with Stripe or Stripe miss-configuration.

- To avoid conflicts with linking same Stripe customer to multiple members there is a special handling for duplicate `stripe_customer_id` fields. Records with duplicates are removed from imported set.
2020-02-04 13:51:24 +08:00
Renovate Bot
2f78e53468 Update dependency @tryghost/html-to-mobiledoc to v0.6.3 2020-02-03 22:17:20 +00:00
Daniel Lockyer
d065c268a7 Reverted tmp to v0.0.33
no issue

- Renovate automerged a bump for tmp, but this version has a bug and
  shouldn't have passed the automated tests
- this commit reverts the package back to the working version
2020-02-03 15:22:26 +00:00
Renovate Bot
34be8e7cef Update Test & linting packages 2020-02-03 14:18:05 +00:00
Daniel Lockyer
7751e78c98 Integrated Sentry error tracking
no issue

- this allows tracking of application errors within Sentry
- only enabled for HTTP 500 errors for now
- it is disabled by default
2020-02-03 13:43:43 +00:00
Renovate Bot
97d6e6b98b Update dependency simple-html-tokenizer to v0.5.9 2020-02-03 01:17:46 +00:00
Renovate Bot
94047d24af Update dependency gscan to v3.2.5 2020-01-29 12:33:27 +00:00
Kevin Ansfield
b4f129f164 Version bump to 3.4.0 2020-01-28 17:23:42 +00:00
Kevin Ansfield
68e2274d6d Reverted "Integrated Sentry error tracking"
This reverts commit 6e024331eb.

Temporarily reverting whilst we investigate an issue with Sentry and running Ghost via Ghost-CLI.

Ghost-CLI initiated boot was failing when Sentry was installed due to what appears to be `process.cwd()` returning `undefined` here https://github.com/TryGhost/Ignition/blob/master/lib/config/index.js#L26
2020-01-28 17:21:37 +00:00
Naz Gargol
25f11bbf1c
Added complimentary member subscription (#11537)
no issue

- We need a way to simulate "premium" membership without any payment from members' side. For this new "Complimentary" plan is introduced
- Allows `comped` flag as an input only on `PUT /members/:id` endpoint which sets  free subscriptions based on "complimentary" plan on the member
- Added `comped` flag to members endpoint responses
- Bumped members-api to 0.12.0. This version supports new set/cancel complimentary subscription methods
2020-01-28 11:25:00 +07:00
Renovate Bot
56bcd4279f Update dependency @tryghost/helpers to v1.1.22 2020-01-27 01:16:37 +00:00
Daniel Lockyer
6e024331eb Integrated Sentry error tracking
no issue

- this allows tracking of application errors within Sentry
- only enabled for HTTP 500 errors for now
- it is disabled by default
2020-01-22 12:15:10 +07:00
Renovate Bot
13c87c687f Update dependency @tryghost/members-ssr to v0.7.4 2020-01-20 11:18:42 +00:00
Rish
334bdc3f10 Installed @tryghost/members-api@0..11.2
no-issue

Fixes incorrect stripe subscriptions structure in user CRUD
2020-01-20 13:42:55 +05:30
Renovate Bot
a3e0594fa5 Update dependency @tryghost/helpers to v1.1.21 2020-01-20 01:19:22 +00:00
renovate[bot]
af4ecb7b76 Update dependency cookie-session to v1.4.0 (#11510)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-17 13:10:48 +07:00
Nazar Gargol
e9e3f58792 Refactored member controller to use model layer
refs https://github.com/TryGhost/Members/pull/105

- As members module has become a core part it makes sense to follow the same principles as in all other controllers and use the model directly instead of calling external services.
- Bumped @tryghost/members-api to 0.11.1 . New stripe-specific methods used in controllers are available starting with this version
- Exposing these new methods is a little hacky because there are no relationships setup on members_* tables. Left notes for future improvements once relations are introduced.
- We don't allow for chaging member's emails at the moment. For this reason had to modify JSON schema a little. It doesn't support OO inheritence: "This shortcoming is perhaps one of the biggest surprises of the combining operations in JSON schema: it does not behave like inheritance in an object-oriented language. " (ref. https://json-schema.org/understanding-json-schema/reference/combining.html#allof)
2020-01-15 17:52:47 +07:00
Fabien O'Carroll
f31a338797 Version bump to 3.3.0 2020-01-13 14:08:24 +02:00
Nazar Gargol
72ae194fbc Refactored member metadata logic into @tryghost/members-api package
refs c059e8e32e

- Reason why the refactor was needed can be found in refed commit
- The logic was extracted into members-api through passing models
directly as member-api module constructor parameters
- Bumped @tryghost/members-api to 0.11.0. Needed to work after the
refactor
2020-01-13 16:42:15 +07:00
Renovate Bot
caabdad7ad Update dependency gscan to v3.2.2 2020-01-13 07:18:41 +00:00
Renovate Bot
cd7dcef481 Update dependency metascraper-url to v5.8.13 2020-01-13 05:26:28 +00:00
Renovate Bot
db8a598e5a Update dependency ghost-ignition to v4 2020-01-07 15:15:51 +01:00
Renovate Bot
d7f38cbedb Update dependency metascraper-description to v5.8.15 2019-12-30 01:17:13 +00:00
Renovate Bot
5874570d45 Update dependency metascraper-title to v5.8.13 2019-12-23 09:36:35 +00:00
Renovate Bot
17f8a8bfbc Update dependency oembed-parser to v1.3.7 2019-12-23 09:16:43 +00:00
Renovate Bot
52c7628a48 Update dependency metascraper-logo-favicon to v5.8.13 2019-12-23 08:17:42 +00:00
Renovate Bot
3cabd27042 Update dependency metascraper-image to v5.8.13 2019-12-23 07:16:14 +00:00
Renovate Bot
2aec73c2e2 Update dependency metascraper-publisher to v5.8.13 2019-12-23 06:16:42 +00:00
Renovate Bot
f2bba8c633 Update dependency metascraper-logo to v5.8.13 2019-12-23 05:16:43 +00:00
Renovate Bot
f49b1a8313 Update dependency metascraper-author to v5.8.13 2019-12-23 04:17:16 +00:00
Renovate Bot
7f08e0b31e Update dependency metascraper-description to v5.8.13 2019-12-23 03:17:25 +00:00
Renovate Bot
a07818f302 Update dependency metascraper to v5.8.13 2019-12-23 02:17:40 +00:00
Renovate Bot
c047232626 Update dependency @tryghost/helpers to v1.1.20 2019-12-23 01:20:52 +00:00
Renovate Bot
6ecc7d197b Update dependency metascraper-title to v5.8.12 2019-12-17 19:16:06 +00:00