[pull] main from TryGhost:main#1087
Merged
Merged
Conversation
ref https://linear.app/ghost/issue/NY-1238 - Below 480px the share modal now fills the viewport so the empty area under it no longer closes the modal; it can only be dismissed via the X - Below 420px the "more" button now renders last in the action row; the flex \`order\` was applied to the button rather than its wrapper div, which is the actual flex child, so the wrapper fell back to order 0 and appeared first - When the more menu is open, outside clicks are now intercepted in the capture phase so the first click only closes the menu instead of also opening a share target or closing the whole modal
#27500) no issues Follow-up design/copy pass on the gift redemption staff notification added in #27414, to bring it in line with the existing "new paid subscriber" email. - Subject is now `🎁 Paid subscription started: {name}` — mirrors the existing `💸 Paid subscription started: {name}` pattern used for regular paid signups - Tier row now includes the gift cadence (e.g. `Premium • 1 year`) instead of just the tier name - Dropped the `Source: Gift subscription` row — `Gifted by` already conveys that, and the regular paid email omits source when there's no attribution
ref https://linear.app/ghost/issue/HKG-1708 The previous reset() scanned every matching key and DEL'd them one by one. It was O(n), slow against large caches, and needed cluster-aware routing to hit the right primary node. To avoid races on first init, concurrent callers within a process share a single in-flight promise, and SET NX collapses the cross-process race so only one writer wins.
…27479) ref #19627 [HKG-1709](https://linear.app/ghost/issue/HKG-1709/deduplicate-concurrent-cache-misses) - We're preparing to merge changes to the Redis cache adapter(concurrent read deduplication). These tests lock in the current error-handling behavior, so any behavioral regression is caught immediately. - The current adapter silently swallows errors in several paths and the exact behavior isn't documented by existing tests. The concurrent read deduplication PR will change the `get` method structure to share in-flight promises, which makes error paths more sensitive — one failure now affects all callers waiting on the same key. We need to know exactly how errors behave today before changing anything.
ref https://linear.app/ghost/issue/BER-3478 Updated the `total_members` helper to include `gift` members in the count
ref https://linear.app/ghost/issue/BER-3548 Added gift link to the `Links` section of the signup portal modal in admin
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )