ghost 5.75.2 → 5.75.3

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.
Files changed (124) hide show
  1. package/components/{tryghost-adapter-cache-memory-ttl-5.75.2.tgz → tryghost-adapter-cache-memory-ttl-5.75.3.tgz} +0 -0
  2. package/components/tryghost-adapter-cache-redis-5.75.3.tgz +0 -0
  3. package/components/{tryghost-adapter-manager-5.75.2.tgz → tryghost-adapter-manager-5.75.3.tgz} +0 -0
  4. package/components/{tryghost-announcement-bar-settings-5.75.2.tgz → tryghost-announcement-bar-settings-5.75.3.tgz} +0 -0
  5. package/components/{tryghost-api-framework-5.75.2.tgz → tryghost-api-framework-5.75.3.tgz} +0 -0
  6. package/components/tryghost-api-version-compatibility-service-5.75.3.tgz +0 -0
  7. package/components/{tryghost-audience-feedback-5.75.2.tgz → tryghost-audience-feedback-5.75.3.tgz} +0 -0
  8. package/components/tryghost-bookshelf-repository-5.75.3.tgz +0 -0
  9. package/components/{tryghost-bootstrap-socket-5.75.2.tgz → tryghost-bootstrap-socket-5.75.3.tgz} +0 -0
  10. package/components/{tryghost-collections-5.75.2.tgz → tryghost-collections-5.75.3.tgz} +0 -0
  11. package/components/{tryghost-constants-5.75.2.tgz → tryghost-constants-5.75.3.tgz} +0 -0
  12. package/components/{tryghost-custom-theme-settings-service-5.75.2.tgz → tryghost-custom-theme-settings-service-5.75.3.tgz} +0 -0
  13. package/components/{tryghost-data-generator-5.75.2.tgz → tryghost-data-generator-5.75.3.tgz} +0 -0
  14. package/components/tryghost-domain-events-5.75.3.tgz +0 -0
  15. package/components/tryghost-donations-5.75.3.tgz +0 -0
  16. package/components/tryghost-dynamic-routing-events-5.75.3.tgz +0 -0
  17. package/components/tryghost-email-addresses-5.75.3.tgz +0 -0
  18. package/components/tryghost-email-analytics-provider-mailgun-5.75.3.tgz +0 -0
  19. package/components/tryghost-email-analytics-service-5.75.3.tgz +0 -0
  20. package/components/{tryghost-email-content-generator-5.75.2.tgz → tryghost-email-content-generator-5.75.3.tgz} +0 -0
  21. package/components/{tryghost-email-events-5.75.2.tgz → tryghost-email-events-5.75.3.tgz} +0 -0
  22. package/components/{tryghost-email-service-5.75.2.tgz → tryghost-email-service-5.75.3.tgz} +0 -0
  23. package/components/tryghost-email-suppression-list-5.75.3.tgz +0 -0
  24. package/components/{tryghost-event-aware-cache-wrapper-5.75.2.tgz → tryghost-event-aware-cache-wrapper-5.75.3.tgz} +0 -0
  25. package/components/{tryghost-express-dynamic-redirects-5.75.2.tgz → tryghost-express-dynamic-redirects-5.75.3.tgz} +0 -0
  26. package/components/tryghost-external-media-inliner-5.75.3.tgz +0 -0
  27. package/components/tryghost-extract-api-key-5.75.3.tgz +0 -0
  28. package/components/{tryghost-html-to-plaintext-5.75.2.tgz → tryghost-html-to-plaintext-5.75.3.tgz} +0 -0
  29. package/components/tryghost-i18n-5.75.3.tgz +0 -0
  30. package/components/{tryghost-importer-handler-content-files-5.75.2.tgz → tryghost-importer-handler-content-files-5.75.3.tgz} +0 -0
  31. package/components/tryghost-importer-revue-5.75.3.tgz +0 -0
  32. package/components/tryghost-in-memory-repository-5.75.3.tgz +0 -0
  33. package/components/{tryghost-job-manager-5.75.2.tgz → tryghost-job-manager-5.75.3.tgz} +0 -0
  34. package/components/{tryghost-link-redirects-5.75.2.tgz → tryghost-link-redirects-5.75.3.tgz} +0 -0
  35. package/components/tryghost-link-replacer-5.75.3.tgz +0 -0
  36. package/components/{tryghost-link-tracking-5.75.2.tgz → tryghost-link-tracking-5.75.3.tgz} +0 -0
  37. package/components/{tryghost-magic-link-5.75.2.tgz → tryghost-magic-link-5.75.3.tgz} +0 -0
  38. package/components/tryghost-mail-events-5.75.3.tgz +0 -0
  39. package/components/tryghost-mailgun-client-5.75.3.tgz +0 -0
  40. package/components/{tryghost-member-attribution-5.75.2.tgz → tryghost-member-attribution-5.75.3.tgz} +0 -0
  41. package/components/{tryghost-member-events-5.75.2.tgz → tryghost-member-events-5.75.3.tgz} +0 -0
  42. package/components/{tryghost-members-api-5.75.2.tgz → tryghost-members-api-5.75.3.tgz} +0 -0
  43. package/components/{tryghost-members-csv-5.75.2.tgz → tryghost-members-csv-5.75.3.tgz} +0 -0
  44. package/components/{tryghost-members-events-service-5.75.2.tgz → tryghost-members-events-service-5.75.3.tgz} +0 -0
  45. package/components/{tryghost-members-importer-5.75.2.tgz → tryghost-members-importer-5.75.3.tgz} +0 -0
  46. package/components/{tryghost-members-offers-5.75.2.tgz → tryghost-members-offers-5.75.3.tgz} +0 -0
  47. package/components/tryghost-members-payments-5.75.3.tgz +0 -0
  48. package/components/tryghost-members-ssr-5.75.3.tgz +0 -0
  49. package/components/{tryghost-members-stripe-service-5.75.2.tgz → tryghost-members-stripe-service-5.75.3.tgz} +0 -0
  50. package/components/{tryghost-mentions-email-report-5.75.2.tgz → tryghost-mentions-email-report-5.75.3.tgz} +0 -0
  51. package/components/tryghost-milestones-5.75.3.tgz +0 -0
  52. package/components/{tryghost-minifier-5.75.2.tgz → tryghost-minifier-5.75.3.tgz} +0 -0
  53. package/components/tryghost-model-to-domain-event-interceptor-5.75.3.tgz +0 -0
  54. package/components/tryghost-mw-api-version-mismatch-5.75.3.tgz +0 -0
  55. package/components/{tryghost-mw-cache-control-5.75.2.tgz → tryghost-mw-cache-control-5.75.3.tgz} +0 -0
  56. package/components/{tryghost-mw-error-handler-5.75.2.tgz → tryghost-mw-error-handler-5.75.3.tgz} +0 -0
  57. package/components/tryghost-mw-session-from-token-5.75.3.tgz +0 -0
  58. package/components/tryghost-mw-update-user-last-seen-5.75.3.tgz +0 -0
  59. package/components/{tryghost-mw-version-match-5.75.2.tgz → tryghost-mw-version-match-5.75.3.tgz} +0 -0
  60. package/components/tryghost-mw-vhost-5.75.3.tgz +0 -0
  61. package/components/tryghost-nql-filter-expansions-5.75.3.tgz +0 -0
  62. package/components/{tryghost-oembed-service-5.75.2.tgz → tryghost-oembed-service-5.75.3.tgz} +0 -0
  63. package/components/tryghost-package-json-5.75.3.tgz +0 -0
  64. package/components/{tryghost-post-events-5.75.2.tgz → tryghost-post-events-5.75.3.tgz} +0 -0
  65. package/components/tryghost-post-revisions-5.75.3.tgz +0 -0
  66. package/components/{tryghost-posts-service-5.75.2.tgz → tryghost-posts-service-5.75.3.tgz} +0 -0
  67. package/components/tryghost-recommendations-5.75.3.tgz +0 -0
  68. package/components/{tryghost-referrers-5.75.2.tgz → tryghost-referrers-5.75.3.tgz} +0 -0
  69. package/components/{tryghost-security-5.75.2.tgz → tryghost-security-5.75.3.tgz} +0 -0
  70. package/components/{tryghost-session-service-5.75.2.tgz → tryghost-session-service-5.75.3.tgz} +0 -0
  71. package/components/tryghost-settings-path-manager-5.75.3.tgz +0 -0
  72. package/components/{tryghost-slack-notifications-5.75.2.tgz → tryghost-slack-notifications-5.75.3.tgz} +0 -0
  73. package/components/{tryghost-staff-service-5.75.2.tgz → tryghost-staff-service-5.75.3.tgz} +0 -0
  74. package/components/tryghost-stats-service-5.75.3.tgz +0 -0
  75. package/components/{tryghost-tiers-5.75.2.tgz → tryghost-tiers-5.75.3.tgz} +0 -0
  76. package/components/{tryghost-update-check-service-5.75.2.tgz → tryghost-update-check-service-5.75.3.tgz} +0 -0
  77. package/components/tryghost-verification-trigger-5.75.3.tgz +0 -0
  78. package/components/tryghost-version-notifications-data-service-5.75.3.tgz +0 -0
  79. package/components/tryghost-webmentions-5.75.3.tgz +0 -0
  80. package/core/app.js +3 -1
  81. package/core/boot.js +4 -1
  82. package/core/built/admin/assets/{chunk.143.3bd2e0f4f76f9b3424bd.js → chunk.143.96062ac831a61508aedd.js} +5 -5
  83. package/core/built/admin/assets/{chunk.178.33f9c955f0d6abb8e0db.js → chunk.178.9cb1465775ad155bbd9a.js} +4 -4
  84. package/core/built/admin/index.html +1 -1
  85. package/core/server/services/public-config/site.js +7 -1
  86. package/core/shared/SentryKnexTracingIntegration.js +67 -0
  87. package/core/shared/sentry.js +47 -6
  88. package/package.json +148 -147
  89. package/yarn.lock +15 -0
  90. package/components/tryghost-adapter-cache-redis-5.75.2.tgz +0 -0
  91. package/components/tryghost-api-version-compatibility-service-5.75.2.tgz +0 -0
  92. package/components/tryghost-bookshelf-repository-5.75.2.tgz +0 -0
  93. package/components/tryghost-domain-events-5.75.2.tgz +0 -0
  94. package/components/tryghost-donations-5.75.2.tgz +0 -0
  95. package/components/tryghost-dynamic-routing-events-5.75.2.tgz +0 -0
  96. package/components/tryghost-email-addresses-5.75.2.tgz +0 -0
  97. package/components/tryghost-email-analytics-provider-mailgun-5.75.2.tgz +0 -0
  98. package/components/tryghost-email-analytics-service-5.75.2.tgz +0 -0
  99. package/components/tryghost-email-suppression-list-5.75.2.tgz +0 -0
  100. package/components/tryghost-external-media-inliner-5.75.2.tgz +0 -0
  101. package/components/tryghost-extract-api-key-5.75.2.tgz +0 -0
  102. package/components/tryghost-i18n-5.75.2.tgz +0 -0
  103. package/components/tryghost-importer-revue-5.75.2.tgz +0 -0
  104. package/components/tryghost-in-memory-repository-5.75.2.tgz +0 -0
  105. package/components/tryghost-link-replacer-5.75.2.tgz +0 -0
  106. package/components/tryghost-mail-events-5.75.2.tgz +0 -0
  107. package/components/tryghost-mailgun-client-5.75.2.tgz +0 -0
  108. package/components/tryghost-members-payments-5.75.2.tgz +0 -0
  109. package/components/tryghost-members-ssr-5.75.2.tgz +0 -0
  110. package/components/tryghost-milestones-5.75.2.tgz +0 -0
  111. package/components/tryghost-model-to-domain-event-interceptor-5.75.2.tgz +0 -0
  112. package/components/tryghost-mw-api-version-mismatch-5.75.2.tgz +0 -0
  113. package/components/tryghost-mw-session-from-token-5.75.2.tgz +0 -0
  114. package/components/tryghost-mw-update-user-last-seen-5.75.2.tgz +0 -0
  115. package/components/tryghost-mw-vhost-5.75.2.tgz +0 -0
  116. package/components/tryghost-nql-filter-expansions-5.75.2.tgz +0 -0
  117. package/components/tryghost-package-json-5.75.2.tgz +0 -0
  118. package/components/tryghost-post-revisions-5.75.2.tgz +0 -0
  119. package/components/tryghost-recommendations-5.75.2.tgz +0 -0
  120. package/components/tryghost-settings-path-manager-5.75.2.tgz +0 -0
  121. package/components/tryghost-stats-service-5.75.2.tgz +0 -0
  122. package/components/tryghost-verification-trigger-5.75.2.tgz +0 -0
  123. package/components/tryghost-version-notifications-data-service-5.75.2.tgz +0 -0
  124. package/components/tryghost-webmentions-5.75.2.tgz +0 -0
package/core/app.js CHANGED
@@ -30,7 +30,9 @@ const maintenanceMiddleware = (req, res, next) => {
30
30
  const rootApp = () => {
31
31
  const app = express('root');
32
32
  app.use(sentry.requestHandler);
33
-
33
+ if (config.get('sentry')?.tracing?.enabled === true) {
34
+ app.use(sentry.tracingHandler);
35
+ }
34
36
  app.enable('maintenance');
35
37
  app.use(maintenanceMiddleware);
36
38
 
package/core/boot.js CHANGED
@@ -483,7 +483,7 @@ async function bootGhost({backend = true, frontend = true, server = true} = {})
483
483
 
484
484
  // Sentry must be initialized early, but requires config
485
485
  debug('Begin: Load sentry');
486
- require('./shared/sentry');
486
+ const sentry = require('./shared/sentry');
487
487
  debug('End: Load sentry');
488
488
 
489
489
  // Step 2 - Start server with minimal app in global maintenance mode
@@ -502,6 +502,9 @@ async function bootGhost({backend = true, frontend = true, server = true} = {})
502
502
  debug('Begin: Get DB ready');
503
503
  await initDatabase({config});
504
504
  bootLogger.log('database ready');
505
+ sentry.initQueryTracing(
506
+ require('./server/data/db/connection')
507
+ );
505
508
  debug('End: Get DB ready');
506
509
 
507
510
  // Step 4 - Load Ghost with all its services
@@ -10,8 +10,8 @@ function s(e){var r=o(e)
10
10
  return t(r)}function o(e){if(!t.o(n,e)){var r=new Error("Cannot find module '"+e+"'")
11
11
  throw r.code="MODULE_NOT_FOUND",r}return n[e]}s.keys=function(){return Object.keys(n)},s.resolve=o,e.exports=s,s.id=96616},7456:e=>{"use strict"
12
12
  e.exports=require("@ember/test-waiters")},57498:e=>{"use strict"
13
- e.exports=require("ember-tracked-storage-polyfill")},11975:()=>{},32533:(e,r,t)=>{var n,s
14
- e.exports=(n=_eai_d,s=_eai_r,window.emberAutoImportDynamic=function(e){return 1===arguments.length?s("_eai_dyn_"+e):s("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return s("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))},n("@sentry/browser",[],(function(){return t(55214)})),n("@sentry/integrations",[],(function(){return t(87643)})),n("@sentry/utils",[],(function(){return t(78926)})),n("@tryghost/color-utils",[],(function(){return t(82485)})),n("@tryghost/kg-clean-basic-html",[],(function(){return t(89096)})),n("@tryghost/kg-converters",[],(function(){return t(9138)})),n("@tryghost/limit-service",[],(function(){return t(38583)})),n("@tryghost/members-csv/lib/unparse",[],(function(){return t(91883)})),n("@tryghost/nql",[],(function(){return t(97490)})),n("@tryghost/nql-lang",[],(function(){return t(75420)})),n("@tryghost/string",[],(function(){return t(57348)})),n("@tryghost/timezone-data",[],(function(){return t(28961)})),n("element-resize-detector",[],(function(){return t(87381)})),n("ember-css-transitions/modifiers/css-transition",["@ember/test-waiters"],(function(){return t(56112)})),n("ember-keyboard/helpers/if-key.js",[],(function(){return t(43481)})),n("ember-keyboard/helpers/on-key.js",[],(function(){return t(66415)})),n("ember-keyboard/modifiers/on-key.js",[],(function(){return t(4146)})),n("ember-keyboard/services/keyboard.js",[],(function(){return t(79690)})),n("ember-modifier",[],(function(){return t(92509)})),n("ember-moment/helpers/-base.js",[],(function(){return t(76465)})),n("ember-moment/helpers/is-after.js",[],(function(){return t(876)})),n("ember-moment/helpers/is-before.js",[],(function(){return t(13971)})),n("ember-moment/helpers/is-between.js",[],(function(){return t(2063)})),n("ember-moment/helpers/is-same-or-after.js",[],(function(){return t(12915)})),n("ember-moment/helpers/is-same-or-before.js",[],(function(){return t(46102)})),n("ember-moment/helpers/is-same.js",[],(function(){return t(71465)})),n("ember-moment/helpers/moment-add.js",[],(function(){return t(64462)})),n("ember-moment/helpers/moment-calendar.js",[],(function(){return t(69021)})),n("ember-moment/helpers/moment-diff.js",[],(function(){return t(95198)})),n("ember-moment/helpers/moment-duration.js",[],(function(){return t(17216)})),n("ember-moment/helpers/moment-format.js",[],(function(){return t(99152)})),n("ember-moment/helpers/moment-from-now.js",[],(function(){return t(16396)})),n("ember-moment/helpers/moment-from.js",[],(function(){return t(48478)})),n("ember-moment/helpers/moment-subtract.js",[],(function(){return t(4647)})),n("ember-moment/helpers/moment-to-date.js",[],(function(){return t(18351)})),n("ember-moment/helpers/moment-to-now.js",[],(function(){return t(94612)})),n("ember-moment/helpers/moment-to.js",[],(function(){return t(91857)})),n("ember-moment/helpers/moment.js",[],(function(){return t(26852)})),n("ember-moment/helpers/now.js",[],(function(){return t(67842)})),n("ember-moment/helpers/unix.js",[],(function(){return t(29700)})),n("ember-moment/helpers/utc.js",[],(function(){return t(71755)})),n("ember-moment/services/moment.js",[],(function(){return t(27475)})),n("fast-deep-equal",[],(function(){return t(64710)})),n("focus-trap",[],(function(){return t(6657)})),n("intersection-observer-admin",[],(function(){return t(77577)})),n("jose",[],(function(){return t(64965)})),n("moment-timezone",[],(function(){return t(19127)})),n("papaparse",[],(function(){return t(99112)})),n("raf-pool",[],(function(){return t(42586)})),n("react",[],(function(){return t(11591)})),n("react-dom",[],(function(){return t(96027)})),n("react-dom/client",[],(function(){return t(22609)})),n("semver/functions/coerce",[],(function(){return t(57305)})),n("semver/functions/lt",[],(function(){return t(63721)})),n("semver/functions/parse",[],(function(){return t(62919)})),n("tooltip.js",[],(function(){return t(15028)})),n("tracked-built-ins",["ember-tracked-storage-polyfill"],(function(){return t(98350)})),n("urijs",[],(function(){return t(3491)})),n("validator",[],(function(){return t(2228)})),void n("_eai_dyn_@sentry/browser",[],(function(){return Promise.resolve().then(t.bind(t,55214))})))},59665:function(e,r){window._eai_r=require,window._eai_d=define}},t={}
13
+ e.exports=require("ember-tracked-storage-polyfill")},11975:()=>{},10358:(e,r,t)=>{var n,s
14
+ e.exports=(n=_eai_d,s=_eai_r,window.emberAutoImportDynamic=function(e){return 1===arguments.length?s("_eai_dyn_"+e):s("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return s("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))},n("@sentry/browser",[],(function(){return t(55214)})),n("@sentry/integrations",[],(function(){return t(87643)})),n("@sentry/utils",[],(function(){return t(78926)})),n("@tryghost/color-utils",[],(function(){return t(82485)})),n("@tryghost/kg-clean-basic-html",[],(function(){return t(89096)})),n("@tryghost/kg-converters",[],(function(){return t(9138)})),n("@tryghost/limit-service",[],(function(){return t(38583)})),n("@tryghost/members-csv/lib/unparse",[],(function(){return t(91883)})),n("@tryghost/nql",[],(function(){return t(97490)})),n("@tryghost/nql-lang",[],(function(){return t(75420)})),n("@tryghost/string",[],(function(){return t(57348)})),n("@tryghost/timezone-data",[],(function(){return t(28961)})),n("element-resize-detector",[],(function(){return t(87381)})),n("ember-css-transitions/modifiers/css-transition",["@ember/test-waiters"],(function(){return t(56112)})),n("ember-keyboard/helpers/if-key.js",[],(function(){return t(43481)})),n("ember-keyboard/helpers/on-key.js",[],(function(){return t(66415)})),n("ember-keyboard/modifiers/on-key.js",[],(function(){return t(4146)})),n("ember-keyboard/services/keyboard.js",[],(function(){return t(79690)})),n("ember-modifier",[],(function(){return t(92509)})),n("ember-moment/helpers/-base.js",[],(function(){return t(76465)})),n("ember-moment/helpers/is-after.js",[],(function(){return t(876)})),n("ember-moment/helpers/is-before.js",[],(function(){return t(13971)})),n("ember-moment/helpers/is-between.js",[],(function(){return t(2063)})),n("ember-moment/helpers/is-same-or-after.js",[],(function(){return t(12915)})),n("ember-moment/helpers/is-same-or-before.js",[],(function(){return t(46102)})),n("ember-moment/helpers/is-same.js",[],(function(){return t(71465)})),n("ember-moment/helpers/moment-add.js",[],(function(){return t(64462)})),n("ember-moment/helpers/moment-calendar.js",[],(function(){return t(69021)})),n("ember-moment/helpers/moment-diff.js",[],(function(){return t(95198)})),n("ember-moment/helpers/moment-duration.js",[],(function(){return t(17216)})),n("ember-moment/helpers/moment-format.js",[],(function(){return t(99152)})),n("ember-moment/helpers/moment-from-now.js",[],(function(){return t(16396)})),n("ember-moment/helpers/moment-from.js",[],(function(){return t(48478)})),n("ember-moment/helpers/moment-subtract.js",[],(function(){return t(4647)})),n("ember-moment/helpers/moment-to-date.js",[],(function(){return t(18351)})),n("ember-moment/helpers/moment-to-now.js",[],(function(){return t(94612)})),n("ember-moment/helpers/moment-to.js",[],(function(){return t(91857)})),n("ember-moment/helpers/moment.js",[],(function(){return t(26852)})),n("ember-moment/helpers/now.js",[],(function(){return t(67842)})),n("ember-moment/helpers/unix.js",[],(function(){return t(29700)})),n("ember-moment/helpers/utc.js",[],(function(){return t(71755)})),n("ember-moment/services/moment.js",[],(function(){return t(27475)})),n("fast-deep-equal",[],(function(){return t(64710)})),n("focus-trap",[],(function(){return t(6657)})),n("intersection-observer-admin",[],(function(){return t(77577)})),n("jose",[],(function(){return t(64965)})),n("moment-timezone",[],(function(){return t(19127)})),n("papaparse",[],(function(){return t(99112)})),n("raf-pool",[],(function(){return t(42586)})),n("react",[],(function(){return t(11591)})),n("react-dom",[],(function(){return t(96027)})),n("react-dom/client",[],(function(){return t(22609)})),n("semver/functions/coerce",[],(function(){return t(57305)})),n("semver/functions/lt",[],(function(){return t(63721)})),n("semver/functions/parse",[],(function(){return t(62919)})),n("tooltip.js",[],(function(){return t(15028)})),n("tracked-built-ins",["ember-tracked-storage-polyfill"],(function(){return t(98350)})),n("urijs",[],(function(){return t(3491)})),n("validator",[],(function(){return t(2228)})),void n("_eai_dyn_@sentry/browser",[],(function(){return Promise.resolve().then(t.bind(t,55214))})))},94794:function(e,r){window._eai_r=require,window._eai_d=define}},t={}
15
15
  function n(e){var s=t[e]
16
16
  if(void 0!==s)return s.exports
17
17
  var o=t[e]={id:e,loaded:!1,exports:{}}
@@ -28,8 +28,8 @@ var r=(r,t)=>{var s,o,[i,u,m]=t,a=0
28
28
  if(i.some((r=>0!==e[r]))){for(s in u)n.o(u,s)&&(n.m[s]=u[s])
29
29
  if(m)var c=m(n)}for(r&&r(t);a<i.length;a++)o=i[a],n.o(e,o)&&e[o]&&e[o][0](),e[o]=0
30
30
  return n.O(c)},t=globalThis.webpackChunk_ember_auto_import_=globalThis.webpackChunk_ember_auto_import_||[]
31
- t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),n.O(void 0,[214],(()=>n(n.s=59665)))
32
- var s=n.O(void 0,[214],(()=>n(n.s=32533)))
31
+ t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),n.O(void 0,[214],(()=>n(n.s=94794)))
32
+ var s=n.O(void 0,[214],(()=>n(n.s=10358)))
33
33
  s=n.O(s),__ember_auto_import__=s})()
