tr
TryGhost
GitHub
Ghost
Workspace
GitHub
CI Pipeline Executions
Filtered
Runs
Demo
Insights
Compare tasks
Analytics
Sign in
Toggle sidebar
Overview
⌘K
Ghost
Loading workspace stats
Loading workspace insights...
Statistics interval
7 days
30 days
Latest CI Pipeline Executions
Status
Fix filter
Filter
Fuzzy
Filter range
Sort by
Sort by
Start time
Sort ascending
Sort descending
Succeeded
29652
cc8df9fe 🐛 Fixed broken internal links in automation emails closes https://linear.app/tryghost/issue/NY-1503 Problem Legacy welcome emails store internal Lexical URLs using __GHOST_URL__. When Automations initialized the default free and paid flows, it copied that data directly into action revisions with Knex, bypassing the legacy model parser. The editor and poller then read the raw revision. This exposed the placeholder in the editor and produced links such as https://site.example/__GHOST_URL__/archive/ in rendered emails. Reproduction 1. Before enabling Automations, add an internal link such as /archive/ to a free or paid welcome email. 2. Enable the Automations labs flag and visit Automations to initialize the default flow. 3. Open the first email action. Its link URL displays as __GHOST_URL__/archive/. 4. Send a preview and inspect its link. The href contains /__GHOST_URL__/archive/ and 404s. Fix - Expand transform-ready URLs when returning automation data so the editor receives the current absolute URL. - Convert internal URLs back to transform-ready form before comparing and storing revisions. This matches posts and legacy welcome emails, preserves domain portability, and avoids revisions for unchanged saves. - Expand URLs again immediately before rendering because the poller reads immutable revisions directly, bypassing the editor serializer. - Avoid a migration: existing revisions are corrected at read and render time, while future writes use the established storage format. Verification Reopen the action and confirm the link popover shows the absolute site URL. Send a preview and confirm its href points directly to /archive/ with no __GHOST_URL__ token. Saving without changes should not create another action revision. Impact This specifically affects only the legacy welcome email copied into each default free or paid automation when Automations is initialized. It may no longer be the first step if waits were inserted before it, but later email actions authored in Automations are unaffected. Sites that have not switched to Automations are unaffected.
by Troy Ciesco
T
Succeeded
29652
f255be4e 🐛 Fixed broken internal links in automation emails closes https://linear.app/tryghost/issue/NY-1503 Problem Legacy welcome emails store internal Lexical URLs using __GHOST_URL__. When Automations initialized the default free and paid flows, it copied that data directly into action revisions with Knex, bypassing the legacy model parser. The editor and poller then read the raw revision. This exposed the placeholder in the editor and produced links such as https://site.example/__GHOST_URL__/archive/ in rendered emails. Reproduction 1. Before enabling Automations, add an internal link such as /archive/ to a free or paid welcome email. 2. Enable the Automations labs flag and visit Automations to initialize the default flow. 3. Open the first email action. Its link URL displays as __GHOST_URL__/archive/. 4. Send a preview and inspect its link. The href contains /__GHOST_URL__/archive/ and 404s. Fix - Expand transform-ready URLs when returning automation data so the editor receives the current absolute URL. - Convert internal URLs back to transform-ready form before comparing and storing revisions. This matches posts and legacy welcome emails, preserves domain portability, and avoids revisions for unchanged saves. - Expand URLs again immediately before rendering because the poller reads immutable revisions directly, bypassing the editor serializer. - Avoid a migration: existing revisions are corrected at read and render time, while future writes use the established storage format. Verification Reopen the action and confirm the link popover shows the absolute site URL. Send a preview and confirm its href points directly to /archive/ with no __GHOST_URL__ token. Saving without changes should not create another action revision. Impact This specifically affects only the legacy welcome email copied into each default free or paid automation when Automations is initialized. It may no longer be the first step if waits were inserted before it, but later email actions authored in Automations are unaffected. Sites that have not switched to Automations are unaffected.
by Troy Ciesco
T
Previous
Next