ghost 5.29.0 → 5.30.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/components/tryghost-adapter-manager-5.30.0.tgz +0 -0
- package/components/{tryghost-api-framework-5.29.0.tgz → tryghost-api-framework-5.30.0.tgz} +0 -0
- package/components/tryghost-api-version-compatibility-service-5.30.0.tgz +0 -0
- package/components/tryghost-audience-feedback-5.30.0.tgz +0 -0
- package/components/tryghost-bootstrap-socket-5.30.0.tgz +0 -0
- package/components/tryghost-constants-5.30.0.tgz +0 -0
- package/components/tryghost-custom-theme-settings-service-5.30.0.tgz +0 -0
- package/components/{tryghost-data-generator-5.29.0.tgz → tryghost-data-generator-5.30.0.tgz} +0 -0
- package/components/tryghost-domain-events-5.30.0.tgz +0 -0
- package/components/tryghost-email-analytics-provider-mailgun-5.30.0.tgz +0 -0
- package/components/tryghost-email-analytics-service-5.30.0.tgz +0 -0
- package/components/tryghost-email-content-generator-5.30.0.tgz +0 -0
- package/components/tryghost-email-events-5.30.0.tgz +0 -0
- package/components/tryghost-email-service-5.30.0.tgz +0 -0
- package/components/tryghost-email-suppression-list-5.30.0.tgz +0 -0
- package/components/tryghost-express-dynamic-redirects-5.30.0.tgz +0 -0
- package/components/tryghost-extract-api-key-5.30.0.tgz +0 -0
- package/components/tryghost-html-to-plaintext-5.30.0.tgz +0 -0
- package/components/tryghost-importer-revue-5.30.0.tgz +0 -0
- package/components/tryghost-job-manager-5.30.0.tgz +0 -0
- package/components/tryghost-link-redirects-5.30.0.tgz +0 -0
- package/components/tryghost-link-replacer-5.30.0.tgz +0 -0
- package/components/tryghost-link-tracking-5.30.0.tgz +0 -0
- package/components/tryghost-magic-link-5.30.0.tgz +0 -0
- package/components/tryghost-mailgun-client-5.30.0.tgz +0 -0
- package/components/tryghost-member-attribution-5.30.0.tgz +0 -0
- package/components/tryghost-member-events-5.30.0.tgz +0 -0
- package/components/tryghost-members-api-5.30.0.tgz +0 -0
- package/components/tryghost-members-csv-5.30.0.tgz +0 -0
- package/components/{tryghost-members-events-service-5.29.0.tgz → tryghost-members-events-service-5.30.0.tgz} +0 -0
- package/components/tryghost-members-importer-5.30.0.tgz +0 -0
- package/components/tryghost-members-offers-5.30.0.tgz +0 -0
- package/components/tryghost-members-payments-5.30.0.tgz +0 -0
- package/components/tryghost-members-ssr-5.30.0.tgz +0 -0
- package/components/tryghost-members-stripe-service-5.30.0.tgz +0 -0
- package/components/tryghost-minifier-5.30.0.tgz +0 -0
- package/components/tryghost-mw-api-version-mismatch-5.30.0.tgz +0 -0
- package/components/tryghost-mw-cache-control-5.30.0.tgz +0 -0
- package/components/tryghost-mw-error-handler-5.30.0.tgz +0 -0
- package/components/tryghost-mw-session-from-token-5.30.0.tgz +0 -0
- package/components/tryghost-mw-update-user-last-seen-5.30.0.tgz +0 -0
- package/components/tryghost-mw-vhost-5.30.0.tgz +0 -0
- package/components/tryghost-oembed-service-5.30.0.tgz +0 -0
- package/components/tryghost-package-json-5.30.0.tgz +0 -0
- package/components/tryghost-referrers-5.30.0.tgz +0 -0
- package/components/{tryghost-security-5.29.0.tgz → tryghost-security-5.30.0.tgz} +0 -0
- package/components/tryghost-session-service-5.30.0.tgz +0 -0
- package/components/tryghost-settings-path-manager-5.30.0.tgz +0 -0
- package/components/{tryghost-staff-service-5.29.0.tgz → tryghost-staff-service-5.30.0.tgz} +0 -0
- package/components/tryghost-stats-service-5.30.0.tgz +0 -0
- package/components/{tryghost-tiers-5.29.0.tgz → tryghost-tiers-5.30.0.tgz} +0 -0
- package/components/tryghost-update-check-service-5.30.0.tgz +0 -0
- package/components/tryghost-verification-trigger-5.30.0.tgz +0 -0
- package/components/tryghost-version-notifications-data-service-5.30.0.tgz +0 -0
- package/core/built/admin/assets/{chunk.143.b610199533b562d3f4bb.js → chunk.143.f9aa3f7f1c45d1d921cd.js} +19 -20
- package/core/built/admin/assets/chunk.178.55d68318431345983298.js +11 -0
- package/core/built/admin/assets/{chunk.45.87cd3fcd0323d4103a17.js → chunk.47.f29250a4560868c21293.js} +129 -127
- package/core/built/admin/assets/{chunk.45.87cd3fcd0323d4103a17.js.LICENSE.txt → chunk.47.f29250a4560868c21293.js.LICENSE.txt} +0 -0
- package/core/built/admin/assets/{chunk.507.18a4d11e74a0b6e03a69.js → chunk.507.aa38cb08f25bae1d4e76.js} +1 -1
- package/core/built/admin/assets/{ghost-4005771a511aaabd6545fb9645cfa24a.js → ghost-23dc524374e35a582886c36f7dacdb05.js} +4379 -4364
- package/core/built/admin/assets/ghost-d3e45940f0f1601232d464d0b429d45f.css +1 -0
- package/core/built/admin/assets/ghost-dark-c8dc36895dfcbc03f0edd94311c65bfd.css +1 -0
- package/core/built/admin/assets/{vendor-88c5114bd6fdce352a32a0ac1fd4f32b.js → vendor-fadbf85ad92c591dc4bd3755312b6ddf.js} +4 -4
- package/core/built/admin/index.html +6 -6
- package/core/server/api/endpoints/email-previews.js +2 -2
- package/core/server/data/migrations/versions/5.30/2023-01-13-04-25-unsubscribe-suppressed-emails.js +21 -0
- package/core/server/models/member.js +10 -1
- package/core/server/services/mega/feedback-buttons.js +9 -103
- package/core/server/services/mega/mega.js +9 -3
- package/core/server/services/mega/template.js +1 -3
- package/core/shared/config/defaults.json +1 -1
- package/core/shared/labs.js +4 -4
- package/loggingrc.js +3 -0
- package/package.json +113 -113
- package/yarn.lock +304 -514
- package/components/tryghost-adapter-manager-5.29.0.tgz +0 -0
- package/components/tryghost-api-version-compatibility-service-5.29.0.tgz +0 -0
- package/components/tryghost-audience-feedback-5.29.0.tgz +0 -0
- package/components/tryghost-bootstrap-socket-5.29.0.tgz +0 -0
- package/components/tryghost-constants-5.29.0.tgz +0 -0
- package/components/tryghost-custom-theme-settings-service-5.29.0.tgz +0 -0
- package/components/tryghost-domain-events-5.29.0.tgz +0 -0
- package/components/tryghost-email-analytics-provider-mailgun-5.29.0.tgz +0 -0
- package/components/tryghost-email-analytics-service-5.29.0.tgz +0 -0
- package/components/tryghost-email-content-generator-5.29.0.tgz +0 -0
- package/components/tryghost-email-events-5.29.0.tgz +0 -0
- package/components/tryghost-email-service-5.29.0.tgz +0 -0
- package/components/tryghost-email-suppression-list-5.29.0.tgz +0 -0
- package/components/tryghost-express-dynamic-redirects-5.29.0.tgz +0 -0
- package/components/tryghost-extract-api-key-5.29.0.tgz +0 -0
- package/components/tryghost-html-to-plaintext-5.29.0.tgz +0 -0
- package/components/tryghost-importer-revue-5.29.0.tgz +0 -0
- package/components/tryghost-job-manager-5.29.0.tgz +0 -0
- package/components/tryghost-link-redirects-5.29.0.tgz +0 -0
- package/components/tryghost-link-replacer-5.29.0.tgz +0 -0
- package/components/tryghost-link-tracking-5.29.0.tgz +0 -0
- package/components/tryghost-magic-link-5.29.0.tgz +0 -0
- package/components/tryghost-mailgun-client-5.29.0.tgz +0 -0
- package/components/tryghost-member-attribution-5.29.0.tgz +0 -0
- package/components/tryghost-member-events-5.29.0.tgz +0 -0
- package/components/tryghost-members-api-5.29.0.tgz +0 -0
- package/components/tryghost-members-csv-5.29.0.tgz +0 -0
- package/components/tryghost-members-importer-5.29.0.tgz +0 -0
- package/components/tryghost-members-offers-5.29.0.tgz +0 -0
- package/components/tryghost-members-payments-5.29.0.tgz +0 -0
- package/components/tryghost-members-ssr-5.29.0.tgz +0 -0
- package/components/tryghost-members-stripe-service-5.29.0.tgz +0 -0
- package/components/tryghost-minifier-5.29.0.tgz +0 -0
- package/components/tryghost-mw-api-version-mismatch-5.29.0.tgz +0 -0
- package/components/tryghost-mw-cache-control-5.29.0.tgz +0 -0
- package/components/tryghost-mw-error-handler-5.29.0.tgz +0 -0
- package/components/tryghost-mw-session-from-token-5.29.0.tgz +0 -0
- package/components/tryghost-mw-update-user-last-seen-5.29.0.tgz +0 -0
- package/components/tryghost-mw-vhost-5.29.0.tgz +0 -0
- package/components/tryghost-oembed-service-5.29.0.tgz +0 -0
- package/components/tryghost-package-json-5.29.0.tgz +0 -0
- package/components/tryghost-referrers-5.29.0.tgz +0 -0
- package/components/tryghost-session-service-5.29.0.tgz +0 -0
- package/components/tryghost-settings-path-manager-5.29.0.tgz +0 -0
- package/components/tryghost-stats-service-5.29.0.tgz +0 -0
- package/components/tryghost-update-check-service-5.29.0.tgz +0 -0
- package/components/tryghost-verification-trigger-5.29.0.tgz +0 -0
- package/components/tryghost-version-notifications-data-service-5.29.0.tgz +0 -0
- package/core/built/admin/assets/ghost-1532517fd24b662b42a85ea0881865a5.css +0 -1
- package/core/built/admin/assets/ghost-dark-3b8aff3cf9db67f6ad59abec25ae98be.css +0 -1
- package/core/frontend/helpers/lang.js +0 -20
|
@@ -11470,7 +11470,7 @@ e.default={content:'<path d="M23.854 15.646L19.5 11.293V7.45c1.14-.233 2-1.242 2
|
|
|
11470
11470
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
11471
11471
|
e.default={content:'<path d="M23.245 23.996a.743.743 0 01-.53-.22L16.2 17.26a9.824 9.824 0 01-2.553 1.579 9.766 9.766 0 01-7.51.069 9.745 9.745 0 01-5.359-5.262c-1.025-2.412-1.05-5.08-.069-7.51S3.558 1.802 5.97.777a9.744 9.744 0 017.51-.069 9.745 9.745 0 015.359 5.262 9.748 9.748 0 01.069 7.51 9.807 9.807 0 01-1.649 2.718l6.517 6.518a.75.75 0 01-.531 1.28zM9.807 1.49a8.259 8.259 0 00-3.25.667 8.26 8.26 0 00-4.458 4.54 8.26 8.26 0 00.058 6.362 8.26 8.26 0 004.54 4.458 8.259 8.259 0 006.362-.059 8.285 8.285 0 002.594-1.736.365.365 0 01.077-.076 8.245 8.245 0 001.786-2.728 8.255 8.255 0 00-.059-6.362 8.257 8.257 0 00-4.54-4.458 8.28 8.28 0 00-3.11-.608z"/>',attrs:{viewBox:"0 0 24 24"}}})),define("ember-svg-jar/inlined/send-email",["exports"],(function(e){"use strict"
|
|
11472
11472
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
11473
|
-
e.default={content:'<path
|
|
11473
|
+
e.default={content:'<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M2.05 10.387a1.487 1.487 0 01-.069-2.84L22.052 1a.751.751 0 01.948.943l-6.541 20.081a1.486 1.486 0 01-2.841-.07l-2.246-9.33-9.322-2.237z"/>',attrs:{fill:"none",viewBox:"0 0 24 24"}}})),define("ember-svg-jar/inlined/settings",["exports"],(function(e){"use strict"
|
|
11474
11474
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
11475
11475
|
e.default={content:'<defs><style>.settings_svg__a{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px}</style></defs><path class="settings_svg__a" d="M10.546 2.438a1.957 1.957 0 002.908 0L14.4 1.4a1.959 1.959 0 013.41 1.413l-.071 1.4a1.958 1.958 0 002.051 2.054l1.4-.071a1.959 1.959 0 011.41 3.41l-1.042.94a1.96 1.96 0 000 2.909l1.042.94a1.959 1.959 0 01-1.413 3.41l-1.4-.071a1.958 1.958 0 00-2.056 2.056l.071 1.4A1.959 1.959 0 0114.4 22.6l-.941-1.041a1.959 1.959 0 00-2.908 0L9.606 22.6A1.959 1.959 0 016.2 21.192l.072-1.4a1.958 1.958 0 00-2.056-2.056l-1.4.071A1.958 1.958 0 011.4 14.4l1.041-.94a1.96 1.96 0 000-2.909L1.4 9.606A1.958 1.958 0 012.809 6.2l1.4.071a1.958 1.958 0 002.058-2.06L6.2 2.81A1.959 1.959 0 019.606 1.4z"/><circle class="settings_svg__a" cx="12" cy="12.001" r="4.5"/>',attrs:{viewBox:"0 0 24 24"}}})),define("ember-svg-jar/inlined/shield-lock",["exports"],(function(e){"use strict"
|
|
11476
11476
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
@@ -11535,7 +11535,7 @@ e.default={content:'<path d="M15.189 2.021a9.728 9.728 0 00-7.924 4.85.249.249 0
|
|
|
11535
11535
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
11536
11536
|
e.default={content:'<path d="M17.4 29c-.8.8-2 .8-2.8 0L2.3 16.2C-.8 13.1-.8 8 2.3 4.8c3.1-3.1 8.2-3.1 11.3 0L16 7.6l2.3-2.8c3.1-3.1 8.2-3.1 11.3 0 3.1 3.1 3.1 8.2 0 11.4L17.4 29z"/>',attrs:{viewBox:"0 0 32 32"}}})),define("ember-svg-jar/inlined/unsplash",["exports"],(function(e){"use strict"
|
|
11537
11537
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
11538
|
-
e.default={content:'<path d="M83.86 54.15v34.13H38.57V54.15H0v68.26h122.43V54.15H83.86zM38.57 0h45.3v34.13h-45.3z"/>',attrs:{viewBox:"0 0 122.43 122.41"}}})),define("ember-svg-jar/inlined/upload-fill",["exports"],(function(e){"use strict"
|
|
11538
|
+
e.default={content:'<path d="M83.86 54.15v34.13H38.57V54.15H0v68.26h122.43V54.15H83.86zM38.57 0h45.3v34.13h-45.3z"/>',attrs:{viewBox:"0 0 122.43 122.41",fill:"currentColor"}}})),define("ember-svg-jar/inlined/upload-fill",["exports"],(function(e){"use strict"
|
|
11539
11539
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
11540
11540
|
e.default={content:'<path d="M12.001 16.5a.75.75 0 01-.75-.75V5.561l-3.22 3.22a.746.746 0 01-1.06-.001c-.142-.141-.22-.33-.22-.53s.078-.389.22-.53l4.499-4.5a.74.74 0 01.245-.163l.025-.009a.743.743 0 01.522 0l.02.007c.097.04.179.095.25.166l4.499 4.499c.142.141.22.33.22.53s-.078.389-.22.53a.749.749 0 01-1.06 0l-3.22-3.22v10.19a.75.75 0 01-.75.75z"/><path d="M3.751 21a3.754 3.754 0 01-3.75-3.75v-1.5a.75.75 0 011.5 0v1.5a2.252 2.252 0 002.25 2.25h16.5a2.252 2.252 0 002.25-2.25v-1.5a.75.75 0 011.5 0v1.5a3.754 3.754 0 01-3.75 3.75h-16.5z"/>',attrs:{viewBox:"0 0 24 24"}}})),define("ember-svg-jar/inlined/upload",["exports"],(function(e){"use strict"
|
|
11541
11541
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
@@ -12314,7 +12314,7 @@ if("object"!=typeof n)return n
|
|
|
12314
12314
|
throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
|
|
12315
12315
|
return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function I(e,t,r,n,i){var o={}
|
|
12316
12316
|
return Object.keys(n).forEach((function(e){o[e]=n[e]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce((function(r,n){return n(e,t,r)||r}),o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.VIDEO_MIME_TYPES=e.VIDEO_EXTENSIONS=void 0
|
|
12317
|
-
const N=Ember.HTMLBars.template({id:"BGLwUjys",block:'{"symbols":["uploader","error","card","uploader","@payload","@env","@headerOffset","@isSelected","@isEditing","@selectCard","@deselectCard","@editCard","@saveCard","@saveAsSnippet","@addParagraphAfterCard","@moveCursorToPrevSection","@moveCursorToNextSection","@editor"],"statements":[[8,"koenig-card",[[4,[38,13],[[32,0,["didInsert"]]],null],[4,[38,2],["dragover",[32,0,["dragOver"]]],null],[4,[38,2],["dragleave",[32,0,["dragLeave"]]],null],[4,[38,2],["drop",[32,0,["drop"]]],null]],[["@env","@class","@headerOffset","@toolbar","@payload","@isSelected","@isEditing","@selectCard","@deselectCard","@editCard","@hasEditMode","@saveCard","@saveAsSnippet","@addParagraphAfterCard","@moveCursorToPrevSection","@moveCursorToNextSection","@editor"],[[32,6],[30,[36,12],["kg-card kg-video-card kg-card-hover mih10 miw-100 relative ba b--transparent",[30,[36,11],["breakout"],[["size"],[[32,5,["cardWidth"]]]]]],null],[32,7],[32,0,["toolbar"]],[32,5],[32,8],[32,9],[32,10],[32,11],[32,12],[30,[36,8],[[32,0,["isEmpty"]]],null],[32,13],[32,14],[32,15],[32,16],[32,17],[32,18]]],[["default"],[{"statements":[[2,"\\n "],[8,"gh-uploader",[],[["@uploadUrl","@resourceName","@files","@accept","@extensions","@onStart","@onComplete","@onFailed"],["/media/upload/","media",[32,0,["files"]],[32,0,["videoMimeTypes"]],[32,0,["videoExtensions"]],[32,0,["videoUploadStarted"]],[32,0,["videoUploadCompleted"]],[32,0,["videoUploadFailed"]]]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[15,0,[31,["relative",[30,[36,5],[[30,[36,10],[[32,0,["previewThumbnailSrc"]],[32,5,["customThumbnailSrc"]],[32,5,["thumbnailSrc"]]],null]," bg-whitegrey-l2"],null]]]],[12],[2,"\\n"],[6,[37,4],[[30,[36,10],[[32,0,["previewThumbnailSrc"]],[32,5,["customThumbnailSrc"]],[32,5,["thumbnailSrc"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"aspect-ratio"],[15,5,[32,0,["aspectRatioPaddingStyle"]]],[12],[2,"\\n "],[10,"img"],[15,"src",[30,[36,10],[[32,0,["previewThumbnailSrc"]],[32,5,["customThumbnailSrc"]],[32,5,["thumbnailSrc"]]],null]],[14,0,"aspect-ratio--object"],[14,5,"object-fit: cover"],[12],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,5],[[30,[36,10],[[32,4,["isUploading"]],[32,4,["errors"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"image-overlay"],[12],[2,"\\n "],[10,"button"],[14,0,"kg-large-play-icon"],[14,4,"button"],[12],[1,[30,[36,3],["play"],null]],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,4],[[32,0,["isDraggedOver"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"absolute absolute--fill flex items-center bg-black-60 pe-none"],[12],[2,"\\n "],[10,"span"],[14,0,"db center sans-serif fw7 f7 white"],[12],[2,"\\n Drop to replace video\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2,"\\n"],[6,[37,4],[[30,[36,10],[[32,4,["errors"]],[32,4,["isUploading"]],[30,[36,8],[[32,5,["src"]]],null]],null]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[15,0,[31,["relative miw-100 flex items-center justify-center ",[30,[36,5],[[32,5,["src"]],"kg-media-placeholder ba b--whitegrey bg-whitegrey-l2","absolute absolute--fill bg-white-50"],null]]]],[12],[2,"\\n"],[6,[37,4],[[32,4,["errors"]]],null,[["default"],[{"statements":[[2," "],[10,"span"],[14,0,"kg-upload-error"],[12],[2,"\\n "],[1,[30,[36,9],[[32,4,["errors"]],"0.message"],null]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,4],[[32,0,["isDraggedOver"]]],null,[["default","else"],[{"statements":[[2," "],[10,"span"],[14,0,"db center sans-serif fw7 f7 middarkgrey"],[12],[2,"\\n Drop it like it\'s hot 🔥\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,4],[[32,4,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,4,["progressBar"]]],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,4],[[30,[36,8],[[32,0,["previewThumbnailSrc"]],[32,5,["src"]]],null]],null,[["default"],[{"statements":[[2," "],[11,"button"],[24,0,"flex flex-column items-center center sans-serif fw4 f7 middarkgrey pa16 pt14 pb14 kg-image-button"],[24,4,"button"],[4,[38,2],["click",[32,0,["triggerVideoFileDialog"]]],null],[12],[2,"\\n "],[1,[30,[36,3],["film-camera"],[["class"],["kg-placeholder-video"]]]],[2,"\\n "],[10,"span"],[14,0,"mt4 kg-upload-placeholder-text"],[12],[2,"Click to select a video"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"div"],[14,0,"kg-player-container"],[12],[2,"\\n "],[10,"div"],[15,0,[31,["kg-player ",[30,[36,4],[[30,[36,7],[[32,5,["cardWidth"]],"full"],null],"kg-player-full"],null]]]],[12],[2,"\\n "],[10,"button"],[14,0,"kg-player-play-icon"],[14,4,"button"],[12],[1,[30,[36,3],["play"],null]],[13],[2,"\\n "],[10,"span"],[14,0,"kg-player-current-time"],[12],[2,"0:00"],[13],[2,"\\n "],[10,"div"],[14,0,"kg-player-time"],[12],[2,"\\n /"],[10,"span"],[14,0,"kg-player-duration"],[12],[1,[32,0,["totalDuration"]]],[13],[2,"\\n "],[13],[2,"\\n "],[10,"input"],[14,0,"kg-player-seek-slider"],[14,"max","100"],[14,2,"0"],[14,4,"range"],[12],[13],[2,"\\n "],[10,"button"],[14,0,"kg-player-playback-rate"],[14,4,"button"],[12],[2,"1×"],[13],[2,"\\n "],[10,"button"],[14,0,"kg-player-unmute-icon"],[14,4,"button"],[12],[1,[30,[36,3],["unmute"],null]],[13],[2,"\\n "],[10,"input"],[14,0,"kg-player-volume-slider"],[14,"max","100"],[14,2,"70"],[14,4,"range"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[],[["@multiple","@action","@accept","@onInsert"],[false,[32,4,["setFiles"]],[32,0,["videoMimeTypes"]],[32,0,["registerVideoFileInput"]]]],null],[2,"\\n "],[13],[2,"\\n "]],"parameters":[4]}]]],[2,"\\n\\n"],[6,[37,4],[[30,[36,10],[[32,8],[30,[36,14],[[32,5,["caption"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[8,[32,3,["CaptionInput"]],[],[["@caption","@update","@placeholder"],[[32,5,["caption"]],[30,[36,6],[[32,0,["updatePayloadAttr"]],"caption"],null],"Type caption for video (optional)"]],null],[2,"\\n"]],"parameters":[]}]]]],"parameters":[3]}]]],[2,"\\n\\n"],[6,[37,4],[[30,[36,15],[[32,9],[32,5,["src"]]],null]],null,[["default"],[{"statements":[[2," "],[8,"koenig-settings-panel",[],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control kg-settings-panel-control-horizontal"],[12],[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control-label"],[12],[2,"Video width"],[13],[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control-input"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-btn-group icons"],[12],[2,"\\n "],[11,"button"],[24,"title","Regular"],[16,0,[31,["gh-btn gh-btn-icon ",[30,[36,5],[[32,5,["cardWidth"]],"gh-btn-group-selected"],null]]]],[24,4,"button"],[4,[38,2],["click",[30,[36,6],[[32,0,["updatePayloadAttr"]],"cardWidth",null],null]],null],[12],[10,"span"],[12],[1,[30,[36,3],["koenig/kg-img-regular"],[["class"],["fill-darkgrey"]]]],[13],[13],[2,"\\n "],[11,"button"],[24,"title","Wide"],[16,0,[31,["gh-btn gh-btn-icon ",[30,[36,4],[[30,[36,7],[[32,5,["cardWidth"]],"wide"],null],"gh-btn-group-selected"],null]]]],[24,4,"button"],[4,[38,2],["click",[30,[36,6],[[32,0,["updatePayloadAttr"]],"cardWidth","wide"],null]],null],[12],[10,"span"],[12],[1,[30,[36,3],["koenig/kg-img-wide"],[["class"],["fill-darkgrey"]]]],[13],[13],[2,"\\n "],[11,"button"],[24,"title","Full"],[16,0,[31,["gh-btn gh-btn-icon ",[30,[36,4],[[30,[36,7],[[32,5,["cardWidth"]],"full"],null],"gh-btn-group-selected"],null]]]],[24,4,"button"],[4,[38,2],["click",[30,[36,6],[[32,0,["updatePayloadAttr"]],"cardWidth","full"],null]],null],[12],[10,"span"],[12],[1,[30,[36,3],["koenig/kg-img-full"],[["class"],["fill-darkgrey"]]]],[13],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"kg-settings-panel-control kg-settings-panel-control-horizontal"],[12],[2,"\\n "],[10,"label"],[14,0,"kg-settings-panel-control-label"],[14,"for","loop-toggle"],[12],[2,"Loop"],[13],[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control-input"],[12],[2,"\\n "],[10,"div"],[14,0,"for-switch x-small"],[12],[2,"\\n "],[10,"label"],[14,0,"switch"],[12],[2,"\\n "],[11,"input"],[24,0,"gh-input"],[24,1,"loop-toggle"],[16,"checked",[32,5,["loop"]]],[24,4,"checkbox"],[4,[38,2],["input",[32,0,["toggleLoop"]]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component mt1"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control-info video"],[12],[2,"Autoplay your video on a loop without sound."],[13],[2,"\\n\\n "],[8,"gh-uploader",[],[["@uploadUrl","@accept","@extensions","@onStart","@onComplete"],["/images/upload/",[32,0,["imageMimeTypes"]],[32,0,["imageExtensions"]],[32,0,["customThumbnailUploadStarted"]],[32,0,["customThumbnailUploadCompleted"]]]],[["default"],[{"statements":[[2,"\\n\\n"],[6,[37,5],[[32,5,["loop"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"kg-settings-panel-control"],[12],[2,"\\n "],[10,"label"],[14,0,"kg-settings-panel-control-label"],[12],[2,"Custom thumbnail"],[13],[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control-input"],[12],[2,"\\n "],[10,"div"],[14,0,"relative w-100"],[12],[2,"\\n"],[6,[37,4],[[32,1,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"kg-upload-thumbnail-xl"],[12],[2,"\\n "],[1,[32,1,["progressBar"]]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,4],[[32,5,["customThumbnailSrc"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"kg-thumbnail-xl-container"],[12],[2,"\\n "],[11,"img"],[24,0,"kg-thumbnail-xl"],[16,"src",[32,5,["customThumbnailSrc"]]],[4,[38,2],["click",[32,1,["triggerFileDialog"]]],null],[12],[13],[2,"\\n "],[10,"div"],[14,0,"image-overlay"],[12],[2,"\\n "],[10,"div"],[14,0,"flex flex-row-reverse"],[12],[2,"\\n "],[11,"button"],[24,0,"bg-white-90 br3 pe-auto"],[24,4,"button"],[4,[38,2],["click",[32,0,["deleteCustomThumbnail"]]],null],[12],[2,"\\n "],[1,[30,[36,3],["koenig/kg-trash"],[["class"],["kg-replace-icon fill-darkgrey"]]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"button"],[24,0,"gh-btn kg-upload-thumbnail-xl"],[24,4,"button"],[4,[38,2],["click",[32,1,["triggerFileDialog"]]],null],[12],[2,"\\n "],[1,[30,[36,3],["upload-fill"],null]],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[],[["@multiple","@action","@accept","@onInsert"],[false,[32,1,["setFiles"]],[32,0,["imageMimeTypes"]],[32,1,["registerFileInput"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,4],[[32,1,["errors"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"kg-settings-panel-control-info"],[12],[2,"\\n"],[6,[37,1],[[30,[36,0],[[30,[36,0],[[32,1,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"span"],[14,0,"red"],[12],[1,[32,2,["message"]]],[13],[2,"\\n"]],"parameters":[2]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "]],"parameters":[1]}]]],[2,"\\n "]],"parameters":[]}]]],[2,"\\n"]],"parameters":[]}]]]],"hasEval":false,"upvars":["-track-array","each","on","svg-jar","if","unless","fn","eq","not","get","or","kg-style","concat","did-insert","clean-basic-html","and"]}',moduleName:"koenig-editor/components/koenig-card-video.hbs"}),L=["mp4","webm","ogv"]
|
|
12317
|
+
const N=Ember.HTMLBars.template({id:"cWi7xXMQ",block:'{"symbols":["uploader","card","uploader","@payload","@env","@headerOffset","@isSelected","@isEditing","@selectCard","@deselectCard","@editCard","@saveCard","@saveAsSnippet","@addParagraphAfterCard","@moveCursorToPrevSection","@moveCursorToNextSection","@editor"],"statements":[[8,"koenig-card",[[4,[38,11],[[32,0,["didInsert"]]],null],[4,[38,0],["dragover",[32,0,["dragOver"]]],null],[4,[38,0],["dragleave",[32,0,["dragLeave"]]],null],[4,[38,0],["drop",[32,0,["drop"]]],null]],[["@env","@class","@headerOffset","@toolbar","@payload","@isSelected","@isEditing","@selectCard","@deselectCard","@editCard","@hasEditMode","@saveCard","@saveAsSnippet","@addParagraphAfterCard","@moveCursorToPrevSection","@moveCursorToNextSection","@editor"],[[32,5],[30,[36,10],["kg-card kg-video-card kg-card-hover mih10 miw-100 relative ba b--transparent",[30,[36,9],["breakout"],[["size"],[[32,4,["cardWidth"]]]]]],null],[32,6],[32,0,["toolbar"]],[32,4],[32,7],[32,8],[32,9],[32,10],[32,11],[30,[36,7],[[32,0,["isEmpty"]]],null],[32,12],[32,13],[32,14],[32,15],[32,16],[32,17]]],[["default"],[{"statements":[[2,"\\n "],[8,"gh-uploader",[],[["@uploadUrl","@resourceName","@files","@accept","@extensions","@onStart","@onComplete","@onFailed"],["/media/upload/","media",[32,0,["files"]],[32,0,["videoMimeTypes"]],[32,0,["videoExtensions"]],[32,0,["videoUploadStarted"]],[32,0,["videoUploadCompleted"]],[32,0,["videoUploadFailed"]]]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[15,0,[31,["relative",[30,[36,3],[[30,[36,8],[[32,0,["previewThumbnailSrc"]],[32,4,["customThumbnailSrc"]],[32,4,["thumbnailSrc"]]],null]," bg-whitegrey-l2"],null]]]],[12],[2,"\\n"],[6,[37,2],[[30,[36,8],[[32,0,["previewThumbnailSrc"]],[32,4,["customThumbnailSrc"]],[32,4,["thumbnailSrc"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"aspect-ratio"],[15,5,[32,0,["aspectRatioPaddingStyle"]]],[12],[2,"\\n "],[10,"img"],[15,"src",[30,[36,8],[[32,0,["previewThumbnailSrc"]],[32,4,["customThumbnailSrc"]],[32,4,["thumbnailSrc"]]],null]],[14,0,"aspect-ratio--object"],[14,5,"object-fit: cover"],[12],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,3],[[30,[36,8],[[32,3,["isUploading"]],[32,3,["errors"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"image-overlay"],[12],[2,"\\n "],[10,"button"],[14,0,"kg-large-play-icon"],[14,4,"button"],[12],[1,[30,[36,1],["play"],null]],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,2],[[32,0,["isDraggedOver"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"absolute absolute--fill flex items-center bg-black-60 pe-none"],[12],[2,"\\n "],[10,"span"],[14,0,"db center sans-serif fw7 f7 white"],[12],[2,"\\n Drop to replace video\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2,"\\n"],[6,[37,2],[[30,[36,8],[[32,3,["errors"]],[32,3,["isUploading"]],[30,[36,7],[[32,4,["src"]]],null]],null]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[15,0,[31,["relative miw-100 flex items-center justify-center ",[30,[36,3],[[32,4,["src"]],"kg-media-placeholder ba b--whitegrey bg-whitegrey-l2","absolute absolute--fill bg-white-50"],null]]]],[12],[2,"\\n"],[6,[37,2],[[32,0,["isDraggedOver"]]],null,[["default","else"],[{"statements":[[2," "],[10,"span"],[14,0,"db center sans-serif fw7 f7 middarkgrey"],[12],[2,"\\n Drop it like it\'s hot 🔥\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,2],[[32,3,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,3,["progressBar"]]],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,2],[[30,[36,7],[[32,0,["previewThumbnailSrc"]],[32,4,["src"]]],null]],null,[["default"],[{"statements":[[2," "],[11,"button"],[24,0,"flex flex-column items-center center sans-serif fw4 f7 middarkgrey pa16 pt14 pb14 kg-image-button"],[24,4,"button"],[4,[38,0],["click",[32,0,["triggerVideoFileDialog"]]],null],[12],[2,"\\n "],[1,[30,[36,1],["film-camera"],[["class"],["kg-placeholder-video"]]]],[2,"\\n "],[10,"span"],[14,0,"mt4 kg-upload-placeholder-text"],[12],[2,"Click to select a video"],[13],[2,"\\n"],[6,[37,2],[[32,3,["errors"]]],null,[["default"],[{"statements":[[2," "],[10,"span"],[14,0,"kg-upload-error"],[12],[2,"\\n "],[1,[30,[36,6],[[32,3,["errors"]],"0.message"],null]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"div"],[14,0,"kg-player-container"],[12],[2,"\\n "],[10,"div"],[15,0,[31,["kg-player ",[30,[36,2],[[30,[36,5],[[32,4,["cardWidth"]],"full"],null],"kg-player-full"],null]]]],[12],[2,"\\n "],[10,"button"],[14,0,"kg-player-play-icon"],[14,4,"button"],[12],[1,[30,[36,1],["play"],null]],[13],[2,"\\n "],[10,"span"],[14,0,"kg-player-current-time"],[12],[2,"0:00"],[13],[2,"\\n "],[10,"div"],[14,0,"kg-player-time"],[12],[2,"\\n /"],[10,"span"],[14,0,"kg-player-duration"],[12],[1,[32,0,["totalDuration"]]],[13],[2,"\\n "],[13],[2,"\\n "],[10,"input"],[14,0,"kg-player-seek-slider"],[14,"max","100"],[14,2,"0"],[14,4,"range"],[12],[13],[2,"\\n "],[10,"button"],[14,0,"kg-player-playback-rate"],[14,4,"button"],[12],[2,"1×"],[13],[2,"\\n "],[10,"button"],[14,0,"kg-player-unmute-icon"],[14,4,"button"],[12],[1,[30,[36,1],["unmute"],null]],[13],[2,"\\n "],[10,"input"],[14,0,"kg-player-volume-slider"],[14,"max","100"],[14,2,"70"],[14,4,"range"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[],[["@multiple","@action","@accept","@onInsert"],[false,[32,3,["setFiles"]],[32,0,["videoMimeTypes"]],[32,0,["registerVideoFileInput"]]]],null],[2,"\\n "],[13],[2,"\\n "]],"parameters":[3]}]]],[2,"\\n\\n"],[6,[37,2],[[30,[36,8],[[32,7],[30,[36,12],[[32,4,["caption"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[8,[32,2,["CaptionInput"]],[],[["@caption","@update","@placeholder"],[[32,4,["caption"]],[30,[36,4],[[32,0,["updatePayloadAttr"]],"caption"],null],"Type caption for video (optional)"]],null],[2,"\\n"]],"parameters":[]}]]]],"parameters":[2]}]]],[2,"\\n\\n"],[6,[37,2],[[30,[36,13],[[32,8],[32,4,["src"]]],null]],null,[["default"],[{"statements":[[2," "],[8,"koenig-settings-panel",[],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control kg-settings-panel-control-horizontal"],[12],[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control-label"],[12],[2,"Video width"],[13],[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control-input"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-btn-group icons"],[12],[2,"\\n "],[11,"button"],[24,"title","Regular"],[16,0,[31,["gh-btn gh-btn-icon ",[30,[36,3],[[32,4,["cardWidth"]],"gh-btn-group-selected"],null]]]],[24,4,"button"],[4,[38,0],["click",[30,[36,4],[[32,0,["updatePayloadAttr"]],"cardWidth",null],null]],null],[12],[10,"span"],[12],[1,[30,[36,1],["koenig/kg-img-regular"],[["class"],["fill-darkgrey"]]]],[13],[13],[2,"\\n "],[11,"button"],[24,"title","Wide"],[16,0,[31,["gh-btn gh-btn-icon ",[30,[36,2],[[30,[36,5],[[32,4,["cardWidth"]],"wide"],null],"gh-btn-group-selected"],null]]]],[24,4,"button"],[4,[38,0],["click",[30,[36,4],[[32,0,["updatePayloadAttr"]],"cardWidth","wide"],null]],null],[12],[10,"span"],[12],[1,[30,[36,1],["koenig/kg-img-wide"],[["class"],["fill-darkgrey"]]]],[13],[13],[2,"\\n "],[11,"button"],[24,"title","Full"],[16,0,[31,["gh-btn gh-btn-icon ",[30,[36,2],[[30,[36,5],[[32,4,["cardWidth"]],"full"],null],"gh-btn-group-selected"],null]]]],[24,4,"button"],[4,[38,0],["click",[30,[36,4],[[32,0,["updatePayloadAttr"]],"cardWidth","full"],null]],null],[12],[10,"span"],[12],[1,[30,[36,1],["koenig/kg-img-full"],[["class"],["fill-darkgrey"]]]],[13],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"kg-settings-panel-control kg-settings-panel-control-horizontal"],[12],[2,"\\n "],[10,"label"],[14,0,"kg-settings-panel-control-label"],[14,"for","loop-toggle"],[12],[2,"Loop"],[13],[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control-input"],[12],[2,"\\n "],[10,"div"],[14,0,"for-switch x-small"],[12],[2,"\\n "],[10,"label"],[14,0,"switch"],[12],[2,"\\n "],[11,"input"],[24,0,"gh-input"],[24,1,"loop-toggle"],[16,"checked",[32,4,["loop"]]],[24,4,"checkbox"],[4,[38,0],["input",[32,0,["toggleLoop"]]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component mt1"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control-info video"],[12],[2,"Autoplay your video on a loop without sound."],[13],[2,"\\n\\n "],[8,"gh-uploader",[],[["@uploadUrl","@accept","@extensions","@onStart","@onComplete"],["/images/upload/",[32,0,["imageMimeTypes"]],[32,0,["imageExtensions"]],[32,0,["customThumbnailUploadStarted"]],[32,0,["customThumbnailUploadCompleted"]]]],[["default"],[{"statements":[[2,"\\n\\n"],[6,[37,3],[[32,4,["loop"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"kg-settings-panel-control"],[12],[2,"\\n "],[10,"label"],[14,0,"kg-settings-panel-control-label"],[12],[2,"Custom thumbnail"],[13],[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control-input"],[12],[2,"\\n "],[10,"div"],[14,0,"relative w-100"],[12],[2,"\\n"],[6,[37,2],[[32,1,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"kg-upload-thumbnail-xl"],[12],[2,"\\n "],[1,[32,1,["progressBar"]]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,2],[[32,4,["customThumbnailSrc"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"kg-thumbnail-xl-container"],[12],[2,"\\n "],[11,"img"],[24,0,"kg-thumbnail-xl"],[16,"src",[32,4,["customThumbnailSrc"]]],[4,[38,0],["click",[32,1,["triggerFileDialog"]]],null],[12],[13],[2,"\\n "],[10,"div"],[14,0,"image-overlay"],[12],[2,"\\n "],[10,"div"],[14,0,"flex flex-row-reverse"],[12],[2,"\\n "],[11,"button"],[24,0,"bg-white-90 br3 pe-auto"],[24,4,"button"],[4,[38,0],["click",[32,0,["deleteCustomThumbnail"]]],null],[12],[2,"\\n "],[1,[30,[36,1],["koenig/kg-trash"],[["class"],["kg-replace-icon fill-darkgrey"]]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"button"],[24,0,"gh-btn kg-upload-thumbnail-xl"],[24,4,"button"],[4,[38,0],["click",[32,1,["triggerFileDialog"]]],null],[12],[2,"\\n "],[1,[30,[36,1],["upload-fill"],null]],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[],[["@multiple","@action","@accept","@onInsert"],[false,[32,1,["setFiles"]],[32,0,["imageMimeTypes"]],[32,1,["registerFileInput"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,2],[true],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"kg-settings-panel-control-info"],[12],[2,"\\n "],[10,"span"],[14,0,"red"],[12],[2,"The file type you uploaded is not supported. Please use .MP4, .WEBM, .OGV"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "]],"parameters":[1]}]]],[2,"\\n "]],"parameters":[]}]]],[2,"\\n"]],"parameters":[]}]]]],"hasEval":false,"upvars":["on","svg-jar","if","unless","fn","eq","get","not","or","kg-style","concat","did-insert","clean-basic-html","and"]}',moduleName:"koenig-editor/components/koenig-card-video.hbs"}),L=["mp4","webm","ogv"]
|
|
12318
12318
|
e.VIDEO_EXTENSIONS=L
|
|
12319
12319
|
const F=["video/mp4","video/webm","video/ogg"]
|
|
12320
12320
|
e.VIDEO_MIME_TYPES=F
|
|
@@ -13677,4 +13677,4 @@ return void 0===n&&(n=(0,t.createStorage)(null,(()=>!1)),r.set(e,n)),n}dirtyStor
|
|
|
13677
13677
|
r&&(0,t.setValue)(r,null)}constructor(e){o(this,"storages",new WeakMap),o(this,"vals",void 0),this.vals=new WeakSet(e)}has(e){return(0,t.getValue)(this.storageFor(e)),this.vals.has(e)}add(e){return this.vals.add(e),this.dirtyStorageFor(e),this}delete(e){return this.dirtyStorageFor(e),this.vals.delete(e)}get[i](){return this.vals[Symbol.toStringTag]}}e.TrackedWeakSet=s,Object.setPrototypeOf(s.prototype,WeakSet.prototype)})),define("tracked-built-ins/index",["exports","tracked-built-ins/-private/decorator","tracked-built-ins/-private/array","tracked-built-ins/-private/object","tracked-built-ins/-private/map","tracked-built-ins/-private/set"],(function(e,t,r,n,i,o){"use strict"
|
|
13678
13678
|
Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"TrackedArray",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"TrackedMap",{enumerable:!0,get:function(){return i.TrackedMap}}),Object.defineProperty(e,"TrackedObject",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(e,"TrackedSet",{enumerable:!0,get:function(){return o.TrackedSet}}),Object.defineProperty(e,"TrackedWeakMap",{enumerable:!0,get:function(){return i.TrackedWeakMap}}),Object.defineProperty(e,"TrackedWeakSet",{enumerable:!0,get:function(){return o.TrackedWeakSet}}),Object.defineProperty(e,"tracked",{enumerable:!0,get:function(){return t.default}})}))
|
|
13679
13679
|
|
|
13680
|
-
//# sourceMappingURL=vendor-
|
|
13680
|
+
//# sourceMappingURL=vendor-fadbf85ad92c591dc4bd3755312b6ddf.map
|
|
@@ -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.30%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%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-d3e45940f0f1601232d464d0b429d45f.css" title="light">
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
</head>
|
|
@@ -56,9 +56,9 @@
|
|
|
56
56
|
|
|
57
57
|
<div id="ember-basic-dropdown-wormhole"></div>
|
|
58
58
|
|
|
59
|
-
<script src="assets/vendor-
|
|
60
|
-
<script src="assets/chunk.
|
|
61
|
-
<script src="assets/chunk.143.
|
|
62
|
-
<script src="assets/ghost-
|
|
59
|
+
<script src="assets/vendor-fadbf85ad92c591dc4bd3755312b6ddf.js"></script>
|
|
60
|
+
<script src="assets/chunk.47.f29250a4560868c21293.js"></script>
|
|
61
|
+
<script src="assets/chunk.143.f9aa3f7f1c45d1d921cd.js"></script>
|
|
62
|
+
<script src="assets/ghost-23dc524374e35a582886c36f7dacdb05.js"></script>
|
|
63
63
|
</body>
|
|
64
64
|
</html>
|
|
@@ -78,8 +78,8 @@ module.exports = {
|
|
|
78
78
|
message: tpl(messages.postNotFound)
|
|
79
79
|
});
|
|
80
80
|
}
|
|
81
|
-
const {emails = [], memberSegment} = frame.data;
|
|
82
|
-
return await mega.mega.sendTestEmail(model, emails, memberSegment);
|
|
81
|
+
const {emails = [], memberSegment, newsletter = ''} = frame.data;
|
|
82
|
+
return await mega.mega.sendTestEmail(model, emails, memberSegment, newsletter);
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
};
|
package/core/server/data/migrations/versions/5.30/2023-01-13-04-25-unsubscribe-suppressed-emails.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const logging = require('@tryghost/logging');
|
|
2
|
+
|
|
3
|
+
const {createTransactionalMigration} = require('../../utils');
|
|
4
|
+
|
|
5
|
+
module.exports = createTransactionalMigration(
|
|
6
|
+
async function up(knex) {
|
|
7
|
+
const membersWithSuppressedEmails = await knex.select('members.id').from('members').innerJoin('suppressions', 'members.email', 'suppressions.email');
|
|
8
|
+
|
|
9
|
+
if (membersWithSuppressedEmails.length === 0) {
|
|
10
|
+
logging.info('No emails suppressions found');
|
|
11
|
+
return;
|
|
12
|
+
} else {
|
|
13
|
+
logging.info(`Unsubscribing ${membersWithSuppressedEmails.length} members from newsletters due to email suppressions`);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
await knex('members_newsletters').whereIn('member_id', membersWithSuppressedEmails.map(member => member.id)).del();
|
|
17
|
+
},
|
|
18
|
+
async function down() {
|
|
19
|
+
logging.info('Not repopulating members_newsletters');
|
|
20
|
+
}
|
|
21
|
+
);
|
|
@@ -51,6 +51,9 @@ const Member = ghostBookshelf.Model.extend({
|
|
|
51
51
|
// Currently we cannot expand on values such as null or a string in mongo-knex
|
|
52
52
|
// But the line below is essentially the same as: `email_recipients.opened_at:-null`
|
|
53
53
|
expansion: 'email_recipients.opened_at:>=0'
|
|
54
|
+
}, {
|
|
55
|
+
key: 'offer_redemptions',
|
|
56
|
+
replacement: 'offer_redemptions.offer_id'
|
|
54
57
|
}];
|
|
55
58
|
},
|
|
56
59
|
|
|
@@ -119,6 +122,11 @@ const Member = ghostBookshelf.Model.extend({
|
|
|
119
122
|
tableNameAs: 'feedback',
|
|
120
123
|
type: 'oneToOne',
|
|
121
124
|
joinFrom: 'member_id'
|
|
125
|
+
},
|
|
126
|
+
offer_redemptions: {
|
|
127
|
+
tableName: 'offer_redemptions',
|
|
128
|
+
type: 'oneToOne',
|
|
129
|
+
joinFrom: 'member_id'
|
|
122
130
|
}
|
|
123
131
|
};
|
|
124
132
|
},
|
|
@@ -144,7 +152,8 @@ const Member = ghostBookshelf.Model.extend({
|
|
|
144
152
|
newsletters: 'newsletters',
|
|
145
153
|
labels: 'labels',
|
|
146
154
|
stripeCustomers: 'members_stripe_customers',
|
|
147
|
-
email_recipients: 'email_recipients'
|
|
155
|
+
email_recipients: 'email_recipients',
|
|
156
|
+
offers: 'offers'
|
|
148
157
|
},
|
|
149
158
|
|
|
150
159
|
productEvents() {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
const {Color} = require('@tryghost/color-utils');
|
|
2
1
|
const audienceFeedback = require('../audience-feedback');
|
|
3
2
|
|
|
4
3
|
const templateStrings = {
|
|
@@ -24,20 +23,16 @@ const generateLinks = (postId, uuid, html) => {
|
|
|
24
23
|
return html;
|
|
25
24
|
};
|
|
26
25
|
|
|
27
|
-
const getTemplate = (
|
|
26
|
+
const getTemplate = () => {
|
|
28
27
|
const likeButtonHtml = getButtonHtml(
|
|
29
28
|
templateStrings.like,
|
|
30
29
|
'More like this',
|
|
31
|
-
|
|
32
|
-
'like-icon',
|
|
33
|
-
'https://static.ghost.org/v5.0.0/images/thumbs-up.png'
|
|
30
|
+
'https://static.ghost.org/v5.0.0/images/more-like-this.png'
|
|
34
31
|
);
|
|
35
32
|
const dislikeButtonHtml = getButtonHtml(
|
|
36
33
|
templateStrings.dislike,
|
|
37
34
|
'Less like this',
|
|
38
|
-
|
|
39
|
-
'dislike-icon',
|
|
40
|
-
'https://static.ghost.org/v5.0.0/images/thumbs-down.png'
|
|
35
|
+
'https://static.ghost.org/v5.0.0/images/less-like-this.png'
|
|
41
36
|
);
|
|
42
37
|
|
|
43
38
|
return (`
|
|
@@ -55,106 +50,17 @@ const getTemplate = (accentColor) => {
|
|
|
55
50
|
`);
|
|
56
51
|
};
|
|
57
52
|
|
|
58
|
-
function getButtonHtml(href, buttonText,
|
|
59
|
-
const bgColor = getButtonLightTheme(accentColor).backgroundColor;
|
|
60
|
-
const textColor = getButtonLightTheme(accentColor).color;
|
|
61
|
-
const buttonAttr = {
|
|
62
|
-
width: 100,
|
|
63
|
-
height: 38,
|
|
64
|
-
iconWidth: 24
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
// Sizes defined in pixels won’t be adjusted when Outlook is rendering at 120 dpi.
|
|
68
|
-
// To solve the problem we use values in points (1 pixel = 0.75 point).
|
|
69
|
-
// resource: https://www.hteumeuleu.com/2021/background-properties-in-vml/
|
|
70
|
-
const buttonAttrOutlook = {
|
|
71
|
-
width: (buttonAttr.width + buttonAttr.iconWidth) * 0.75,
|
|
72
|
-
height: buttonAttr.height * 0.75 + 1,
|
|
73
|
-
iconWidth: buttonAttr.iconWidth * 0.75
|
|
74
|
-
};
|
|
75
|
-
|
|
53
|
+
function getButtonHtml(href, buttonText, iconUrl) {
|
|
76
54
|
return (`
|
|
77
|
-
<td dir="ltr" valign="top" align="center" style="vertical-align: top;
|
|
78
|
-
<
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
<td class=${className} background=${iconUrl} bgcolor="${textColor}" width="${buttonAttr.iconWidth}" height="${buttonAttr.height}" valign="top" style="background-image: url(${iconUrl});vertical-align: middle; text-align: center;background-size: cover; background-position: 0 50%; background-repeat:no-repeat;">
|
|
82
|
-
<!--[if gte mso 9]>
|
|
83
|
-
<v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="width:${buttonAttrOutlook.iconWidth}pt;height:${buttonAttrOutlook.height}pt;">
|
|
84
|
-
<v:fill origin="0.5, 0.5" position="0.5, 0.5" type="tile" src=${iconUrl} color="${textColor}" size="1,1" aspect="atleast" />
|
|
85
|
-
<v:textbox inset="0,0,0,0">
|
|
86
|
-
<![endif]-->
|
|
87
|
-
<div>
|
|
88
|
-
<a style="background-color: ${bgColor};border: none; width: ${buttonAttr.iconWidth}px; height: ${buttonAttr.height}px; display: block" href=${href} target="_blank"></a>
|
|
89
|
-
</div>
|
|
90
|
-
<!--[if gte mso 9]>
|
|
91
|
-
</v:textbox>
|
|
92
|
-
</v:rect>
|
|
93
|
-
<![endif]-->
|
|
94
|
-
</td>
|
|
95
|
-
<td style="text-align: right;font-size: 18px; vertical-align: middle; color: ${textColor}!important; background-position: 0; padding: 0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';">
|
|
96
|
-
<div style="color: ${textColor}"><!--[if mso]>
|
|
97
|
-
<v:rect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href=${href} style="height:${buttonAttrOutlook.height}pt;v-text-anchor:middle;width:${buttonAttrOutlook.width}pt;" stroke="f">
|
|
98
|
-
<w:anchorlock/>
|
|
99
|
-
<center>
|
|
100
|
-
<![endif]-->
|
|
101
|
-
<a
|
|
102
|
-
href=${href}
|
|
103
|
-
target="_blank"
|
|
104
|
-
style="padding: 0 8px 0 8px;border-radius: 0 22px 22px 0;color:${textColor}!important;display:inline-block;font-family: inherit;font-size:14px;font-weight:bold;line-height:38px;text-align:left;text-decoration:none;width:100px;-webkit-text-size-adjust:none;">
|
|
105
|
-
${buttonText}</a>
|
|
106
|
-
<!--[if mso]>
|
|
107
|
-
</center>
|
|
108
|
-
</v:rect>
|
|
109
|
-
<![endif]--></div>
|
|
110
|
-
</td>
|
|
111
|
-
</tr>
|
|
112
|
-
</table>
|
|
55
|
+
<td dir="ltr" valign="top" align="center" style="vertical-align: top; font-family: inherit; font-size: 14px; text-align: center; padding: 0 8px;" nowrap>
|
|
56
|
+
<a href="${href}" target="_blank">
|
|
57
|
+
<img src="${iconUrl}" border="0" width="156" height="38" alt="${buttonText}">
|
|
58
|
+
</a>
|
|
113
59
|
</td>
|
|
114
60
|
`);
|
|
115
61
|
}
|
|
116
62
|
|
|
117
|
-
function getButtonLightTheme(accentColor) {
|
|
118
|
-
const color = new Color(accentColor);
|
|
119
|
-
const backgroundColor = `${accentColor}10`;
|
|
120
|
-
const textColor = color.darken(0.6).hex();
|
|
121
|
-
|
|
122
|
-
return {
|
|
123
|
-
color: textColor,
|
|
124
|
-
backgroundColor
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* @deprecated
|
|
130
|
-
* PLEASE MAKE IDENTICAL CHANGES TO email-service package email-templates/styles.hbs
|
|
131
|
-
*/
|
|
132
|
-
function getButtonsHeadStyles() {
|
|
133
|
-
// DEPRECATED!
|
|
134
|
-
// PLEASE MAKE IDENTICAL CHANGES TO email-service package email-templates/styles.hbs
|
|
135
|
-
return (`
|
|
136
|
-
.like-icon {
|
|
137
|
-
mix-blend-mode: darken;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
.dislike-icon {
|
|
141
|
-
mix-blend-mode: darken;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
@media (prefers-color-scheme: dark) {
|
|
145
|
-
.like-icon {
|
|
146
|
-
mix-blend-mode: initial !important;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
.dislike-icon {
|
|
150
|
-
mix-blend-mode: initial !important;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
`);
|
|
154
|
-
}
|
|
155
|
-
|
|
156
63
|
module.exports = {
|
|
157
64
|
generateLinks,
|
|
158
|
-
getTemplate
|
|
159
|
-
getButtonsHeadStyles
|
|
65
|
+
getTemplate
|
|
160
66
|
};
|
|
@@ -50,9 +50,15 @@ const getReplyToAddress = (fromAddress, replyAddressOption) => {
|
|
|
50
50
|
*
|
|
51
51
|
* @param {Object} postModel - post model instance
|
|
52
52
|
* @param {Object} options
|
|
53
|
+
* @param {Object} options
|
|
53
54
|
*/
|
|
54
55
|
const getEmailData = async (postModel, options) => {
|
|
55
|
-
let newsletter
|
|
56
|
+
let newsletter;
|
|
57
|
+
if (options.newsletterSlug) {
|
|
58
|
+
newsletter = await models.Newsletter.findOne({slug: options.newsletterSlug});
|
|
59
|
+
} else {
|
|
60
|
+
newsletter = await postModel.getLazyRelation('newsletter');
|
|
61
|
+
}
|
|
56
62
|
if (!newsletter) {
|
|
57
63
|
// The postModel doesn't have a newsletter in test emails
|
|
58
64
|
newsletter = await models.Newsletter.getDefaultNewsletter();
|
|
@@ -85,8 +91,8 @@ const getEmailData = async (postModel, options) => {
|
|
|
85
91
|
* @param {[string]} toEmails - member email addresses to send email to
|
|
86
92
|
* @param {ValidMemberSegment} [memberSegment]
|
|
87
93
|
*/
|
|
88
|
-
const sendTestEmail = async (postModel, toEmails, memberSegment) => {
|
|
89
|
-
let emailData = await getEmailData(postModel, {isTestEmail: true});
|
|
94
|
+
const sendTestEmail = async (postModel, toEmails, memberSegment, newsletterSlug) => {
|
|
95
|
+
let emailData = await getEmailData(postModel, {isTestEmail: true, newsletterSlug});
|
|
90
96
|
emailData.subject = `[Test] ${emailData.subject}`;
|
|
91
97
|
|
|
92
98
|
// fetch any matching members so that replacements use expected values
|
|
@@ -1174,8 +1174,6 @@ ${ templateSettings.showBadge ? `
|
|
|
1174
1174
|
}
|
|
1175
1175
|
` : ''}
|
|
1176
1176
|
|
|
1177
|
-
${iff(templateSettings.feedbackEnabled, feedbackButtons.getButtonsHeadStyles(templateSettings.accentColor), '')}
|
|
1178
|
-
|
|
1179
1177
|
</style>
|
|
1180
1178
|
</head>
|
|
1181
1179
|
|
|
@@ -1281,7 +1279,7 @@ ${iff(templateSettings.feedbackEnabled, feedbackButtons.getButtonsHeadStyles(tem
|
|
|
1281
1279
|
|
|
1282
1280
|
<!-- END MAIN CONTENT AREA -->
|
|
1283
1281
|
|
|
1284
|
-
${iff(templateSettings.feedbackEnabled, feedbackButtons.getTemplate(
|
|
1282
|
+
${iff(templateSettings.feedbackEnabled, feedbackButtons.getTemplate(), '')}
|
|
1285
1283
|
|
|
1286
1284
|
<tr>
|
|
1287
1285
|
<td class="wrapper" align="center">
|
|
@@ -170,7 +170,7 @@
|
|
|
170
170
|
},
|
|
171
171
|
"portal": {
|
|
172
172
|
"url": "https://cdn.jsdelivr.net/ghost/portal@~{version}/umd/portal.min.js",
|
|
173
|
-
"version": "2.
|
|
173
|
+
"version": "2.24"
|
|
174
174
|
},
|
|
175
175
|
"sodoSearch": {
|
|
176
176
|
"url": "https://cdn.jsdelivr.net/ghost/sodo-search@~{version}/umd/sodo-search.min.js",
|
package/core/shared/labs.js
CHANGED
|
@@ -15,6 +15,7 @@ const messages = {
|
|
|
15
15
|
|
|
16
16
|
// flags in this list always return `true`, allows quick global enable prior to full flag removal
|
|
17
17
|
const GA_FEATURES = [
|
|
18
|
+
'suppressionList',
|
|
18
19
|
'sourceAttribution',
|
|
19
20
|
'memberAttribution',
|
|
20
21
|
'audienceFeedback',
|
|
@@ -24,15 +25,14 @@ const GA_FEATURES = [
|
|
|
24
25
|
// NOTE: this allowlist is meant to be used to filter out any unexpected
|
|
25
26
|
// input for the "labs" setting value
|
|
26
27
|
const BETA_FEATURES = [
|
|
27
|
-
'activitypub'
|
|
28
|
+
'activitypub',
|
|
29
|
+
'emailStability'
|
|
28
30
|
];
|
|
29
31
|
|
|
30
32
|
const ALPHA_FEATURES = [
|
|
31
33
|
'urlCache',
|
|
32
34
|
'beforeAfterCard',
|
|
33
|
-
'lexicalEditor'
|
|
34
|
-
'suppressionList',
|
|
35
|
-
'emailStability'
|
|
35
|
+
'lexicalEditor'
|
|
36
36
|
];
|
|
37
37
|
|
|
38
38
|
module.exports.GA_KEYS = [...GA_FEATURES];
|
package/loggingrc.js
CHANGED
|
@@ -11,6 +11,9 @@ if (!loggingConfig.path) {
|
|
|
11
11
|
// Additional values used by logging
|
|
12
12
|
loggingConfig.env = config.get('env');
|
|
13
13
|
loggingConfig.domain = config.get('url');
|
|
14
|
+
loggingConfig.metadata = {
|
|
15
|
+
version: ghostVersion.original
|
|
16
|
+
};
|
|
14
17
|
|
|
15
18
|
// Config for metrics
|
|
16
19
|
loggingConfig.metrics = config.get('logging:metrics') || {};
|