Commit Graph

37952 Commits

Author SHA1 Message Date
Sag
5469e76852
Fixed reply-to address to stay the same after dmarc changes (#19542)
fixes PROD-102
- after dmarc changes, replies from members should keep going to any previously set
reply-to email address by the publisher
2024-01-23 16:22:40 +01:00
Simon Backx
eb063f7a40
Fixed clearing invalid sender_email when changing newsletter sender_reply_to (#19555)
fixes PROD-102

When a newsletter has a sender_email stored in the database that Ghost
is not allowed to send from, we no longer return it as sender_email in
the API. Instead we return it as the sender_reply_to. That way the
expected behaviour is shown correctly in the frontend and the API result
also makes more sense.

In addition to that, when a change is made to a newsletters reply_to
address we'll clear any invalid sender_email values in that newsletter.
That makes sure we can clear the sender_reply_to value instead of
keeping the current fallback to sender_email if that one is stored.

On top of that, this change correclty updates the browse endpoint to use
the newsletter service instead of directly using the model.
2024-01-23 16:10:11 +01:00
Ronald Langeveld
94c7d9b21b
Revert "Changed request type to fetching iframe content in previews
refs https://ghost.slack.com/archives/C0568LN2CGJ/p1706018058495729
2024-01-23 14:33:38 +00:00
Ronald Langeveld
0f24f1efef
Bumped portal to 2.37.1 (#19554)
no issue
2024-01-23 13:19:05 +00:00
Ronald Langeveld
52e99f904e
Added Portal Frame conditions (#19549)
no issue

- adds 2 addition conditions for when the Portal iframe should be
visible.
- waits an extra 100ms before making it visible to give portal time to
properly load.

---------

Co-authored-by: Princi Vershwal <vershwal.princi@gmail.com>
2024-01-23 12:31:08 +00:00
renovate[bot]
db57f05423 Update dependency @codemirror/lang-html to v6.4.8 2024-01-23 13:19:31 +01:00
Djordje Vlaisavljevic
7d9dfac489 Added a prop for enabling horizontal scroll
refs PROD-332
2024-01-23 11:37:44 +00:00
Ronald Langeveld
e2a4724792
🐛 Fixed links in History (#19551)
refs
https://linear.app/tryghost/issue/PROD-331/post-and-offer-links-404-in-history

- Links were using Ember route instead of absolute routes, causing 404s.
2024-01-23 11:32:46 +00:00
Ronald Langeveld
db5d2d0329
🐛Fixed primary_name crashing Settings history (#19550)
fixes
https://linear.app/tryghost/issue/PROD-329/history-modal-crashes-the-app

- Added optional chaining operator to avoid null or undefined crashes
when the condition doesn't meet and should rather just move on.
- It now aligns with the other conditions where chaining is used.
2024-01-23 10:05:12 +00:00
Princi Vershwal
363fbd1d9b
Added delay to avoid preview flashing (#19548) 2024-01-23 09:29:55 +00:00
Michael Barrett
57810cd34e
Added allowlist for Sentry transactions (#19538)
refs
[ARCH-41](https://linear.app/tryghost/issue/ARCH-41/add-allowlist-for-sentry-transactions)

Added allowlist for Sentry transactions so that we can better control
the data we are putting into Sentry
2024-01-23 08:22:57 +00:00
renovate[bot]
aa5cd13aec Update dependency newrelic to v11.10.0 2024-01-22 22:21:29 +00:00
Ronald Langeveld
dc1bba781b
Fixed Offers redemptions preselection (#19541)
fixes
https://linear.app/tryghost/issue/PROD-319/offer-is-not-preselected-in-filter-dropdown-after-navigating-to

- fixes the URL builder for when Redeemed offers are selected to ensure
the selected tier is preselected in the members filter
2024-01-22 15:14:08 +00:00
Djordje Vlaisavljevic
d37a46a400
Updated yearly discount indicator copy PROD-299 (#19540)
refs PROD-299
2024-01-22 14:53:57 +00:00
Princi Vershwal
73fb5a3e84
Added loader for preview (#19536) 2024-01-22 14:45:06 +00:00
Kevin Ansfield
15897096b0
🐛 Fixed broken access to preview of scheduled email-only posts (#19539)
no issue

- we recently added a redirect to disable access to the preview endpoint for sent email-only posts but the condition was too broad and also disabled access to scheduled email-only posts
- adjusted so we only apply the /p/ -> /email/ redirect for sent posts
2024-01-22 14:20:50 +00:00
Ghost CI
f4e20ad247 Merged v5.76.1 into main 2024-01-22 09:00:44 +00:00
Ghost CI
5a630b6aa4 v5.76.1 2024-01-22 09:00:42 +00:00
Chris Raible
d1f9dab1d5
🐛 Fixed externally hosted images overflowing in Outlook (#19527)
refs TryGhost/Product#4243

- Externally hosted images added in the editor were not populating the
`width` and `height` attributes, which could result in overflowing
images in certain email clients, particularly Outlook.
- This fix populates the `width` and `height` attributes in the editor
when adding an external image by URL or copy/pasting, which in turn
corrects the rendering in Outlook.
- Various other fixes and improvements to editor related packages, see
https://github.com/tryghost/koenig repo for more info
2024-01-22 09:44:05 +01:00
Djordje Vlaisavljevic
dcb604e75b
Fixed logic for displaying toast notifications when updating email address PROD-215
refs PROD-215

- Showing toast notification instead of modal to all users (even
self-hosted and legacy (Pro)) now
- More compact toast notification message
- Updated tests
2024-01-22 09:43:57 +01:00
Djordje Vlaisavljevic
8511fbbdae
Updated design for sender and reply-to email address flow PROD-215 PROD-216
refs PROD-215 PROD-216

- Added toast notifications for successful sender and reply-to email
address change behind the flag, instead of the modal
- Updated email template for verifying new sender or reply-to email
2024-01-22 09:43:48 +01:00
Sag
ef5e970eee
Updated design of the reply-to field for custom sending domains (#19515)
fixes PROD-205
fixes PROD-219

- removed the right placeholder complexity
- the preview renders the current sender / reply-to address in
real-time, regardless of whether it's valid
- if the reply-to address does not match the custom sending domain, show
an inline error
2024-01-22 09:43:23 +01:00
renovate[bot]
c9d571354f
🐛 Fixed rare rendering issue of lists appearing as headings (#19511)
closes https://github.com/TryGhost/Product/issues/4247

- bumps `@tryghost/kg-default-transforms` with a fix to our de-nesting transform so ListNode is no longer ignored as a badly nested child node which can occur through copy/paste from other editors

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-22 09:43:05 +01:00
Djordje Vlaisavljevic
126be0209e
Added static design for banners
refs PROD-215 PROD-322
2024-01-22 09:41:40 +01:00
renovate[bot]
d54f4b06e5 Update storybook monorepo to v7.6.10 2024-01-22 09:25:28 +01:00
renovate[bot]
3575102462 Update dependency vite to v4.5.2 [SECURITY] 2024-01-22 09:25:09 +01:00
renovate[bot]
8168fdb9be Update dependency yjs to v13.6.11 2024-01-22 00:22:10 +00:00
renovate[bot]
75dbedf8ad Update dependency i18next to v23.7.18 2024-01-22 00:21:58 +00:00
EchoBilisim
202db63061
Update comments.json (#19405)
Incorrect translations have been edited

Co-authored-by: Ryan Feigenbaum <48868107+royalfig@users.noreply.github.com>
2024-01-18 17:40:18 -05:00
EchoBilisim
c8ebe8ecae
Update portal.json (#19406)
Missing translations added

Co-authored-by: Ryan Feigenbaum <48868107+royalfig@users.noreply.github.com>
2024-01-18 17:39:29 -05:00
internetas
8f6fc53935
Added Lithuanian locale for Portal (#19451)
This is a complete translation. Some phrases were adapted to sound more
natural. Due to the complexity of different numerals and periods words
structure in different situations, some words have been shortened (for
example "{{amount}} days ago": "Prieš {{amount}} d.")

Co-authored-by: Ryan Feigenbaum <48868107+royalfig@users.noreply.github.com>
2024-01-18 17:38:53 -05:00
kazanec18
6b9b49e11f
Update ghost.json (#19496)
Russian translation completed ghost.json
2024-01-18 15:56:26 -05:00
Chris Raible
21fc34d088
🐛 Fixed externally hosted images overflowing in Outlook (#19527)
refs TryGhost/Product#4243

- Externally hosted images added in the editor were not populating the
`width` and `height` attributes, which could result in overflowing
images in certain email clients, particularly Outlook.
- This fix populates the `width` and `height` attributes in the editor
when adding an external image by URL or copy/pasting, which in turn
corrects the rendering in Outlook.
- Various other fixes and improvements to editor related packages, see
https://github.com/tryghost/koenig repo for more info
2024-01-18 12:38:09 -08:00
Djordje Vlaisavljevic
c4a800e97d
Fixed logic for displaying toast notifications when updating email address PROD-215
refs PROD-215

- Showing toast notification instead of modal to all users (even
self-hosted and legacy (Pro)) now
- More compact toast notification message
- Updated tests
2024-01-18 19:00:49 +00:00
Ronald Langeveld
b4fc45008a
Added hasLoaded state in Portal Frame (#19524)
no issue

- added an additional state that keeps track on whether the iFrame
content has loaded, before checking whether Portal has loaded.
2024-01-18 16:42:52 +00:00
Sag
b216aa0628
🐛 Fixed wording when a canceled subscription has not ended yet (#19523)
fixes PROD-325
fixes https://github.com/TryGhost/Product/issues/3489

- a canceled subscription that is still valid till the end of the
current period now correctly shows "Has access until x", instead of
"Ended x"
2024-01-18 16:56:43 +01:00
Djordje Vlaisavljevic
501b1a2640
Updated design for sender and reply-to email address flow PROD-215 PROD-216
refs PROD-215 PROD-216

- Added toast notifications for successful sender and reply-to email
address change behind the flag, instead of the modal
- Updated email template for verifying new sender or reply-to email
2024-01-18 15:21:48 +00:00
Ronald Langeveld
3e67544331
Removed onLoad from iFrame element (#19522)
no issue

- removed the onLoad function from the iFrame element and only rely on
the listener waiting for 'portal-ready' before showing Portal
2024-01-18 15:09:52 +00:00
Kevin Ansfield
0c5cdbf4d2
🐛 Fixed embed service trying http before https for oembed providers (#19521)
no issue

- issue reported via the forum https://forum.ghost.org/t/video-embed-break-page-on-mobile/44172
- due to historical issues we check against http/https and non-www/www URLs to match an oembed provider in case our library's provider list is out of date. However we checked http first which could match and then update the original URL to be `http` in place of `https` leading to potentially broken oembed fetch requests as was the case with http://odysee.com URLs
2024-01-18 14:42:28 +00:00
Aileen Booker
75874151fd Removed ModelEventsAnalytics
refs https://linear.app/tryghost/issue/BIZ-6/[wip]-update-segment-events

- With the removal of the `integration.added` event, we have no more model events remaining to listen to for our analytics
- Removal of the function entirely seems the easier and more straightforward way
2024-01-18 10:29:56 -04:00
Aileen Booker
e4b9305e2a Removed unneeded analytics for model events
refs https://linear.app/tryghost/issue/BIZ-6/[wip]-update-segment-events

- Removed model events to listen to: `post.published`, `page.published`, and `theme.uploaded` in segment service,  as we're not actively using those.
- Updated tests to reflect the changes (from 4 events to 1 model event)
2024-01-18 10:29:56 -04:00
Simon Backx
b30558c77c
Added cache config to stats endpoints (#19481)
no issue

Allows to enable cache via hostSettings.statsCache.enabled. This will
need proper cache timeouts in order to function correctly.

Usage in config:
```
"hostSettings": {
        "statsCache": {
            "enabled": true
        }
    },
    "adapters": {
        "cache": {
            "Redis": {
                "host": "127.0.0.1",
                "port": 6379,
                "username": "",
                "password": "",
                "ttl": 60,
                "storeConfig": {
                    "maxRetriesPerRequest": 1,
                    "enableOfflineQueue": false,
                    "retryConnectSeconds": 60
                }
            },
            "stats": {
                "adapter": "Redis",
                "ttl": 3600,
                "refreshAheadFactor": 1,
                "keyPrefix": "site:123456:stats"
            }
        }
    },
    ```
2024-01-18 15:26:49 +01:00
Daniel Lockyer
57c5f92770 Reverted "🎨 Added Offers to the new Settings (#19493)"
This reverts commit c7d7b883cc.
2024-01-18 15:04:59 +01:00
Sag
0f17f9a937
Updated design of the reply-to field for custom sending domains (#19515)
fixes PROD-205
fixes PROD-219

- removed the right placeholder complexity
- the preview renders the current sender / reply-to address in
real-time, regardless of whether it's valid
- if the reply-to address does not match the custom sending domain, show
an inline error
2024-01-18 14:39:43 +01:00
Fabien "egg" O'Carroll
f34999a51f Implemented Refresh-Ahead caching for Redis
This updates the AdapterCacheRedis instance to be able to handle updating
itself when reading from the cache. For this to work we need to pass a
`fetchData` function to the `get` method.

In the case of a cache miss, we will read the data via the `fetchData`
function, and store it in the cache, before returning the value to the caller.

When coupled with a `refreshAheadFactor` config, we will go a step further and
implement the "Refresh Ahead" caching strategy. What this means is that we will
refresh the contents of the cache in the background, this happens on a cache
read and only once the data in the cache has only a certain percentage of the
TTL left, which is set as a decimal value between 0 and 1.

e.g.

ttl = 100s
refreshAheadFactor = 0.2;

Any read from the cache that happens _after_ 80s will do a background refresh
2024-01-18 20:16:36 +07:00
Fabien "egg" O'Carroll
ef999c4fd4 Refactored the pipeline execution to async fn
Having the code use `async/await` make it more readable, and extracting the
execution to a separate function make its easier to run in the background in the
future
2024-01-18 20:16:36 +07:00
Fabien "egg" O'Carroll
c60dd779c9 Removed usage of EventAwareCacheAdapter
This logic is so simple it isn't worth having the indirection of another class.

This also removes the indirection of wrapped getters/setters, which is useful
because otherwise we need to update the wrapper with new methods each time
theunderlying implementation is changed. There was a note about losing the
context of this, but I haven't found anywhere that the context is lost.
2024-01-18 20:16:36 +07:00
Ronald Langeveld
c7d7b883cc
🎨 Added Offers to the new Settings (#19493)
no issue

- Removes flags for the new Offers in Admin X (Settings)
- Removes old Offers from the sidebar.
- See a new version of Offers in Settings. 🎨
2024-01-18 12:56:08 +00:00
Ronald Langeveld
14bf2df834
Made offers iframe init load async (#19516)
no issue

- ensures it waits for event data to load before rendering the iframe
which sometimes causes an undesired flashing experience.
2024-01-18 12:38:41 +00:00
Ronald Langeveld
66238c7ccf
Added default string to href to Offers Portal iFrame (#19514)
no issue

- potentially fixes a small performance issues to avoid the homepage of
your publication from being loaded should an href from Portal not exist
when loading Offers, that could cause flashing.
2024-01-18 09:42:46 +00:00