ghost 5.121.0 → 5.125.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.
Files changed (54) hide show
  1. package/components/tryghost-i18n-5.125.0.tgz +0 -0
  2. package/core/built/admin/assets/admin-x-activitypub/admin-x-activitypub.js +14017 -14035
  3. package/core/built/admin/assets/admin-x-settings/{CodeEditorView-03f7aa4d.mjs → CodeEditorView-aba69ca9.mjs} +2 -2
  4. package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +1 -1
  5. package/core/built/admin/assets/admin-x-settings/{index-eea9098a.mjs → index-87586072.mjs} +4 -4
  6. package/core/built/admin/assets/admin-x-settings/{index-b0484a21.mjs → index-b3cfde97.mjs} +2 -2
  7. package/core/built/admin/assets/admin-x-settings/{modals-85a92c66.mjs → modals-890d62ee.mjs} +1669 -1618
  8. package/core/built/admin/assets/{chunk.383.77dd3c8cbac5f464c6da.js → chunk.383.3dcd1102188f9d5e0467.js} +7 -7
  9. package/core/built/admin/assets/{chunk.524.22c1abc09947848be03d.js → chunk.524.941ec85306915cc99529.js} +6 -6
  10. package/core/built/admin/assets/{chunk.582.a7cbc2ce76922c8870bc.js → chunk.582.8630d65a7f549773e183.js} +7 -7
  11. package/core/built/admin/assets/{ghost-1c91950af9d6f9cee826820f056e0025.js → ghost-f727599c675fb8dac2cbfae7bec4d7cc.js} +141 -132
  12. package/core/built/admin/assets/posts/posts.js +71680 -41896
  13. package/core/built/admin/assets/stats/stats.js +35194 -35499
  14. package/core/built/admin/index.html +4 -4
  15. package/core/frontend/public/ghost-stats.min.js +3 -3
  16. package/core/frontend/src/ghost-stats/ghost-stats.js +0 -12
  17. package/core/server/api/endpoints/previews.js +25 -4
  18. package/core/server/api/endpoints/stats.js +50 -0
  19. package/core/server/data/importer/importers/data/SettingsImporter.js +1 -1
  20. package/core/server/data/migrations/versions/5.122/2025-06-03-19-32-57-change-default-for-newsletters-button-color.js +37 -0
  21. package/core/server/data/migrations/versions/5.124/2025-06-06-23-12-11-create-site-uuid-setting.js +16 -0
  22. package/core/server/data/schema/default-settings/default-settings.json +5 -0
  23. package/core/server/data/schema/schema.js +1 -1
  24. package/core/server/data/tinybird/endpoints/api_top_pages.pipe +1 -0
  25. package/core/server/data/tinybird/fixtures/analytics_events.ndjson +31 -31
  26. package/core/server/data/tinybird/pipes/mv_hits.pipe +51 -11
  27. package/core/server/data/tinybird/tests/api_top_pages.yaml +7 -0
  28. package/core/server/models/newsletter.js +1 -0
  29. package/core/server/models/settings.js +5 -2
  30. package/core/server/services/adapter-manager/AdapterManager.js +5 -1
  31. package/core/server/services/comments/CommentsServiceEmails.js +8 -6
  32. package/core/server/services/email-service/EmailRenderer.js +80 -23
  33. package/core/server/services/email-service/email-templates/partials/paywall.hbs +56 -33
  34. package/core/server/services/email-service/email-templates/partials/styles.hbs +129 -4
  35. package/core/server/services/email-service/email-templates/template.hbs +1 -1
  36. package/core/server/services/koenig/node-renderers/button-renderer.js +1 -21
  37. package/core/server/services/koenig/node-renderers/call-to-action-renderer.js +10 -44
  38. package/core/server/services/koenig/node-renderers/header-v2-renderer.js +15 -31
  39. package/core/server/services/koenig/node-renderers/horizontalrule-renderer.js +43 -2
  40. package/core/server/services/koenig/node-renderers/product-renderer.js +0 -1
  41. package/core/server/services/koenig/render-partials/email-button.js +127 -21
  42. package/core/server/services/koenig/render-utils/stylex.js +104 -0
  43. package/core/server/services/settings/settings-utils.js +39 -1
  44. package/core/server/services/stats/MembersStatsService.js +129 -5
  45. package/core/server/services/stats/PostsStatsService.js +281 -1
  46. package/core/server/services/stats/StatsService.js +23 -1
  47. package/core/server/services/stats/utils/tinybird.js +25 -5
  48. package/core/server/web/api/endpoints/admin/routes.js +2 -0
  49. package/package.json +13 -13
  50. package/tsconfig.tsbuildinfo +1 -1
  51. package/yarn.lock +851 -310
  52. package/components/tryghost-i18n-5.121.0.tgz +0 -0
  53. package/core/frontend/src/utils/session-storage.js +0 -68
  54. /package/core/built/admin/assets/{chunk.383.77dd3c8cbac5f464c6da.js.LICENSE.txt → chunk.383.3dcd1102188f9d5e0467.js.LICENSE.txt} +0 -0
@@ -1,68 +0,0 @@
1
- /**
2
- * Utility functions for session storage and ID management
3
- */
4
- import { v4 as uuidv4 } from 'uuid';
5
-
6
- /**
7
- * Get a session ID from storage
8
- *
9
- * @param {string} key - The storage key
10
- * @param {Storage} storage - The storage object (localStorage or sessionStorage)
11
- * @returns {string|null} Session ID if valid, null otherwise
12
- */
13
- export function getSessionId(key, storage) {
14
- const serializedItem = storage.getItem(key);
15
-
16
- if (!serializedItem) {
17
- return null;
18
- }
19
-
20
- let item = null;
21
- try {
22
- item = JSON.parse(serializedItem);
23
- } catch (error) {
24
- return null;
25
- }
26
-
27
- if (typeof item !== 'object' || item === null) {
28
- return null;
29
- }
30
-
31
- const now = new Date();
32
- if (now.getTime() > item.expiry) {
33
- storage.removeItem(key);
34
- return null;
35
- }
36
-
37
- return item.value;
38
- }
39
-
40
- /**
41
- * Set or create a session ID in storage
42
- *
43
- * @param {string} key - The storage key
44
- * @param {Storage} storage - The storage object (localStorage or sessionStorage)
45
- * @param {number} [ttlHours=4] - Time to live in hours
46
- * @returns {string} The session ID
47
- */
48
- export function setSessionId(key, storage, ttlHours = 4) {
49
- const sessionId = getSessionId(key, storage) || uuidv4();
50
- const now = new Date();
51
- const item = {
52
- value: sessionId,
53
- expiry: now.getTime() + (ttlHours * 3600 * 1000)
54
- };
55
-
56
- storage.setItem(key, JSON.stringify(item));
57
- return sessionId;
58
- }
59
-
60
- /**
61
- * Get the appropriate storage object based on preference
62
- *
63
- * @param {string} method - Storage method ('localStorage' or 'sessionStorage')
64
- * @returns {Storage} The storage object
65
- */
66
- export function getStorageObject(method) {
67
- return method === 'localStorage' ? localStorage : sessionStorage;
68
- }