ghost 5.40.1 → 5.41.0
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/LICENSE +1 -1
- package/README.md +1 -1
- package/components/tryghost-adapter-cache-memory-ttl-5.41.0.tgz +0 -0
- package/components/{tryghost-adapter-cache-redis-5.40.1.tgz → tryghost-adapter-cache-redis-5.41.0.tgz} +0 -0
- package/components/{tryghost-adapter-manager-5.40.1.tgz → tryghost-adapter-manager-5.41.0.tgz} +0 -0
- package/components/tryghost-api-framework-5.41.0.tgz +0 -0
- package/components/{tryghost-api-version-compatibility-service-5.40.1.tgz → tryghost-api-version-compatibility-service-5.41.0.tgz} +0 -0
- package/components/{tryghost-audience-feedback-5.40.1.tgz → tryghost-audience-feedback-5.41.0.tgz} +0 -0
- package/components/tryghost-bootstrap-socket-5.41.0.tgz +0 -0
- package/components/tryghost-constants-5.41.0.tgz +0 -0
- package/components/tryghost-custom-theme-settings-service-5.41.0.tgz +0 -0
- package/components/{tryghost-data-generator-5.40.1.tgz → tryghost-data-generator-5.41.0.tgz} +0 -0
- package/components/tryghost-domain-events-5.41.0.tgz +0 -0
- package/components/tryghost-dynamic-routing-events-5.41.0.tgz +0 -0
- package/components/tryghost-email-analytics-provider-mailgun-5.41.0.tgz +0 -0
- package/components/{tryghost-email-analytics-service-5.40.1.tgz → tryghost-email-analytics-service-5.41.0.tgz} +0 -0
- package/components/tryghost-email-content-generator-5.41.0.tgz +0 -0
- package/components/{tryghost-email-events-5.40.1.tgz → tryghost-email-events-5.41.0.tgz} +0 -0
- package/components/tryghost-email-service-5.41.0.tgz +0 -0
- package/components/tryghost-email-suppression-list-5.41.0.tgz +0 -0
- package/components/{tryghost-event-aware-cache-wrapper-5.40.1.tgz → tryghost-event-aware-cache-wrapper-5.41.0.tgz} +0 -0
- package/components/{tryghost-express-dynamic-redirects-5.40.1.tgz → tryghost-express-dynamic-redirects-5.41.0.tgz} +0 -0
- package/components/{tryghost-external-media-inliner-5.40.1.tgz → tryghost-external-media-inliner-5.41.0.tgz} +0 -0
- package/components/{tryghost-extract-api-key-5.40.1.tgz → tryghost-extract-api-key-5.41.0.tgz} +0 -0
- package/components/tryghost-html-to-plaintext-5.41.0.tgz +0 -0
- package/components/tryghost-i18n-5.41.0.tgz +0 -0
- package/components/{tryghost-importer-handler-content-files-5.40.1.tgz → tryghost-importer-handler-content-files-5.41.0.tgz} +0 -0
- package/components/{tryghost-importer-revue-5.40.1.tgz → tryghost-importer-revue-5.41.0.tgz} +0 -0
- package/components/tryghost-job-manager-5.41.0.tgz +0 -0
- package/components/tryghost-link-redirects-5.41.0.tgz +0 -0
- package/components/tryghost-link-replacer-5.41.0.tgz +0 -0
- package/components/{tryghost-link-tracking-5.40.1.tgz → tryghost-link-tracking-5.41.0.tgz} +0 -0
- package/components/tryghost-magic-link-5.41.0.tgz +0 -0
- package/components/tryghost-mailgun-client-5.41.0.tgz +0 -0
- package/components/tryghost-member-attribution-5.41.0.tgz +0 -0
- package/components/tryghost-member-events-5.41.0.tgz +0 -0
- package/components/{tryghost-members-api-5.40.1.tgz → tryghost-members-api-5.41.0.tgz} +0 -0
- package/components/{tryghost-members-csv-5.40.1.tgz → tryghost-members-csv-5.41.0.tgz} +0 -0
- package/components/{tryghost-members-events-service-5.40.1.tgz → tryghost-members-events-service-5.41.0.tgz} +0 -0
- package/components/tryghost-members-importer-5.41.0.tgz +0 -0
- package/components/{tryghost-members-offers-5.40.1.tgz → tryghost-members-offers-5.41.0.tgz} +0 -0
- package/components/tryghost-members-payments-5.41.0.tgz +0 -0
- package/components/{tryghost-members-ssr-5.40.1.tgz → tryghost-members-ssr-5.41.0.tgz} +0 -0
- package/components/{tryghost-members-stripe-service-5.40.1.tgz → tryghost-members-stripe-service-5.41.0.tgz} +0 -0
- package/components/{tryghost-mentions-email-report-5.40.1.tgz → tryghost-mentions-email-report-5.41.0.tgz} +0 -0
- package/components/tryghost-milestones-5.41.0.tgz +0 -0
- package/components/{tryghost-minifier-5.40.1.tgz → tryghost-minifier-5.41.0.tgz} +0 -0
- package/components/tryghost-mw-api-version-mismatch-5.41.0.tgz +0 -0
- package/components/tryghost-mw-cache-control-5.41.0.tgz +0 -0
- package/components/{tryghost-mw-error-handler-5.40.1.tgz → tryghost-mw-error-handler-5.41.0.tgz} +0 -0
- package/components/tryghost-mw-session-from-token-5.41.0.tgz +0 -0
- package/components/tryghost-mw-update-user-last-seen-5.41.0.tgz +0 -0
- package/components/tryghost-mw-version-match-5.41.0.tgz +0 -0
- package/components/tryghost-mw-vhost-5.41.0.tgz +0 -0
- package/components/tryghost-oembed-service-5.41.0.tgz +0 -0
- package/components/tryghost-package-json-5.41.0.tgz +0 -0
- package/components/tryghost-posts-service-5.41.0.tgz +0 -0
- package/components/tryghost-referrers-5.41.0.tgz +0 -0
- package/components/{tryghost-security-5.40.1.tgz → tryghost-security-5.41.0.tgz} +0 -0
- package/components/{tryghost-session-service-5.40.1.tgz → tryghost-session-service-5.41.0.tgz} +0 -0
- package/components/tryghost-settings-path-manager-5.41.0.tgz +0 -0
- package/components/tryghost-slack-notifications-5.41.0.tgz +0 -0
- package/components/tryghost-staff-service-5.41.0.tgz +0 -0
- package/components/{tryghost-stats-service-5.40.1.tgz → tryghost-stats-service-5.41.0.tgz} +0 -0
- package/components/{tryghost-tiers-5.40.1.tgz → tryghost-tiers-5.41.0.tgz} +0 -0
- package/components/tryghost-update-check-service-5.41.0.tgz +0 -0
- package/components/{tryghost-verification-trigger-5.40.1.tgz → tryghost-verification-trigger-5.41.0.tgz} +0 -0
- package/components/tryghost-version-notifications-data-service-5.41.0.tgz +0 -0
- package/components/{tryghost-webmentions-5.40.1.tgz → tryghost-webmentions-5.41.0.tgz} +0 -0
- package/content/themes/casper/default.hbs +1 -1
- package/content/themes/casper/package.json +2 -2
- package/core/built/admin/assets/{chunk.143.28e9fe97bf250c9d07db.js → chunk.143.78da682c0f256cf61289.js} +5 -5
- package/core/built/admin/assets/{chunk.178.9cfe2f1ed15ec6eb9443.js → chunk.178.52253aa28aef529e9a9a.js} +4 -4
- package/core/built/admin/assets/{chunk.462.b66cfed1f66c8d2678b2.js → chunk.324.2c415c5d0691230623df.js} +4279 -3646
- package/core/built/admin/assets/{ghost-467b96c17c6bc0d06fa88e85074fbecf.js → ghost-4b392979da29476ec2b63e8437f26a9a.js} +4481 -4411
- package/core/built/admin/assets/ghost-4c8239333143ae4b8d6046cca482b7ce.css +1 -0
- package/core/built/admin/assets/ghost-dark-3bba379f421799fc4db80036a6bcabf8.css +1 -0
- package/core/built/admin/index.html +5 -5
- package/core/frontend/helpers/ghost_head.js +2 -1
- package/core/server/data/migrations/versions/5.40/2023-03-21-19-02-add-self-serve-integration-api-key.js +1 -1
- package/core/server/data/migrations/versions/5.41/2023-03-27-15-00-add-newsletter-colors.js +22 -0
- package/core/server/data/migrations/versions/5.41/2023-03-27-17-51-fix-self-serve-integration-api-key-type.js +36 -0
- package/core/server/data/schema/schema.js +3 -0
- package/core/server/models/newsletter.js +3 -0
- package/core/server/services/i18n.js +31 -9
- package/core/server/services/mentions-email-report/service.js +7 -2
- package/core/server/services/posts/posts-service.js +2 -1
- package/core/shared/config/defaults.json +1 -1
- package/core/shared/config/env/config.testing-browser.json +2 -1
- package/core/shared/config/env/config.testing-mysql.json +1 -1
- package/core/shared/config/env/config.testing.json +1 -1
- package/core/shared/labs.js +2 -1
- package/package.json +135 -135
- package/yarn.lock +50 -147
- package/components/tryghost-adapter-cache-memory-ttl-5.40.1.tgz +0 -0
- package/components/tryghost-api-framework-5.40.1.tgz +0 -0
- package/components/tryghost-bootstrap-socket-5.40.1.tgz +0 -0
- package/components/tryghost-constants-5.40.1.tgz +0 -0
- package/components/tryghost-custom-theme-settings-service-5.40.1.tgz +0 -0
- package/components/tryghost-domain-events-5.40.1.tgz +0 -0
- package/components/tryghost-dynamic-routing-events-5.40.1.tgz +0 -0
- package/components/tryghost-email-analytics-provider-mailgun-5.40.1.tgz +0 -0
- package/components/tryghost-email-content-generator-5.40.1.tgz +0 -0
- package/components/tryghost-email-service-5.40.1.tgz +0 -0
- package/components/tryghost-email-suppression-list-5.40.1.tgz +0 -0
- package/components/tryghost-html-to-plaintext-5.40.1.tgz +0 -0
- package/components/tryghost-i18n-5.40.1.tgz +0 -0
- package/components/tryghost-job-manager-5.40.1.tgz +0 -0
- package/components/tryghost-link-redirects-5.40.1.tgz +0 -0
- package/components/tryghost-link-replacer-5.40.1.tgz +0 -0
- package/components/tryghost-magic-link-5.40.1.tgz +0 -0
- package/components/tryghost-mailgun-client-5.40.1.tgz +0 -0
- package/components/tryghost-member-attribution-5.40.1.tgz +0 -0
- package/components/tryghost-member-events-5.40.1.tgz +0 -0
- package/components/tryghost-members-importer-5.40.1.tgz +0 -0
- package/components/tryghost-members-payments-5.40.1.tgz +0 -0
- package/components/tryghost-milestones-5.40.1.tgz +0 -0
- package/components/tryghost-mw-api-version-mismatch-5.40.1.tgz +0 -0
- package/components/tryghost-mw-cache-control-5.40.1.tgz +0 -0
- package/components/tryghost-mw-session-from-token-5.40.1.tgz +0 -0
- package/components/tryghost-mw-update-user-last-seen-5.40.1.tgz +0 -0
- package/components/tryghost-mw-version-match-5.40.1.tgz +0 -0
- package/components/tryghost-mw-vhost-5.40.1.tgz +0 -0
- package/components/tryghost-oembed-service-5.40.1.tgz +0 -0
- package/components/tryghost-package-json-5.40.1.tgz +0 -0
- package/components/tryghost-posts-service-5.40.1.tgz +0 -0
- package/components/tryghost-referrers-5.40.1.tgz +0 -0
- package/components/tryghost-settings-path-manager-5.40.1.tgz +0 -0
- package/components/tryghost-slack-notifications-5.40.1.tgz +0 -0
- package/components/tryghost-staff-service-5.40.1.tgz +0 -0
- package/components/tryghost-update-check-service-5.40.1.tgz +0 -0
- package/components/tryghost-version-notifications-data-service-5.40.1.tgz +0 -0
- package/core/built/admin/assets/ghost-68ea49029c6d45b4aa090f4e218917aa.css +0 -1
- package/core/built/admin/assets/ghost-dark-c9b38252afc29364507e8c92e4ba9933.css +0 -1
- /package/core/built/admin/assets/{chunk.462.b66cfed1f66c8d2678b2.js.LICENSE.txt → chunk.324.2c415c5d0691230623df.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%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.
|
|
11
|
+
<meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%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.41%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%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-3e6947aa681f0fb82b193090e520dc73.css">
|
|
40
|
-
<link integrity="" rel="stylesheet" href="assets/ghost-
|
|
40
|
+
<link integrity="" rel="stylesheet" href="assets/ghost-4c8239333143ae4b8d6046cca482b7ce.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-d08b4de6f990b9cd7b5a92d61952a5bb.js"></script>
|
|
60
|
-
<script src="assets/chunk.
|
|
61
|
-
<script src="assets/chunk.143.
|
|
62
|
-
<script src="assets/ghost-
|
|
60
|
+
<script src="assets/chunk.324.2c415c5d0691230623df.js"></script>
|
|
61
|
+
<script src="assets/chunk.143.78da682c0f256cf61289.js"></script>
|
|
62
|
+
<script src="assets/ghost-4b392979da29476ec2b63e8437f26a9a.js"></script>
|
|
63
63
|
</body>
|
|
64
64
|
</html>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Usage: `{{ghost_head}}`
|
|
3
3
|
//
|
|
4
4
|
// Outputs scripts and other assets at the top of a Ghost theme
|
|
5
|
-
const {metaData, settingsCache, config, blogIcon, urlUtils, getFrontendKey} = require('../services/proxy');
|
|
5
|
+
const {labs, metaData, settingsCache, config, blogIcon, urlUtils, getFrontendKey} = require('../services/proxy');
|
|
6
6
|
const {escapeExpression, SafeString} = require('../services/handlebars');
|
|
7
7
|
|
|
8
8
|
// BAD REQUIRE
|
|
@@ -52,6 +52,7 @@ function getMembersHelper(data, frontendKey) {
|
|
|
52
52
|
|
|
53
53
|
const colorString = (_.has(data, 'site._preview') && data.site.accent_color) ? data.site.accent_color : '';
|
|
54
54
|
const attributes = {
|
|
55
|
+
i18n: labs.isSet('i18n'),
|
|
55
56
|
ghost: urlUtils.getSiteUrl(),
|
|
56
57
|
key: frontendKey,
|
|
57
58
|
api: urlUtils.urlFor('api', {type: 'content'}, true)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const {createAddColumnMigration, combineNonTransactionalMigrations} = require('../../utils');
|
|
2
|
+
|
|
3
|
+
module.exports = combineNonTransactionalMigrations(
|
|
4
|
+
createAddColumnMigration('newsletters', 'background_color', {
|
|
5
|
+
type: 'string',
|
|
6
|
+
maxlength: 50,
|
|
7
|
+
nullable: false,
|
|
8
|
+
defaultTo: 'light'
|
|
9
|
+
}),
|
|
10
|
+
|
|
11
|
+
createAddColumnMigration('newsletters', 'border_color', {
|
|
12
|
+
type: 'string',
|
|
13
|
+
maxlength: 50,
|
|
14
|
+
nullable: true
|
|
15
|
+
}),
|
|
16
|
+
|
|
17
|
+
createAddColumnMigration('newsletters', 'title_color', {
|
|
18
|
+
type: 'string',
|
|
19
|
+
maxlength: 50,
|
|
20
|
+
nullable: true
|
|
21
|
+
})
|
|
22
|
+
);
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const {InternalServerError} = require('@tryghost/errors');
|
|
2
|
+
const logging = require('@tryghost/logging');
|
|
3
|
+
const {createTransactionalMigration} = require('../../utils');
|
|
4
|
+
|
|
5
|
+
module.exports = module.exports = createTransactionalMigration(
|
|
6
|
+
async function up(knex) {
|
|
7
|
+
logging.info('Updating Admin API key for "Self-Serve Migration Integration"');
|
|
8
|
+
|
|
9
|
+
const integration = await knex('integrations').where({
|
|
10
|
+
slug: 'self-serve-migration',
|
|
11
|
+
name: 'Self-Serve Migration Integration'
|
|
12
|
+
}).first();
|
|
13
|
+
|
|
14
|
+
if (!integration) {
|
|
15
|
+
throw new InternalServerError('Could not find "Self-Serve Migration Integration"');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const existingKey = await knex('api_keys').where({
|
|
19
|
+
integration_id: integration.id,
|
|
20
|
+
type: 'core'
|
|
21
|
+
}).first();
|
|
22
|
+
|
|
23
|
+
if (!existingKey) {
|
|
24
|
+
logging.warn('Admin API key for "Self-Serve Migration Integration" with type "core" does not exists');
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
logging.info(`Updating API key type to "admin" for "Self-Serve Migration Integration" ${existingKey.id}`);
|
|
29
|
+
await knex('api_keys')
|
|
30
|
+
.update('type', 'admin')
|
|
31
|
+
.where('id', existingKey.id);
|
|
32
|
+
},
|
|
33
|
+
async function down() {
|
|
34
|
+
// noop as previous state was incorrect
|
|
35
|
+
}
|
|
36
|
+
);
|
|
@@ -41,6 +41,9 @@ module.exports = {
|
|
|
41
41
|
show_comment_cta: {type: 'boolean', nullable: false, defaultTo: true},
|
|
42
42
|
show_subscription_details: {type: 'boolean', nullable: false, defaultTo: false},
|
|
43
43
|
show_latest_posts: {type: 'boolean', nullable: false, defaultTo: false},
|
|
44
|
+
background_color: {type: 'string', maxlength: 50, nullable: false, defaultTo: 'light'},
|
|
45
|
+
border_color: {type: 'string', maxlength: 50, nullable: true},
|
|
46
|
+
title_color: {type: 'string', maxlength: 50, nullable: true},
|
|
44
47
|
created_at: {type: 'dateTime', nullable: false},
|
|
45
48
|
updated_at: {type: 'dateTime', nullable: true}
|
|
46
49
|
},
|
|
@@ -1,14 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
const debug = require('@tryghost/debug')('i18n');
|
|
2
|
+
|
|
3
|
+
/** @type {import('i18next').i18n} */
|
|
4
|
+
let i18nInstance;
|
|
3
5
|
|
|
4
6
|
module.exports.init = function () {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
+
const i18n = require('@tryghost/i18n');
|
|
8
|
+
const events = require('../lib/common/events');
|
|
9
|
+
const settingsCache = require('../../shared/settings-cache');
|
|
10
|
+
const labs = require('../../shared/labs');
|
|
11
|
+
|
|
12
|
+
let locale = 'en';
|
|
13
|
+
|
|
14
|
+
if (labs.isSet('i18n')) {
|
|
15
|
+
locale = settingsCache.get('locale');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
module.exports = i18nInstance = i18n(locale, 'ghost');
|
|
7
19
|
|
|
8
|
-
|
|
20
|
+
events.on('settings.labs.edited', () => {
|
|
21
|
+
if (labs.isSet('i18n')) {
|
|
22
|
+
debug('labs i18n enabled, updating i18n to', settingsCache.get('locale'));
|
|
23
|
+
i18nInstance.changeLanguage(settingsCache.get('locale'));
|
|
24
|
+
} else {
|
|
25
|
+
debug('labs i18n disabled, updating i18n to en');
|
|
26
|
+
i18nInstance.changeLanguage('en');
|
|
27
|
+
}
|
|
28
|
+
});
|
|
9
29
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
30
|
+
events.on('settings.locale.edited', (model) => {
|
|
31
|
+
if (labs.isSet('i18n')) {
|
|
32
|
+
debug('locale changed, updating i18n to', model.get('value'));
|
|
33
|
+
i18nInstance.changeLanguage(model.get('value'));
|
|
34
|
+
}
|
|
35
|
+
});
|
|
14
36
|
};
|
|
@@ -81,8 +81,13 @@ module.exports = {
|
|
|
81
81
|
* @returns {Promise<string>}
|
|
82
82
|
*/
|
|
83
83
|
async renderText(report, recipient) {
|
|
84
|
+
// Filter out mentions with duplicate source url from the report
|
|
85
|
+
const uniqueMentions = report.mentions.filter((mention, index, self) => {
|
|
86
|
+
return self.findIndex(m => m.sourceUrl.href === mention.sourceUrl.href) === index;
|
|
87
|
+
});
|
|
88
|
+
|
|
84
89
|
return staffService.api.emails.renderText('mention-report', {
|
|
85
|
-
|
|
90
|
+
mentions: uniqueMentions,
|
|
86
91
|
recipient: recipient
|
|
87
92
|
});
|
|
88
93
|
}
|
|
@@ -139,7 +144,7 @@ module.exports = {
|
|
|
139
144
|
|
|
140
145
|
const labs = require('../../../shared/labs');
|
|
141
146
|
DomainEvents.subscribe(StartMentionEmailReportJob, () => {
|
|
142
|
-
if (labs.isSet('
|
|
147
|
+
if (labs.isSet('webmentions')) {
|
|
143
148
|
job.sendLatestReport();
|
|
144
149
|
}
|
|
145
150
|
});
|
|
@@ -176,7 +176,7 @@
|
|
|
176
176
|
},
|
|
177
177
|
"portal": {
|
|
178
178
|
"url": "https://cdn.jsdelivr.net/ghost/portal@~{version}/umd/portal.min.js",
|
|
179
|
-
"version": "2.
|
|
179
|
+
"version": "2.26"
|
|
180
180
|
},
|
|
181
181
|
"sodoSearch": {
|
|
182
182
|
"url": "https://cdn.jsdelivr.net/ghost/sodo-search@~{version}/umd/sodo-search.min.js",
|
package/core/shared/labs.js
CHANGED
|
@@ -27,15 +27,16 @@ const GA_FEATURES = [
|
|
|
27
27
|
// NOTE: this allowlist is meant to be used to filter out any unexpected
|
|
28
28
|
// input for the "labs" setting value
|
|
29
29
|
const BETA_FEATURES = [
|
|
30
|
+
'i18n',
|
|
30
31
|
'activitypub',
|
|
31
32
|
'webmentions'
|
|
32
33
|
];
|
|
33
34
|
|
|
34
35
|
const ALPHA_FEATURES = [
|
|
35
36
|
'urlCache',
|
|
37
|
+
'migrateApp',
|
|
36
38
|
'lexicalEditor',
|
|
37
39
|
'websockets',
|
|
38
|
-
'webmentionEmails',
|
|
39
40
|
'stripeAutomaticTax',
|
|
40
41
|
'makingItRain'
|
|
41
42
|
];
|