34
34
 
35
- //# sourceMappingURL=chunk.143.3bd2e0f4f76f9b3424bd.map
35
+ //# sourceMappingURL=chunk.143.96062ac831a61508aedd.map
@@ -1,11 +1,11 @@
1
- var __ember_auto_import__;(()=>{var r={59665:function(r,e){window._eai_r=require,window._eai_d=define},2882:r=>{r.exports=function(){_eai_d
1
+ var __ember_auto_import__;(()=>{var r={94794:function(r,e){window._eai_r=require,window._eai_d=define},38710:r=>{r.exports=function(){_eai_d
2
2
  var r=_eai_r
3
3
  window.emberAutoImportDynamic=function(e){return 1===arguments.length?r("_eai_dyn_"+e):r("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return r("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))}}()}},e={}
4
4
  function t(_){var o=e[_]
5
5
  if(void 0!==o)return o.exports
6
6
  var i=e[_]={exports:{}}
7
- return r[_].call(i.exports,i,i.exports,t),i.exports}t(59665)
8
- var _=t(2882)
7
+ return r[_].call(i.exports,i,i.exports,t),i.exports}t(94794)
8
+ var _=t(38710)
9
9
  __ember_auto_import__=_})()
10
10
 
11
- //# sourceMappingURL=chunk.178.33f9c955f0d6abb8e0db.map
11
+ //# sourceMappingURL=chunk.178.9cb1465775ad155bbd9a.map
@@ -58,7 +58,7 @@
58
58
 
59
59
  <script src="assets/vendor-f6856af9fcd8ab6533f2a4339ececbc8.js"></script>
60
60
  <script src="assets/chunk.214.611b4f2521fabe34eea8.js"></script>
61
- <script src="assets/chunk.143.3bd2e0f4f76f9b3424bd.js"></script>
61
+ <script src="assets/chunk.143.96062ac831a61508aedd.js"></script>
62
62
  <script src="assets/ghost-2fe51d0831dd1694a4e88abd5f38e2fb.js"></script>
63
63
  </body>
64
64
  </html>
@@ -19,7 +19,13 @@ module.exports = function getSiteProperties() {
19
19
 
20
20
  if (config.get('client_sentry') && !config.get('client_sentry').disabled) {
21
21
  siteProperties.sentry_dsn = config.get('client_sentry').dsn;
22
- siteProperties.sentry_env = config.get('env');
22
+
23
+ let environment = config.get('PRO_ENV');
24
+ if (!environment) {
25
+ environment = config.get('env');
26
+ }
27
+
28
+ siteProperties.sentry_env = environment;
23
29
  }
24
30
 
25
31
  return siteProperties;
@@ -0,0 +1,67 @@
1
+ /**
2
+ * @typedef {import('knex').Knex.Client} KnexClient
3
+ */
4
+
5
+ /**
6
+ * @typedef {import('@sentry/types').Integration} SentryIntegration
7
+ */
8
+
9
+ /**
10
+ * Sentry Knex tracing integration
11
+ *
12
+ * @implements {SentryIntegration}
13
+ */
14
+ class SentryKnexTracingIntegration {
15
+ static id = 'Knex';
16
+
17
+ name = SentryKnexTracingIntegration.id;
18
+
19
+ /** @type {KnexClient} */
20
+ #knex;
21
+
22
+ /** @type {Map} */
23
+ #spanCache = new Map();
24
+
25
+ /**
26
+ * @param {KnexClient} knex
27
+ */
28
+ constructor(knex) {
29
+ this.#knex = knex;
30
+ }
31
+
32
+ /**
33
+ * @param {Function} addGlobalEventProcessor
34
+ * @param {Function} getCurrentHub
35
+ */
36
+ setupOnce(addGlobalEventProcessor, getCurrentHub) {
37
+ this.#knex.on('query', (query) => {
38
+ const scope = getCurrentHub().getScope();
39
+ const parentSpan = scope?.getSpan();
40
+
41
+ const span = parentSpan?.startChild({
42
+ op: 'db.query',
43
+ description: query.sql
44
+ });
45
+
46
+ if (span) {
47
+ this.#spanCache.set(query.__knexQueryUid, span);
48
+ }
49
+ });
50
+
51
+ const handleQueryExecuted = (err, query) => {
52
+ const queryId = query.__knexQueryUid;
53
+ const span = this.#spanCache.get(queryId);
54
+
55
+ if (span) {
56
+ span.finish();
57
+
58
+ this.#spanCache.delete(queryId);
59
+ }
60
+ };
61
+
62
+ this.#knex.on('query-response', handleQueryExecuted);
63
+ this.#knex.on('query-error', handleQueryExecuted);
64
+ }
65
+ }
66
+
67
+ module.exports = SentryKnexTracingIntegration;
@@ -1,4 +1,6 @@
1
1
  const config = require('./config');
2
+ const logging = require('@tryghost/logging');
3
+ const SentryKnexTracingIntegration = require('./SentryKnexTracingIntegration');
2
4
  const sentryConfig = config.get('sentry');
3
5
  const errors = require('@tryghost/errors');
4
6
 
@@ -58,14 +60,43 @@ const beforeSend = function (event, hint) {
58
60
  if (sentryConfig && !sentryConfig.disabled) {
59
61
  const Sentry = require('@sentry/node');
60
62
  const version = require('@tryghost/version').full;
61
- const environment = config.get('env');
62
- Sentry.init({
63
+
64
+ let environment = config.get('PRO_ENV');
65
+ if (!environment) {
66
+ environment = config.get('env');
67
+ }
68
+
69
+ const sentryInitConfig = {
63
70
  dsn: sentryConfig.dsn,
64
71
  release: 'ghost@' + version,
65
72
  environment: environment,
66
73
  maxValueLength: 1000,
67
- beforeSend: beforeSend
68
- });
74
+ integrations: [],
75
+ beforeSend
76
+ };
77
+
78
+ // Enable tracing if sentry.tracing.enabled is true
79
+ if (sentryConfig.tracing?.enabled === true) {
80
+ sentryInitConfig.integrations.push(new Sentry.Integrations.Http({tracing: true}));
81
+ sentryInitConfig.tracesSampleRate = parseFloat(sentryConfig.tracing.sampleRate) || 0.0;
82
+ // Enable profiling, if configured, only if tracing is also configured
83
+ if (sentryConfig.profiling?.enabled === true) {
84
+ // Import Sentry's profiling integration if available
85
+ let ProfilingIntegration;
86
+ try {
87
+ ({ProfilingIntegration} = require('@sentry/profiling-node'));
88
+ } catch (err) {
89
+ logging.warn('Sentry Profiling Integration not available');
90
+ ProfilingIntegration = null;
91
+ }
92
+
93
+ if (ProfilingIntegration) {
94
+ sentryInitConfig.integrations.push(new ProfilingIntegration());
95
+ sentryInitConfig.profilesSampleRate = parseFloat(sentryConfig.profiling.sampleRate) || 0.0;
96
+ }
97
+ }
98
+ }
99
+ Sentry.init(sentryInitConfig);
69
100
 
70
101
  module.exports = {
71
102
  requestHandler: Sentry.Handlers.requestHandler(),
@@ -82,8 +113,16 @@ if (sentryConfig && !sentryConfig.disabled) {
82
113
  return (error.statusCode === 500);
83
114
  }
84
115
  }),
116
+ tracingHandler: Sentry.Handlers.tracingHandler(),
85
117
  captureException: Sentry.captureException,
86
- beforeSend: beforeSend
118
+ beforeSend: beforeSend,
119
+ initQueryTracing: (knex) => {
120
+ if (sentryConfig.tracing?.enabled === true) {
121
+ const integration = new SentryKnexTracingIntegration(knex);
122
+
123
+ Sentry.addIntegration(integration);
124
+ }
125
+ }
87
126
  };
88
127
  } else {
89
128
  const expressNoop = function (req, res, next) {
@@ -95,6 +134,8 @@ if (sentryConfig && !sentryConfig.disabled) {
95
134
  module.exports = {
96
135
  requestHandler: expressNoop,
97
136
  errorHandler: expressNoop,
98
- captureException: noop
137
+ tracingHandler: expressNoop,
138
+ captureException: noop,
139
+ initQueryTracing: noop
99
140
  };
100
141
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ghost",
3
- "version": "5.75.2",
3
+ "version": "5.75.3",
4
4
  "description": "The professional publishing platform",
5
5
  "author": "Ghost Foundation",
6
6
  "homepage": "https://ghost.org",
@@ -60,44 +60,44 @@
60
60
  "@extractus/oembed-extractor": "3.2.1",
61
61
  "@sentry/node": "7.84.0",
62
62
  "@tryghost/adapter-base-cache": "0.1.10",
63
- "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.75.2.tgz",
64
- "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.75.2.tgz",
63
+ "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.75.3.tgz",
64
+ "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.75.3.tgz",
65
65
  "@tryghost/admin-api-schema": "4.5.3",
66
- "@tryghost/announcement-bar-settings": "file:components/tryghost-announcement-bar-settings-5.75.2.tgz",
67
- "@tryghost/api-framework": "file:components/tryghost-api-framework-5.75.2.tgz",
68
- "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.75.2.tgz",
69
- "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.75.2.tgz",
66
+ "@tryghost/announcement-bar-settings": "file:components/tryghost-announcement-bar-settings-5.75.3.tgz",
67
+ "@tryghost/api-framework": "file:components/tryghost-api-framework-5.75.3.tgz",
68
+ "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.75.3.tgz",
69
+ "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.75.3.tgz",
70
70
  "@tryghost/bookshelf-plugins": "0.6.12",
71
- "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.75.2.tgz",
72
- "@tryghost/collections": "file:components/tryghost-collections-5.75.2.tgz",
71
+ "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.75.3.tgz",
72
+ "@tryghost/collections": "file:components/tryghost-collections-5.75.3.tgz",
73
73
  "@tryghost/color-utils": "0.2.0",
74
74
  "@tryghost/config-url-helpers": "1.0.10",
75
- "@tryghost/constants": "file:components/tryghost-constants-5.75.2.tgz",
76
- "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.75.2.tgz",
77
- "@tryghost/data-generator": "file:components/tryghost-data-generator-5.75.2.tgz",
75
+ "@tryghost/constants": "file:components/tryghost-constants-5.75.3.tgz",
76
+ "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.75.3.tgz",
77
+ "@tryghost/data-generator": "file:components/tryghost-data-generator-5.75.3.tgz",
78
78
  "@tryghost/database-info": "0.3.20",
79
79
  "@tryghost/debug": "0.1.26",
80
- "@tryghost/domain-events": "file:components/tryghost-domain-events-5.75.2.tgz",
81
- "@tryghost/donations": "file:components/tryghost-donations-5.75.2.tgz",
82
- "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.75.2.tgz",
83
- "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.75.2.tgz",
84
- "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.75.2.tgz",
85
- "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.75.2.tgz",
80
+ "@tryghost/domain-events": "file:components/tryghost-domain-events-5.75.3.tgz",
81
+ "@tryghost/donations": "file:components/tryghost-donations-5.75.3.tgz",
82
+ "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.75.3.tgz",
83
+ "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.75.3.tgz",
84
+ "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.75.3.tgz",
85
+ "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.75.3.tgz",
86
86
  "@tryghost/email-mock-receiver": "0.3.2",
87
- "@tryghost/email-service": "file:components/tryghost-email-service-5.75.2.tgz",
88
- "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.75.2.tgz",
87
+ "@tryghost/email-service": "file:components/tryghost-email-service-5.75.3.tgz",
88
+ "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.75.3.tgz",
89
89
  "@tryghost/errors": "1.2.26",
90
- "@tryghost/event-aware-cache-wrapper": "file:components/tryghost-event-aware-cache-wrapper-5.75.2.tgz",
91
- "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.75.2.tgz",
92
- "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.75.2.tgz",
90
+ "@tryghost/event-aware-cache-wrapper": "file:components/tryghost-event-aware-cache-wrapper-5.75.3.tgz",
91
+ "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.75.3.tgz",
92
+ "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.75.3.tgz",
93
93
  "@tryghost/helpers": "1.1.88",
94
- "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.75.2.tgz",
94
+ "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.75.3.tgz",
95
95
  "@tryghost/http-cache-utils": "0.1.11",
96
- "@tryghost/i18n": "file:components/tryghost-i18n-5.75.2.tgz",
96
+ "@tryghost/i18n": "file:components/tryghost-i18n-5.75.3.tgz",
97
97
  "@tryghost/image-transform": "1.2.11",
98
- "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.75.2.tgz",
99
- "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.75.2.tgz",
100
- "@tryghost/job-manager": "file:components/tryghost-job-manager-5.75.2.tgz",
98
+ "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.75.3.tgz",
99
+ "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.75.3.tgz",
100
+ "@tryghost/job-manager": "file:components/tryghost-job-manager-5.75.3.tgz",
101
101
  "@tryghost/kg-card-factory": "4.0.15",
102
102
  "@tryghost/kg-converters": "0.0.22",
103
103
  "@tryghost/kg-default-atoms": "4.0.3",
@@ -107,59 +107,59 @@
107
107
  "@tryghost/kg-lexical-html-renderer": "0.3.51",
108
108
  "@tryghost/kg-mobiledoc-html-renderer": "6.0.15",
109
109
  "@tryghost/limit-service": "1.2.12",
110
- "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.75.2.tgz",
111
- "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.75.2.tgz",
112
- "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.75.2.tgz",
110
+ "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.75.3.tgz",
111
+ "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.75.3.tgz",
112
+ "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.75.3.tgz",
113
113
  "@tryghost/logging": "2.4.8",
114
- "@tryghost/magic-link": "file:components/tryghost-magic-link-5.75.2.tgz",
115
- "@tryghost/mail-events": "file:components/tryghost-mail-events-5.75.2.tgz",
116
- "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.75.2.tgz",
117
- "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.75.2.tgz",
118
- "@tryghost/member-events": "file:components/tryghost-member-events-5.75.2.tgz",
119
- "@tryghost/members-api": "file:components/tryghost-members-api-5.75.2.tgz",
120
- "@tryghost/members-csv": "file:components/tryghost-members-csv-5.75.2.tgz",
121
- "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.75.2.tgz",
122
- "@tryghost/members-importer": "file:components/tryghost-members-importer-5.75.2.tgz",
123
- "@tryghost/members-offers": "file:components/tryghost-members-offers-5.75.2.tgz",
124
- "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.75.2.tgz",
125
- "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.75.2.tgz",
126
- "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.75.2.tgz",
114
+ "@tryghost/magic-link": "file:components/tryghost-magic-link-5.75.3.tgz",
115
+ "@tryghost/mail-events": "file:components/tryghost-mail-events-5.75.3.tgz",
116
+ "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.75.3.tgz",
117
+ "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.75.3.tgz",
118
+ "@tryghost/member-events": "file:components/tryghost-member-events-5.75.3.tgz",
119
+ "@tryghost/members-api": "file:components/tryghost-members-api-5.75.3.tgz",
120
+ "@tryghost/members-csv": "file:components/tryghost-members-csv-5.75.3.tgz",
121
+ "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.75.3.tgz",
122
+ "@tryghost/members-importer": "file:components/tryghost-members-importer-5.75.3.tgz",
123
+ "@tryghost/members-offers": "file:components/tryghost-members-offers-5.75.3.tgz",
124
+ "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.75.3.tgz",
125
+ "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.75.3.tgz",
126
+ "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.75.3.tgz",
127
127
  "@tryghost/metrics": "1.0.27",
128
- "@tryghost/milestones": "file:components/tryghost-milestones-5.75.2.tgz",
129
- "@tryghost/minifier": "file:components/tryghost-minifier-5.75.2.tgz",
130
- "@tryghost/model-to-domain-event-interceptor": "file:components/tryghost-model-to-domain-event-interceptor-5.75.2.tgz",
131
- "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.75.2.tgz",
132
- "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.75.2.tgz",
133
- "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.75.2.tgz",
134
- "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.75.2.tgz",
135
- "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.75.2.tgz",
136
- "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.75.2.tgz",
128
+ "@tryghost/milestones": "file:components/tryghost-milestones-5.75.3.tgz",
129
+ "@tryghost/minifier": "file:components/tryghost-minifier-5.75.3.tgz",
130
+ "@tryghost/model-to-domain-event-interceptor": "file:components/tryghost-model-to-domain-event-interceptor-5.75.3.tgz",
131
+ "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.75.3.tgz",
132
+ "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.75.3.tgz",
133
+ "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.75.3.tgz",
134
+ "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.75.3.tgz",
135
+ "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.75.3.tgz",
136
+ "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.75.3.tgz",
137
137
  "@tryghost/nodemailer": "0.3.37",
138
138
  "@tryghost/nql": "0.12.0",
139
- "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.75.2.tgz",
140
- "@tryghost/package-json": "file:components/tryghost-package-json-5.75.2.tgz",
141
- "@tryghost/post-revisions": "file:components/tryghost-post-revisions-5.75.2.tgz",
142
- "@tryghost/posts-service": "file:components/tryghost-posts-service-5.75.2.tgz",
139
+ "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.75.3.tgz",
140
+ "@tryghost/package-json": "file:components/tryghost-package-json-5.75.3.tgz",
141
+ "@tryghost/post-revisions": "file:components/tryghost-post-revisions-5.75.3.tgz",
142
+ "@tryghost/posts-service": "file:components/tryghost-posts-service-5.75.3.tgz",
143
143
  "@tryghost/pretty-cli": "1.2.38",
144
144
  "@tryghost/promise": "0.3.6",
145
- "@tryghost/recommendations": "file:components/tryghost-recommendations-5.75.2.tgz",
145
+ "@tryghost/recommendations": "file:components/tryghost-recommendations-5.75.3.tgz",
146
146
  "@tryghost/request": "1.0.0",
147
- "@tryghost/security": "file:components/tryghost-security-5.75.2.tgz",
148
- "@tryghost/session-service": "file:components/tryghost-session-service-5.75.2.tgz",
149
- "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.75.2.tgz",
150
- "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.75.2.tgz",
147
+ "@tryghost/security": "file:components/tryghost-security-5.75.3.tgz",
148
+ "@tryghost/session-service": "file:components/tryghost-session-service-5.75.3.tgz",
149
+ "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.75.3.tgz",
150
+ "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.75.3.tgz",
151
151
  "@tryghost/social-urls": "0.1.41",
152
- "@tryghost/staff-service": "file:components/tryghost-staff-service-5.75.2.tgz",
153
- "@tryghost/stats-service": "file:components/tryghost-stats-service-5.75.2.tgz",
152
+ "@tryghost/staff-service": "file:components/tryghost-staff-service-5.75.3.tgz",
153
+ "@tryghost/stats-service": "file:components/tryghost-stats-service-5.75.3.tgz",
154
154
  "@tryghost/string": "0.2.10",
155
- "@tryghost/tiers": "file:components/tryghost-tiers-5.75.2.tgz",
155
+ "@tryghost/tiers": "file:components/tryghost-tiers-5.75.3.tgz",
156
156
  "@tryghost/tpl": "0.1.26",
157
- "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.75.2.tgz",
157
+ "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.75.3.tgz",
158
158
  "@tryghost/url-utils": "4.4.6",
159
159
  "@tryghost/validator": "0.2.6",
160
- "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.75.2.tgz",
160
+ "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.75.3.tgz",
161
161
  "@tryghost/version": "0.1.24",
162
- "@tryghost/webmentions": "file:components/tryghost-webmentions-5.75.2.tgz",
162
+ "@tryghost/webmentions": "file:components/tryghost-webmentions-5.75.3.tgz",
163
163
  "@tryghost/zip": "1.1.38",
164
164
  "amperize": "0.6.1",
165
165
  "analytics-node": "6.2.0",
@@ -225,6 +225,7 @@
225
225
  "yjs": "13.6.10"
226
226
  },
227
227
  "optionalDependencies": {
228
+ "@sentry/profiling-node": "1.3.2",
228
229
  "@tryghost/html-to-mobiledoc": "2.0.42",
229
230
  "sqlite3": "5.1.6"
230
231
  },
@@ -264,85 +265,85 @@
264
265
  "@tryghost/logging": "2.4.8",
265
266
  "moment": "2.24.0",
266
267
  "moment-timezone": "0.5.23",
267
- "@tryghost/adapter-cache-memory-ttl": "file:components/tryghost-adapter-cache-memory-ttl-5.75.2.tgz",
268
- "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.75.2.tgz",
269
- "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.75.2.tgz",
270
- "@tryghost/announcement-bar-settings": "file:components/tryghost-announcement-bar-settings-5.75.2.tgz",
271
- "@tryghost/api-framework": "file:components/tryghost-api-framework-5.75.2.tgz",
272
- "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.75.2.tgz",
273
- "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.75.2.tgz",
274
- "@tryghost/bookshelf-repository": "file:components/tryghost-bookshelf-repository-5.75.2.tgz",
275
- "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.75.2.tgz",
276
- "@tryghost/collections": "file:components/tryghost-collections-5.75.2.tgz",
277
- "@tryghost/constants": "file:components/tryghost-constants-5.75.2.tgz",
278
- "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.75.2.tgz",
279
- "@tryghost/data-generator": "file:components/tryghost-data-generator-5.75.2.tgz",
280
- "@tryghost/domain-events": "file:components/tryghost-domain-events-5.75.2.tgz",
281
- "@tryghost/donations": "file:components/tryghost-donations-5.75.2.tgz",
282
- "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.75.2.tgz",
283
- "@tryghost/email-addresses": "file:components/tryghost-email-addresses-5.75.2.tgz",
284
- "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.75.2.tgz",
285
- "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.75.2.tgz",
286
- "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.75.2.tgz",
287
- "@tryghost/email-events": "file:components/tryghost-email-events-5.75.2.tgz",
288
- "@tryghost/email-service": "file:components/tryghost-email-service-5.75.2.tgz",
289
- "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.75.2.tgz",
290
- "@tryghost/event-aware-cache-wrapper": "file:components/tryghost-event-aware-cache-wrapper-5.75.2.tgz",
291
- "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.75.2.tgz",
292
- "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.75.2.tgz",
293
- "@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.75.2.tgz",
294
- "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.75.2.tgz",
295
- "@tryghost/i18n": "file:components/tryghost-i18n-5.75.2.tgz",
296
- "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.75.2.tgz",
297
- "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.75.2.tgz",
298
- "@tryghost/in-memory-repository": "file:components/tryghost-in-memory-repository-5.75.2.tgz",
299
- "@tryghost/job-manager": "file:components/tryghost-job-manager-5.75.2.tgz",
300
- "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.75.2.tgz",
301
- "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.75.2.tgz",
302
- "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.75.2.tgz",
303
- "@tryghost/magic-link": "file:components/tryghost-magic-link-5.75.2.tgz",
304
- "@tryghost/mail-events": "file:components/tryghost-mail-events-5.75.2.tgz",
305
- "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.75.2.tgz",
306
- "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.75.2.tgz",
307
- "@tryghost/member-events": "file:components/tryghost-member-events-5.75.2.tgz",
308
- "@tryghost/members-api": "file:components/tryghost-members-api-5.75.2.tgz",
309
- "@tryghost/members-csv": "file:components/tryghost-members-csv-5.75.2.tgz",
310
- "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.75.2.tgz",
311
- "@tryghost/members-importer": "file:components/tryghost-members-importer-5.75.2.tgz",
312
- "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.75.2.tgz",
313
- "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.75.2.tgz",
314
- "@tryghost/milestones": "file:components/tryghost-milestones-5.75.2.tgz",
315
- "@tryghost/minifier": "file:components/tryghost-minifier-5.75.2.tgz",
316
- "@tryghost/model-to-domain-event-interceptor": "file:components/tryghost-model-to-domain-event-interceptor-5.75.2.tgz",
317
- "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.75.2.tgz",
318
- "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.75.2.tgz",
319
- "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.75.2.tgz",
320
- "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.75.2.tgz",
321
- "@tryghost/mw-update-user-last-seen": "file:components/tryghost-mw-update-user-last-seen-5.75.2.tgz",
322
- "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.75.2.tgz",
323
- "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.75.2.tgz",
324
- "@tryghost/nql-filter-expansions": "file:components/tryghost-nql-filter-expansions-5.75.2.tgz",
325
- "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.75.2.tgz",
326
- "@tryghost/members-offers": "file:components/tryghost-members-offers-5.75.2.tgz",
327
- "@tryghost/package-json": "file:components/tryghost-package-json-5.75.2.tgz",
328
- "@tryghost/members-payments": "file:components/tryghost-members-payments-5.75.2.tgz",
329
- "@tryghost/post-events": "file:components/tryghost-post-events-5.75.2.tgz",
330
- "@tryghost/post-revisions": "file:components/tryghost-post-revisions-5.75.2.tgz",
331
- "@tryghost/posts-service": "file:components/tryghost-posts-service-5.75.2.tgz",
332
- "@tryghost/recommendations": "file:components/tryghost-recommendations-5.75.2.tgz",
333
- "@tryghost/referrers": "file:components/tryghost-referrers-5.75.2.tgz",
334
- "@tryghost/security": "file:components/tryghost-security-5.75.2.tgz",
335
- "@tryghost/session-service": "file:components/tryghost-session-service-5.75.2.tgz",
336
- "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.75.2.tgz",
337
- "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.75.2.tgz",
338
- "@tryghost/staff-service": "file:components/tryghost-staff-service-5.75.2.tgz",
339
- "@tryghost/stats-service": "file:components/tryghost-stats-service-5.75.2.tgz",
340
- "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.75.2.tgz",
341
- "@tryghost/tiers": "file:components/tryghost-tiers-5.75.2.tgz",
342
- "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.75.2.tgz",
343
- "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.75.2.tgz",
344
- "@tryghost/version-notifications-data-service": "file:components/tryghost-version-notifications-data-service-5.75.2.tgz",
345
- "@tryghost/webmentions": "file:components/tryghost-webmentions-5.75.2.tgz"
268
+ "@tryghost/adapter-cache-memory-ttl": "file:components/tryghost-adapter-cache-memory-ttl-5.75.3.tgz",
269
+ "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.75.3.tgz",
270
+ "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.75.3.tgz",
271
+ "@tryghost/announcement-bar-settings": "file:components/tryghost-announcement-bar-settings-5.75.3.tgz",
272
+ "@tryghost/api-framework": "file:components/tryghost-api-framework-5.75.3.tgz",
273
+ "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.75.3.tgz",
274
+ "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.75.3.tgz",
275
+ "@tryghost/bookshelf-repository": "file:components/tryghost-bookshelf-repository-5.75.3.tgz",
276
+ "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.75.3.tgz",
277
+ "@tryghost/collections": "file:components/tryghost-collections-5.75.3.tgz",
278
+ "@tryghost/constants": "file:components/tryghost-constants-5.75.3.tgz",
279
+ "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.75.3.tgz",
280
+ "@tryghost/data-generator": "file:components/tryghost-data-generator-5.75.3.tgz",
281
+ "@tryghost/domain-events": "file:components/tryghost-domain-events-5.75.3.tgz",
282
+ "@tryghost/donations": "file:components/tryghost-donations-5.75.3.tgz",
283
+ "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.75.3.tgz",
284
+ "@tryghost/email-addresses": "file:components/tryghost-email-addresses-5.75.3.tgz",
285
+ "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.75.3.tgz",
286
+ "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.75.3.tgz",
287
+ "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.75.3.tgz",
288
+ "@tryghost/email-events": "file:components/tryghost-email-events-5.75.3.tgz",
289
+ "@tryghost/email-service": "file:components/tryghost-email-service-5.75.3.tgz",
290
+ "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.75.3.tgz",
291
+ "@tryghost/event-aware-cache-wrapper": "file:components/tryghost-event-aware-cache-wrapper-5.75.3.tgz",
292
+ "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.75.3.tgz",
293
+ "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.75.3.tgz",
294
+ "@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.75.3.tgz",
295
+ "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.75.3.tgz",
296
+ "@tryghost/i18n": "file:components/tryghost-i18n-5.75.3.tgz",
297
+ "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.75.3.tgz",
298
+ "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.75.3.tgz",
299
+ "@tryghost/in-memory-repository": "file:components/tryghost-in-memory-repository-5.75.3.tgz",
300
+ "@tryghost/job-manager": "file:components/tryghost-job-manager-5.75.3.tgz",
301
+ "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.75.3.tgz",
302
+ "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.75.3.tgz",
303
+ "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.75.3.tgz",
304
+ "@tryghost/magic-link": "file:components/tryghost-magic-link-5.75.3.tgz",
305
+ "@tryghost/mail-events": "file:components/tryghost-mail-events-5.75.3.tgz",
306
+ "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.75.3.tgz",
307
+ "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.75.3.tgz",
308
+ "@tryghost/member-events": "file:components/tryghost-member-events-5.75.3.tgz",
309
+ "@tryghost/members-api": "file:components/tryghost-members-api-5.75.3.tgz",
310
+ "@tryghost/members-csv": "file:components/tryghost-members-csv-5.75.3.tgz",
311
+ "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.75.3.tgz",
312
+ "@tryghost/members-importer": "file:components/tryghost-members-importer-5.75.3.tgz",
313
+ "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.75.3.tgz",
314
+ "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.75.3.tgz",
315
+ "@tryghost/milestones": "file:components/tryghost-milestones-5.75.3.tgz",
316
+ "@tryghost/minifier": "file:components/tryghost-minifier-5.75.3.tgz",
317
+ "@tryghost/model-to-domain-event-interceptor": "file:components/tryghost-model-to-domain-event-interceptor-5.75.3.tgz",
318
+ "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.75.3.tgz",
319
+ "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.75.3.tgz",
320
+ "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.75.3.tgz",
321
+ "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.75.3.tgz",
322
+ "@tryghost/mw-update-user-last-seen": "file:components/tryghost-mw-update-user-last-seen-5.75.3.tgz",
323
+ "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.75.3.tgz",
324
+ "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.75.3.tgz",
325
+ "@tryghost/nql-filter-expansions": "file:components/tryghost-nql-filter-expansions-5.75.3.tgz",
326
+ "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.75.3.tgz",
327
+ "@tryghost/members-offers": "file:components/tryghost-members-offers-5.75.3.tgz",
328
+ "@tryghost/package-json": "file:components/tryghost-package-json-5.75.3.tgz",
329
+ "@tryghost/members-payments": "file:components/tryghost-members-payments-5.75.3.tgz",
330
+ "@tryghost/post-events": "file:components/tryghost-post-events-5.75.3.tgz",
331
+ "@tryghost/post-revisions": "file:components/tryghost-post-revisions-5.75.3.tgz",
332
+ "@tryghost/posts-service": "file:components/tryghost-posts-service-5.75.3.tgz",
333
+ "@tryghost/recommendations": "file:components/tryghost-recommendations-5.75.3.tgz",
334
+ "@tryghost/referrers": "file:components/tryghost-referrers-5.75.3.tgz",
335
+ "@tryghost/security": "file:components/tryghost-security-5.75.3.tgz",
336
+ "@tryghost/session-service": "file:components/tryghost-session-service-5.75.3.tgz",
337
+ "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.75.3.tgz",
338
+ "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.75.3.tgz",
339
+ "@tryghost/staff-service": "file:components/tryghost-staff-service-5.75.3.tgz",
340
+ "@tryghost/stats-service": "file:components/tryghost-stats-service-5.75.3.tgz",
341
+ "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.75.3.tgz",
342
+ "@tryghost/tiers": "file:components/tryghost-tiers-5.75.3.tgz",
343
+ "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.75.3.tgz",
344
+ "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.75.3.tgz",
345
+ "@tryghost/version-notifications-data-service": "file:components/tryghost-version-notifications-data-service-5.75.3.tgz",
346
+ "@tryghost/webmentions": "file:components/tryghost-webmentions-5.75.3.tgz"
346
347
  },
347
348
  "nx": {
348
349
  "targets": {
package/yarn.lock CHANGED
@@ -4920,6 +4920,14 @@
4920
4920
  "@sentry/utils" "7.84.0"
4921
4921
  https-proxy-agent "^5.0.0"
4922
4922
 
4923
+ "@sentry/profiling-node@1.3.2":
4924
+ version "1.3.2"
4925
+ resolved "https://registry.yarnpkg.com/@sentry/profiling-node/-/profiling-node-1.3.2.tgz#68b802b6f4d6730c653d0120ebb688a99cfc3493"
4926
+ integrity sha512-Dm2FmR0+BYrTm3YSmbCxjeklAsXZecOwWarZQdrCQniPYlxS9GPgWv1P+J78+CrHZ4IpoIvnlRppGPMrJwPXkw==
4927
+ dependencies:
4928
+ detect-libc "^2.0.2"
4929
+ node-abi "^3.52.0"
4930
+
4923
4931
  "@sentry/react@7.84.0":
4924
4932
  version "7.84.0"
4925
4933
  resolved "https://registry.yarnpkg.com/@sentry/react/-/react-7.84.0.tgz#2cb3192f7fb67b7696e8ece08d67229b193ddaa4"
@@ -23871,6 +23879,13 @@ node-abi@^3.3.0:
23871
23879
  dependencies:
23872
23880
  semver "^7.3.5"
23873
23881
 
23882
+ node-abi@^3.52.0:
23883
+ version "3.52.0"
23884
+ resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.52.0.tgz#ffba0a85f54e552547e5849015f40f9514d5ba7c"
23885
+ integrity sha512-JJ98b02z16ILv7859irtXn4oUaFWADtvkzy2c0IAatNVX2Mc9Yoh8z6hZInn3QwvMEYhHuQloYi+TTQy67SIdQ==
23886
+ dependencies:
23887
+ semver "^7.3.5"
23888
+
23874
23889
  node-addon-api@^3.2.1:
23875
23890
  version "3.2.1"
23876
23891
  resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161"
Binary file