ghost 5.82.4 → 5.82.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/tryghost-adapter-cache-memory-ttl-5.82.6.tgz +0 -0
- package/components/tryghost-adapter-cache-redis-5.82.6.tgz +0 -0
- package/components/{tryghost-adapter-manager-5.82.4.tgz → tryghost-adapter-manager-5.82.6.tgz} +0 -0
- package/components/tryghost-announcement-bar-settings-5.82.6.tgz +0 -0
- package/components/tryghost-api-framework-5.82.6.tgz +0 -0
- package/components/tryghost-api-version-compatibility-service-5.82.6.tgz +0 -0
- package/components/tryghost-audience-feedback-5.82.6.tgz +0 -0
- package/components/{tryghost-bookshelf-repository-5.82.4.tgz → tryghost-bookshelf-repository-5.82.6.tgz} +0 -0
- package/components/tryghost-bootstrap-socket-5.82.6.tgz +0 -0
- package/components/tryghost-collections-5.82.6.tgz +0 -0
- package/components/{tryghost-constants-5.82.4.tgz → tryghost-constants-5.82.6.tgz} +0 -0
- package/components/tryghost-custom-theme-settings-service-5.82.6.tgz +0 -0
- package/components/{tryghost-data-generator-5.82.4.tgz → tryghost-data-generator-5.82.6.tgz} +0 -0
- package/components/tryghost-domain-events-5.82.6.tgz +0 -0
- package/components/{tryghost-donations-5.82.4.tgz → tryghost-donations-5.82.6.tgz} +0 -0
- package/components/tryghost-dynamic-routing-events-5.82.6.tgz +0 -0
- package/components/{tryghost-email-addresses-5.82.4.tgz → tryghost-email-addresses-5.82.6.tgz} +0 -0
- package/components/tryghost-email-analytics-provider-mailgun-5.82.6.tgz +0 -0
- package/components/tryghost-email-analytics-service-5.82.6.tgz +0 -0
- package/components/tryghost-email-content-generator-5.82.6.tgz +0 -0
- package/components/{tryghost-email-events-5.82.4.tgz → tryghost-email-events-5.82.6.tgz} +0 -0
- package/components/{tryghost-email-service-5.82.4.tgz → tryghost-email-service-5.82.6.tgz} +0 -0
- package/components/tryghost-email-suppression-list-5.82.6.tgz +0 -0
- package/components/{tryghost-express-dynamic-redirects-5.82.4.tgz → tryghost-express-dynamic-redirects-5.82.6.tgz} +0 -0
- package/components/{tryghost-external-media-inliner-5.82.4.tgz → tryghost-external-media-inliner-5.82.6.tgz} +0 -0
- package/components/tryghost-extract-api-key-5.82.6.tgz +0 -0
- package/components/tryghost-ghost-5.82.6.tgz +0 -0
- package/components/tryghost-html-to-plaintext-5.82.6.tgz +0 -0
- package/components/tryghost-i18n-5.82.6.tgz +0 -0
- package/components/{tryghost-importer-handler-content-files-5.82.4.tgz → tryghost-importer-handler-content-files-5.82.6.tgz} +0 -0
- package/components/{tryghost-importer-revue-5.82.4.tgz → tryghost-importer-revue-5.82.6.tgz} +0 -0
- package/components/tryghost-in-memory-repository-5.82.6.tgz +0 -0
- package/components/{tryghost-job-manager-5.82.4.tgz → tryghost-job-manager-5.82.6.tgz} +0 -0
- package/components/{tryghost-link-redirects-5.82.4.tgz → tryghost-link-redirects-5.82.6.tgz} +0 -0
- package/components/{tryghost-link-replacer-5.82.4.tgz → tryghost-link-replacer-5.82.6.tgz} +0 -0
- package/components/tryghost-link-tracking-5.82.6.tgz +0 -0
- package/components/tryghost-magic-link-5.82.6.tgz +0 -0
- package/components/tryghost-mail-events-5.82.6.tgz +0 -0
- package/components/tryghost-mailgun-client-5.82.6.tgz +0 -0
- package/components/{tryghost-member-attribution-5.82.4.tgz → tryghost-member-attribution-5.82.6.tgz} +0 -0
- package/components/tryghost-member-events-5.82.6.tgz +0 -0
- package/components/tryghost-members-api-5.82.6.tgz +0 -0
- package/components/{tryghost-members-csv-5.82.4.tgz → tryghost-members-csv-5.82.6.tgz} +0 -0
- package/components/tryghost-members-events-service-5.82.6.tgz +0 -0
- package/components/{tryghost-members-importer-5.82.4.tgz → tryghost-members-importer-5.82.6.tgz} +0 -0
- package/components/{tryghost-members-offers-5.82.4.tgz → tryghost-members-offers-5.82.6.tgz} +0 -0
- package/components/tryghost-members-payments-5.82.6.tgz +0 -0
- package/components/tryghost-members-ssr-5.82.6.tgz +0 -0
- package/components/tryghost-members-stripe-service-5.82.6.tgz +0 -0
- package/components/{tryghost-mentions-email-report-5.82.4.tgz → tryghost-mentions-email-report-5.82.6.tgz} +0 -0
- package/components/tryghost-milestones-5.82.6.tgz +0 -0
- package/components/tryghost-minifier-5.82.6.tgz +0 -0
- package/components/{tryghost-model-to-domain-event-interceptor-5.82.4.tgz → tryghost-model-to-domain-event-interceptor-5.82.6.tgz} +0 -0
- package/components/tryghost-mw-api-version-mismatch-5.82.6.tgz +0 -0
- package/components/tryghost-mw-cache-control-5.82.6.tgz +0 -0
- package/components/tryghost-mw-error-handler-5.82.6.tgz +0 -0
- package/components/tryghost-mw-session-from-token-5.82.6.tgz +0 -0
- package/components/{tryghost-mw-update-user-last-seen-5.82.4.tgz → tryghost-mw-update-user-last-seen-5.82.6.tgz} +0 -0
- package/components/tryghost-mw-version-match-5.82.6.tgz +0 -0
- package/components/tryghost-mw-vhost-5.82.6.tgz +0 -0
- package/components/tryghost-nql-filter-expansions-5.82.6.tgz +0 -0
- package/components/tryghost-oembed-service-5.82.6.tgz +0 -0
- package/components/tryghost-package-json-5.82.6.tgz +0 -0
- package/components/{tryghost-post-events-5.82.4.tgz → tryghost-post-events-5.82.6.tgz} +0 -0
- package/components/{tryghost-post-revisions-5.82.4.tgz → tryghost-post-revisions-5.82.6.tgz} +0 -0
- package/components/tryghost-posts-service-5.82.6.tgz +0 -0
- package/components/tryghost-recommendations-5.82.6.tgz +0 -0
- package/components/{tryghost-referrers-5.82.4.tgz → tryghost-referrers-5.82.6.tgz} +0 -0
- package/components/{tryghost-security-5.82.4.tgz → tryghost-security-5.82.6.tgz} +0 -0
- package/components/tryghost-session-service-5.82.6.tgz +0 -0
- package/components/tryghost-settings-path-manager-5.82.6.tgz +0 -0
- package/components/tryghost-slack-notifications-5.82.6.tgz +0 -0
- package/components/{tryghost-staff-service-5.82.4.tgz → tryghost-staff-service-5.82.6.tgz} +0 -0
- package/components/tryghost-stats-service-5.82.6.tgz +0 -0
- package/components/tryghost-tiers-5.82.6.tgz +0 -0
- package/components/tryghost-update-check-service-5.82.6.tgz +0 -0
- package/components/tryghost-verification-trigger-5.82.6.tgz +0 -0
- package/components/tryghost-version-notifications-data-service-5.82.6.tgz +0 -0
- package/components/tryghost-webmentions-5.82.6.tgz +0 -0
- package/core/built/admin/assets/admin-x-activitypub/admin-x-activitypub.js +580 -579
- package/core/built/admin/assets/admin-x-demo/admin-x-demo.js +2 -2
- package/core/built/admin/assets/admin-x-demo/{index-e36f9f54.mjs → index-e30bf632.mjs} +815 -810
- package/core/built/admin/assets/admin-x-demo/{modals-54e6eae1.mjs → modals-44d6f757.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{CodeEditorView-834e7ac8.mjs → CodeEditorView-c72ff915.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-957ece55.mjs → index-ab6aea43.mjs} +3327 -3316
- package/core/built/admin/assets/admin-x-settings/{index-f994fb82.mjs → index-c91e5b06.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{modals-5264a854.mjs → modals-839cba44.mjs} +179 -182
- package/core/built/admin/assets/{chunk.524.bd8238874f4b73f48c54.js → chunk.524.345dd86d27c39187264a.js} +5 -5
- package/core/built/admin/assets/{chunk.582.0c6120fa7382f5d485e0.js → chunk.582.852e4321cd6722a5c000.js} +4 -4
- package/core/built/admin/assets/{chunk.799.51e503059770581f528f.js → chunk.799.5012e659e3d64d043636.js} +504 -505
- package/core/built/admin/assets/{ghost-0723ddb4afa369fc0303017c40ffffe0.js → ghost-97178f083d12f4245398362739b9eb0d.js} +12 -10
- package/core/built/admin/assets/{ghost-dark-7488b47ac1849513fde7b7c8e51b3a70.css → ghost-dark-330dba70f72cf7c29a9c02c0fdef7377.css} +1 -1
- package/core/built/admin/assets/{ghost-f84b3f229da06680df6c13ebd46ab671.css → ghost-e031f7ab21c73aa9a2a05ef2703e39cb.css} +1 -1
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +2236 -2229
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +87 -87
- package/core/built/admin/index.html +5 -5
- package/core/frontend/helpers/url.js +0 -2
- package/core/frontend/services/routing/RouterManager.js +0 -5
- package/core/frontend/services/routing/controllers/index.js +0 -4
- package/core/frontend/web/middleware/handle-image-sizes.js +10 -2
- package/core/server/data/migrations/versions/5.0/2022-03-14-12-33-delete-duplicate-offer-redemptions.js +1 -1
- package/core/server/services/link-redirection/LinkRedirectRepository.js +1 -3
- package/core/server/services/members/MembersConfigProvider.js +1 -3
- package/core/server/web/api/middleware/upload.js +7 -1
- package/core/server/web/members/app.js +0 -3
- package/core/shared/labs.js +5 -3
- package/core/shared/sentry.js +5 -1
- package/package.json +181 -181
- package/yarn.lock +627 -814
- package/components/tryghost-adapter-cache-memory-ttl-5.82.4.tgz +0 -0
- package/components/tryghost-adapter-cache-redis-5.82.4.tgz +0 -0
- package/components/tryghost-announcement-bar-settings-5.82.4.tgz +0 -0
- package/components/tryghost-api-framework-5.82.4.tgz +0 -0
- package/components/tryghost-api-version-compatibility-service-5.82.4.tgz +0 -0
- package/components/tryghost-audience-feedback-5.82.4.tgz +0 -0
- package/components/tryghost-bootstrap-socket-5.82.4.tgz +0 -0
- package/components/tryghost-collections-5.82.4.tgz +0 -0
- package/components/tryghost-custom-theme-settings-service-5.82.4.tgz +0 -0
- package/components/tryghost-domain-events-5.82.4.tgz +0 -0
- package/components/tryghost-dynamic-routing-events-5.82.4.tgz +0 -0
- package/components/tryghost-email-analytics-provider-mailgun-5.82.4.tgz +0 -0
- package/components/tryghost-email-analytics-service-5.82.4.tgz +0 -0
- package/components/tryghost-email-content-generator-5.82.4.tgz +0 -0
- package/components/tryghost-email-suppression-list-5.82.4.tgz +0 -0
- package/components/tryghost-extract-api-key-5.82.4.tgz +0 -0
- package/components/tryghost-ghost-5.82.4.tgz +0 -0
- package/components/tryghost-html-to-plaintext-5.82.4.tgz +0 -0
- package/components/tryghost-i18n-5.82.4.tgz +0 -0
- package/components/tryghost-in-memory-repository-5.82.4.tgz +0 -0
- package/components/tryghost-link-tracking-5.82.4.tgz +0 -0
- package/components/tryghost-magic-link-5.82.4.tgz +0 -0
- package/components/tryghost-mail-events-5.82.4.tgz +0 -0
- package/components/tryghost-mailgun-client-5.82.4.tgz +0 -0
- package/components/tryghost-member-events-5.82.4.tgz +0 -0
- package/components/tryghost-members-api-5.82.4.tgz +0 -0
- package/components/tryghost-members-events-service-5.82.4.tgz +0 -0
- package/components/tryghost-members-payments-5.82.4.tgz +0 -0
- package/components/tryghost-members-ssr-5.82.4.tgz +0 -0
- package/components/tryghost-members-stripe-service-5.82.4.tgz +0 -0
- package/components/tryghost-milestones-5.82.4.tgz +0 -0
- package/components/tryghost-minifier-5.82.4.tgz +0 -0
- package/components/tryghost-mw-api-version-mismatch-5.82.4.tgz +0 -0
- package/components/tryghost-mw-cache-control-5.82.4.tgz +0 -0
- package/components/tryghost-mw-error-handler-5.82.4.tgz +0 -0
- package/components/tryghost-mw-session-from-token-5.82.4.tgz +0 -0
- package/components/tryghost-mw-version-match-5.82.4.tgz +0 -0
- package/components/tryghost-mw-vhost-5.82.4.tgz +0 -0
- package/components/tryghost-nql-filter-expansions-5.82.4.tgz +0 -0
- package/components/tryghost-oembed-service-5.82.4.tgz +0 -0
- package/components/tryghost-package-json-5.82.4.tgz +0 -0
- package/components/tryghost-posts-service-5.82.4.tgz +0 -0
- package/components/tryghost-recommendations-5.82.4.tgz +0 -0
- package/components/tryghost-session-service-5.82.4.tgz +0 -0
- package/components/tryghost-settings-path-manager-5.82.4.tgz +0 -0
- package/components/tryghost-slack-notifications-5.82.4.tgz +0 -0
- package/components/tryghost-stats-service-5.82.4.tgz +0 -0
- package/components/tryghost-tiers-5.82.4.tgz +0 -0
- package/components/tryghost-update-check-service-5.82.4.tgz +0 -0
- package/components/tryghost-verification-trigger-5.82.4.tgz +0 -0
- package/components/tryghost-version-notifications-data-service-5.82.4.tgz +0 -0
- package/components/tryghost-webmentions-5.82.4.tgz +0 -0
- package/core/frontend/services/routing/SubscribeRouter.js +0 -27
- package/core/frontend/services/routing/controllers/subscribe.js +0 -35
- package/core/frontend/views/subscribe.hbs +0 -36
- /package/core/built/admin/assets/{chunk.799.51e503059770581f528f.js.LICENSE.txt → chunk.799.5012e659e3d64d043636.js.LICENSE.txt} +0 -0
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<title>Ghost Admin</title>
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
<meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%22%2C%22cdnUrl%22%3A%22%22%2C%22editorUrl%22%3A%22%22%2C%22rootURL%22%3A%22%22%2C%22locationType%22%3A%22trailing-hash%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22Array%22%3Atrue%2C%22String%22%3Atrue%2C%22Function%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%225.82%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%7D%2C%22ember-websockets%22%3A%7B%22socketIO%22%3Atrue%7D%2C%22%40sentry%2Fember%22%3A%7B%22disablePerformance%22%3Atrue%2C%22sentry%22%3A%7B%7D%7D%2C%22ember-cli-mirage%22%3A%7B%22usingProxy%22%3Afalse%2C%22useDefaultPassthroughs%22%3Atrue%7D%2C%22exportApplicationGlobal%22%3Afalse%2C%22ember-load%22%3A%7B%22loadingIndicatorClass%22%3A%22ember-load-indicator%22%7D%2C%22editorFilename%22%3A%22koenig-lexical.umd.js%22%2C%22editorHash%22%3A%
|
|
11
|
+
<meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%22%2C%22cdnUrl%22%3A%22%22%2C%22editorUrl%22%3A%22%22%2C%22rootURL%22%3A%22%22%2C%22locationType%22%3A%22trailing-hash%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22Array%22%3Atrue%2C%22String%22%3Atrue%2C%22Function%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%225.82%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%7D%2C%22ember-websockets%22%3A%7B%22socketIO%22%3Atrue%7D%2C%22%40sentry%2Fember%22%3A%7B%22disablePerformance%22%3Atrue%2C%22sentry%22%3A%7B%7D%7D%2C%22ember-cli-mirage%22%3A%7B%22usingProxy%22%3Afalse%2C%22useDefaultPassthroughs%22%3Atrue%7D%2C%22exportApplicationGlobal%22%3Afalse%2C%22ember-load%22%3A%7B%22loadingIndicatorClass%22%3A%22ember-load-indicator%22%7D%2C%22editorFilename%22%3A%22koenig-lexical.umd.js%22%2C%22editorHash%22%3A%220dafa6bb9c%22%2C%22adminXDemoFilename%22%3A%22admin-x-demo.js%22%2C%22adminXDemoHash%22%3A%22cb1aa176ec%22%2C%22adminXSettingsFilename%22%3A%22admin-x-settings.js%22%2C%22adminXSettingsHash%22%3A%22a2190ecc4c%22%2C%22adminXActivitypubFilename%22%3A%22admin-x-activitypub.js%22%2C%22adminXActivitypubHash%22%3A%22ee41f6f558%22%7D" />
|
|
12
12
|
|
|
13
13
|
<meta name="HandheldFriendly" content="True" />
|
|
14
14
|
<meta name="MobileOptimized" content="320" />
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
</style>
|
|
38
38
|
|
|
39
39
|
<link integrity="" rel="stylesheet" href="assets/vendor-0ede59da8efb5e28fa929557f7ff7154.css">
|
|
40
|
-
<link integrity="" rel="stylesheet" href="assets/ghost-
|
|
40
|
+
<link integrity="" rel="stylesheet" href="assets/ghost-e031f7ab21c73aa9a2a05ef2703e39cb.css" title="light">
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
</head>
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
<div id="ember-basic-dropdown-wormhole"></div>
|
|
58
58
|
|
|
59
59
|
<script src="assets/vendor-5ef343f0a55366497ef903095548a0d5.js"></script>
|
|
60
|
-
<script src="assets/chunk.799.
|
|
61
|
-
<script src="assets/chunk.524.
|
|
62
|
-
<script src="assets/ghost-
|
|
60
|
+
<script src="assets/chunk.799.5012e659e3d64d043636.js"></script>
|
|
61
|
+
<script src="assets/chunk.524.345dd86d27c39187264a.js"></script>
|
|
62
|
+
<script src="assets/ghost-97178f083d12f4245398362739b9eb0d.js"></script>
|
|
63
63
|
</body>
|
|
64
64
|
</html>
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
const {metaData} = require('../services/proxy');
|
|
8
8
|
const {SafeString} = require('../services/handlebars');
|
|
9
9
|
const logging = require('@tryghost/logging');
|
|
10
|
-
const sentry = require('../../shared/sentry');
|
|
11
10
|
const errors = require('@tryghost/errors');
|
|
12
11
|
|
|
13
12
|
const {getMetaDataUrl} = metaData;
|
|
@@ -26,7 +25,6 @@ module.exports = function url(options) {
|
|
|
26
25
|
message: `The url "${outputUrl}" couldn't be escaped correctly`,
|
|
27
26
|
err: err
|
|
28
27
|
});
|
|
29
|
-
sentry.captureException(error);
|
|
30
28
|
logging.error(error);
|
|
31
29
|
|
|
32
30
|
return new SafeString('');
|
|
@@ -8,7 +8,6 @@ const PreviewRouter = require('./PreviewRouter');
|
|
|
8
8
|
const ParentRouter = require('./ParentRouter');
|
|
9
9
|
const EmailRouter = require('./EmailRouter');
|
|
10
10
|
const UnsubscribeRouter = require('./UnsubscribeRouter');
|
|
11
|
-
const SubscribeRouter = require('./SubscribeRouter');
|
|
12
11
|
|
|
13
12
|
// This emits its own routing events
|
|
14
13
|
const events = require('../../../server/lib/common/events');
|
|
@@ -110,10 +109,6 @@ class RouterManager {
|
|
|
110
109
|
this.siteRouter.mountRouter(unsubscribeRouter.router());
|
|
111
110
|
this.registry.setRouter('unsubscribeRouter', unsubscribeRouter);
|
|
112
111
|
|
|
113
|
-
const subscribeRouter = new SubscribeRouter();
|
|
114
|
-
this.siteRouter.mountRouter(subscribeRouter.router());
|
|
115
|
-
this.registry.setRouter('subscribeRouter', subscribeRouter);
|
|
116
|
-
|
|
117
112
|
if (RESOURCE_CONFIG.QUERY.email) {
|
|
118
113
|
const emailRouter = new EmailRouter(RESOURCE_CONFIG);
|
|
119
114
|
this.siteRouter.mountRouter(emailRouter.router());
|
|
@@ -9,9 +9,10 @@ const {imageSize} = require('../../../server/lib/image');
|
|
|
9
9
|
|
|
10
10
|
const SIZE_PATH_REGEX = /^\/size\/([^/]+)\//;
|
|
11
11
|
const FORMAT_PATH_REGEX = /^\/format\/([^./]+)\//;
|
|
12
|
-
|
|
13
12
|
const TRAILING_SLASH_REGEX = /\/+$/;
|
|
14
13
|
|
|
14
|
+
const RESIZE_TIMEOUT_SECONDS = 10;
|
|
15
|
+
|
|
15
16
|
module.exports = function handleImageSizes(req, res, next) {
|
|
16
17
|
// In admin we need to read images and calculate the average color (blocked by CORS otherwise)
|
|
17
18
|
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
@@ -123,7 +124,12 @@ module.exports = function handleImageSizes(req, res, next) {
|
|
|
123
124
|
if (originalImageBuffer.length <= 0) {
|
|
124
125
|
throw new NoContentError();
|
|
125
126
|
}
|
|
126
|
-
return imageTransform.resizeFromBuffer(originalImageBuffer, {
|
|
127
|
+
return imageTransform.resizeFromBuffer(originalImageBuffer, {
|
|
128
|
+
withoutEnlargement: requestUrlFileExtension !== '.svg',
|
|
129
|
+
...imageDimensionConfig,
|
|
130
|
+
format,
|
|
131
|
+
timeout: RESIZE_TIMEOUT_SECONDS
|
|
132
|
+
});
|
|
127
133
|
})
|
|
128
134
|
.then((resizedImageBuffer) => {
|
|
129
135
|
return storageInstance.saveRaw(resizedImageBuffer, req.url);
|
|
@@ -147,3 +153,5 @@ module.exports = function handleImageSizes(req, res, next) {
|
|
|
147
153
|
next(err);
|
|
148
154
|
});
|
|
149
155
|
};
|
|
156
|
+
|
|
157
|
+
module.exports.RESIZE_TIMEOUT_SECONDS = RESIZE_TIMEOUT_SECONDS;
|
|
@@ -159,9 +159,9 @@ module.exports = class LinkRedirectRepository {
|
|
|
159
159
|
|
|
160
160
|
if (this.#cache) {
|
|
161
161
|
const cachedLink = await this.#cache.get(from);
|
|
162
|
+
debug(`getByUrl ${url}: Cache ${cachedLink ? 'HIT' : 'MISS'}`);
|
|
162
163
|
// Cache hit, serve from cache
|
|
163
164
|
if (cachedLink) {
|
|
164
|
-
debug('Cache hit for', from);
|
|
165
165
|
return this.#fromSerialized(cachedLink);
|
|
166
166
|
}
|
|
167
167
|
}
|
|
@@ -174,8 +174,6 @@ module.exports = class LinkRedirectRepository {
|
|
|
174
174
|
if (linkRedirectModel) {
|
|
175
175
|
const linkRedirect = this.fromModel(linkRedirectModel);
|
|
176
176
|
if (this.#cache) {
|
|
177
|
-
debug('Cache miss for', from, '. Caching');
|
|
178
|
-
// Cache the link
|
|
179
177
|
this.#cache.set(from, this.#serialize(linkRedirect));
|
|
180
178
|
}
|
|
181
179
|
return linkRedirect;
|
|
@@ -2,7 +2,6 @@ const logging = require('@tryghost/logging');
|
|
|
2
2
|
const {URL} = require('url');
|
|
3
3
|
const crypto = require('crypto');
|
|
4
4
|
const createKeypair = require('keypair');
|
|
5
|
-
const labs = require('../../../shared/labs');
|
|
6
5
|
|
|
7
6
|
class MembersConfigProvider {
|
|
8
7
|
/**
|
|
@@ -88,8 +87,7 @@ class MembersConfigProvider {
|
|
|
88
87
|
}
|
|
89
88
|
|
|
90
89
|
getSigninURL(token, type, referrer) {
|
|
91
|
-
const
|
|
92
|
-
const siteUrl = this._urlUtils.urlFor({relativeUrl}, true);
|
|
90
|
+
const siteUrl = this._urlUtils.urlFor({relativeUrl: '/members/'}, true);
|
|
93
91
|
const signinURL = new URL(siteUrl);
|
|
94
92
|
signinURL.searchParams.set('token', token);
|
|
95
93
|
signinURL.searchParams.set('action', type);
|
|
@@ -45,7 +45,13 @@ const messages = {
|
|
|
45
45
|
const enabledClear = config.get('uploadClear') || true;
|
|
46
46
|
const upload = multer({dest: os.tmpdir()});
|
|
47
47
|
|
|
48
|
-
const deleteSingleFile =
|
|
48
|
+
const deleteSingleFile = (file) => {
|
|
49
|
+
if (!file.path) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
fs.unlink(file.path).catch(err => logging.error(err));
|
|
54
|
+
};
|
|
49
55
|
|
|
50
56
|
const single = name => function singleUploadFunction(req, res, next) {
|
|
51
57
|
const singleUpload = upload.single(name);
|
|
@@ -37,9 +37,6 @@ module.exports = function setupMembersApp() {
|
|
|
37
37
|
// Initializes members specific routes as well as assigns members specific data to the req/res objects
|
|
38
38
|
// We don't want to add global bodyParser middleware as that interferes with stripe webhook requests on - `/webhooks`.
|
|
39
39
|
|
|
40
|
-
// Double opt-in subscription handling
|
|
41
|
-
membersApp.post('/api/member', membersService.api.middleware.createMemberFromToken);
|
|
42
|
-
|
|
43
40
|
// Manage newsletter subscription via unsubscribe link
|
|
44
41
|
membersApp.get('/api/member/newsletters', middleware.getMemberNewsletters);
|
|
45
42
|
membersApp.put('/api/member/newsletters', bodyParser.json({limit: '50mb'}), middleware.updateMemberNewsletters);
|
package/core/shared/labs.js
CHANGED
|
@@ -51,9 +51,7 @@ const ALPHA_FEATURES = [
|
|
|
51
51
|
'tipsAndDonations',
|
|
52
52
|
'importMemberTier',
|
|
53
53
|
'lexicalIndicators',
|
|
54
|
-
|
|
55
|
-
'adminXDemo',
|
|
56
|
-
'membersSpamPrevention'
|
|
54
|
+
'adminXDemo'
|
|
57
55
|
];
|
|
58
56
|
|
|
59
57
|
module.exports.GA_KEYS = [...GA_FEATURES];
|
|
@@ -82,6 +80,10 @@ module.exports.getAll = () => {
|
|
|
82
80
|
return labs;
|
|
83
81
|
};
|
|
84
82
|
|
|
83
|
+
module.exports.getAllFlags = function () {
|
|
84
|
+
return [...GA_FEATURES, ...BETA_FEATURES, ...ALPHA_FEATURES];
|
|
85
|
+
};
|
|
86
|
+
|
|
85
87
|
/**
|
|
86
88
|
* @param {string} flag
|
|
87
89
|
* @returns {boolean}
|
package/core/shared/sentry.js
CHANGED
|
@@ -91,12 +91,16 @@ if (sentryConfig && !sentryConfig.disabled) {
|
|
|
91
91
|
environment = config.get('env');
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
+
/** @type {import('@sentry/node').NodeOptions} */
|
|
94
95
|
const sentryInitConfig = {
|
|
95
96
|
dsn: sentryConfig.dsn,
|
|
96
97
|
release: 'ghost@' + version,
|
|
97
98
|
environment: environment,
|
|
98
99
|
maxValueLength: 1000,
|
|
99
|
-
|
|
100
|
+
includeLocalVariables: true,
|
|
101
|
+
integrations: [
|
|
102
|
+
Sentry.extraErrorDataIntegration()
|
|
103
|
+
],
|
|
100
104
|
beforeSend,
|
|
101
105
|
beforeSendTransaction
|
|
102
106
|
};
|