[pull] main from TryGhost:main - #1453
Merged
Merged
Conversation
ref https://linear.app/ghost/issue/HKG-1978 - We are moving all background jobs to the new class-based jobs service so they can later run on a durable queue backend; this was the last members job still on the legacy worker-thread path - The job runs in-process now, so the worker model-event bridge had no remaining producers and could be removed entirely - We wrapped the delete, status flip, and history insert in one transaction with row locks because the issue rated this job high risk: a partial run previously could strand members as comped with their product rows gone - Eligibility is re-derived from database state on every run so a repeat or redelivered run is a safe no-op, which the durable backend will rely on - member.edited events are emitted only after commit so webhooks can never fire for a rolled-back change - The schedule (randomized daily 00:00–05:59) and the UTC-day cutoff are unchanged to keep production behavior identical - The cutoff is now a plain datetime string because the old ISO format compared incorrectly on SQLite and cleaned same-day rows early
ref https://linear.app/ghost/project/4b2edbd66469/ - Milestone 7 Each commit references an individual Linear issue Adds completion emails for CSV imports with outcome totals, imported-content links, and context-aware Admin filters. Emails include a complete report.csv and a re-uploadable errors.csv for actionable failures. JSON imports remain unchanged.
no ref This change should have no user impact. I think this is a useful change on its own, but it'll make an upcoming change easier too.
no ref This change should have no user impact. The previous conditional meant that this line did nothing. Let's remove it.
no ref We were doing some redundant checks here. Let's remove them.
no ref This was a simple find-replace to match the new home of our docs.
no ref - `EmailAddressParser` was a class that only had static methods. This replaces the class with "normal" exported functions. - Fully TypeScriptified the module. - Because it's just a regular module, changed imports from `EmailAddressParser` (capital E) to `emailAddressParser` (lowercase E). This change should have no user impact.
closes https://linear.app/ghost/issue/NY-1539 Members who completed magic-link signup on a private site returned to the signup form even though their member session was active. This made signup appear incomplete and obscured the separate access-code step. The private page now shows the access-code form when a member session is present and keeps the signup form for anonymous visitors. We use this access code form in a few different scenarios, so there's a small refactor as well to make it more reusable. quick overview of this page if an access code hasn't been entered: - if signups are turned off, or only paid signups allowed: access code form shows (existing behavior) - if signups are turned on and a user is not signed in on that browser: subscribe form shows (existing behavior) - if signups are turned on and a user IS signed in: access code form shows (new behavior) <img width="534" height="942" alt="image" src="https://github.com/user-attachments/assets/2f2f302f-7365-4d9a-bc0c-86067640af22" />
no ref This refactor maintains "clean" dependency injection for the email analytics service, instead of reaching into globals in one spot.
no ref `automations-repository.test.ts` was testing `database-automations-repository.ts`. Let's rename the test file to match what's actually being tested.
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 : )