Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Ghost to latest version #1

Closed
wants to merge 284 commits into from
Closed
This pull request is big! We’re only showing the most recent 250 commits.

Commits on May 27, 2024

  1. Configuration menu
    Copy the full SHA
    6ea2b8f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ba7c659 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6792261 View commit details
    Browse the repository at this point in the history

Commits on May 28, 2024

  1. Pin dependencies

    renovate[bot] authored and daniellockyer committed May 28, 2024
    Configuration menu
    Copy the full SHA
    4b059e1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5c5ec9d View commit details
    Browse the repository at this point in the history
  3. Used a base64 encoded string for hmac secret (#20269)

    We want to use a randomly generated 64 byte secret for the hmac, and
    utf8 encoding isn't nice to work with for this, so we're going to use a
    base64 string and decode it into a buffer for the secret.
    allouis authored May 28, 2024
    Configuration menu
    Copy the full SHA
    6a8ae57 View commit details
    Browse the repository at this point in the history
  4. Added show_subhead column to newsletters table (#20268)

    refs MOM-152
    
    Adds `show_subhead` column to newsletter table. False by default.
    ronaldlangeveld authored May 28, 2024
    Configuration menu
    Copy the full SHA
    d799f2e View commit details
    Browse the repository at this point in the history
  5. Corrected typos and wrong translations in SK language (#20241)

    Got some code for us? Awesome 🎊!
    
    Please include a description of your change & check your PR against this
    list, thanks!
    
    - [ ] There's a clear use-case for this code change, explained below
    - [ ] Commit message has a short title & references relevant issues
    - [ ] The build will pass (run `yarn test:all` and `yarn lint`)
    
    We appreciate your contribution!
    
    ---------
    
    Co-authored-by: Ryan Feigenbaum <[email protected]>
    timemanagementsk and royalfig authored May 28, 2024
    Configuration menu
    Copy the full SHA
    d5cf717 View commit details
    Browse the repository at this point in the history
  6. Added sanitization for svg uploads (#20264)

    ref https://linear.app/tryghost/issue/ENG-856
    - svgs were not previously sanitized and could contain scripts
    9larsons authored May 28, 2024
    Configuration menu
    Copy the full SHA
    e6fcbf4 View commit details
    Browse the repository at this point in the history
  7. Updated email newsletter spacing and font sizes (#20273)

    REF MOM-146
    
    - These styling changes are a general newsletter template improvement,
    and are also laying the groundwork for including a subhead in the
    newsletter header. Both the newsletter template as well as the
    newsletter preview in settings have been updated.
    sanne-san authored May 28, 2024
    Configuration menu
    Copy the full SHA
    3ad77bd View commit details
    Browse the repository at this point in the history
  8. Added Sentry Session Replay in Ghost Admin (2/2) (#20263)

    ref https://linear.app/tryghost/issue/SLO-128
    
    - Sentry will record session replays when errors happen in Admin (Settings, Editor) to facilitate debugging
    - The recorded sessions mask sensitive information (input fields, media items, content in the editor, metrics in the dashboard)
    sagzy authored May 28, 2024
    Configuration menu
    Copy the full SHA
    7617759 View commit details
    Browse the repository at this point in the history

Commits on May 29, 2024

  1. Added hasFeature email template helper (#20271)

    refs
    https://ghost.slack.com/archives/C06TQR9SHSM/p1716816764653789?thread_ts=1716795330.737919&cid=C06TQR9SHSM MOM-158
    
    - adds a new `hasFeature` helper for adding content behind a flag within
    Email Templates.
    - Usage: `{{#hasFeature 'flagname'}} <p>html behind flag</p>
    {{/hasFeature}}`
    - Added additional testing for testing the helpers
    ronaldlangeveld authored May 29, 2024
    Configuration menu
    Copy the full SHA
    fb465e4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9099ab4 View commit details
    Browse the repository at this point in the history
  3. Added Subheads behind a flag (#20265)

    refs MOM-152 MOM-148 MOM-151
    
    - Added Subheads behind a flag + toggle in settings.
    - Removes Excerpt fields from post settings if flag is enabled.
    - Added subhead toggle in newsletter settings.
    - Loads of styling
    
    ---------
    
    Co-authored-by: Sanne de Vries <[email protected]>
    ronaldlangeveld and sanne-san authored May 29, 2024
    Configuration menu
    Copy the full SHA
    fddcf3f View commit details
    Browse the repository at this point in the history
  4. Added subhead to newsletter template (#20276)

    REF MOM-146
    - Added subhead to email template behind a flag and and wired it up to
    the subhead newsletter setting.
    sanne-san authored May 29, 2024
    Configuration menu
    Copy the full SHA
    b0940f1 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    4ef1dd2 View commit details
    Browse the repository at this point in the history
  6. Split subhead feature into two feature flags (#20279)

    REF MOM-119
    - Split subhead feature flag into two: editorSubtitle and
    newsletterSubtitle
    - Updated UI copy, feature flag names and class names from subhead to
    subtitle
    sanne-san authored May 29, 2024
    Configuration menu
    Copy the full SHA
    acac780 View commit details
    Browse the repository at this point in the history
  7. Added '@' internal link shortcut to editor (#20272)

    closes https://linear.app/tryghost/issue/MOM-83
    
    - added additional labs flag to allow internal testing prior to private beta release
    - bumped Koenig packages containing support for @-link feature
    kevinansfield authored May 29, 2024
    Configuration menu
    Copy the full SHA
    55015cc View commit details
    Browse the repository at this point in the history
  8. Update Koenig packages

    renovate[bot] authored and kevinansfield committed May 29, 2024
    Configuration menu
    Copy the full SHA
    d507c5c View commit details
    Browse the repository at this point in the history
  9. Added JSDoc to stripe-mocker (#20282)

    no ref
    9larsons authored May 29, 2024
    Configuration menu
    Copy the full SHA
    65b929d View commit details
    Browse the repository at this point in the history

Commits on May 30, 2024

  1. Fixed flaky Portal test (#20286)

    no issue
    
    - the signup flow tests check whether the benefits of the available
    tiers are rendering correctly. The test is based on a text match, which
    sometimes fails because of duplicate benefit descriptions
    - this fix makes the benefit descriptions less likely to be the same, by
    using a timestamp in the randomisation function
    sagzy authored May 30, 2024
    Configuration menu
    Copy the full SHA
    46f0efe View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b14dfeb View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a323739 View commit details
    Browse the repository at this point in the history
  4. Updated newsletter subtitle settings (#20289)

    REF MOM-168
    - Updated the settings order to reflect the newsletter order
    - Hid the subtitle setting if post title section is toggled off
    sanne-san authored May 30, 2024
    Configuration menu
    Copy the full SHA
    a817075 View commit details
    Browse the repository at this point in the history
  5. Synced newsletter preview in settings with newsletter template (#20290)

    REF MOM-147
    
    - Updated newsletter preview in settings to match the newsletter
    template
    - Updated spacing for a few edge-case newsletter template combinations
    sanne-san authored May 30, 2024
    Configuration menu
    Copy the full SHA
    6bc91a1 View commit details
    Browse the repository at this point in the history
  6. Removed staff with 404 URLs from internal link searches

    closes https://linear.app/tryghost/issue/MOM-172
    
    - staff users with no posts won't have a front-end URL so it can be confusing for them to appear in the internal link search results within the editor
    - added filtering for `/404/` in staff URLs so we don't list unlinkable staff members
    kevinansfield committed May 30, 2024
    Configuration menu
    Copy the full SHA
    4165a93 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    3fdacb1 View commit details
    Browse the repository at this point in the history
  8. ✨ Added internal linking beta

    no issue
    
    When enabled the URL inputs in the link toolbar and bookmark card will search for posts, pages, authors, and tags, allowing for faster link creation and less interruption to workflow.
    
    - moved internal linking feature from private to public beta
    kevinansfield committed May 30, 2024
    Configuration menu
    Copy the full SHA
    2db35ab View commit details
    Browse the repository at this point in the history
  9. Added name attribute to feature flag checkboxes

    no issue
    
    - added `name` prop to `<Toggle>` component that corresponds to the checkbox's `name` attribute
    - updated `<FeatureToggle>` to set the `name` prop on it's `<Toggle>` component to the feature flag that was passed in so all feature toggles get a useful name attribute without having to manually specify one
    kevinansfield committed May 30, 2024
    Configuration menu
    Copy the full SHA
    1a1ca3e View commit details
    Browse the repository at this point in the history
  10. Aligned the subtitle font with the body font in the newsletter templa…

    …te (#20296)
    
    REF MOM-146
    - This ensures the body serif / sans-serif style is applied to the
    subtitle as well
    sanne-san authored May 30, 2024
    Configuration menu
    Copy the full SHA
    e2b6d6c View commit details
    Browse the repository at this point in the history
  11. Fixed "no results" state flashing in @-linking

    closes https://linear.app/tryghost/issue/MOM-160
    
    - return `undefined` early from `searchLinks` when the underlying task gets cancelled
    - bump `@tryghost/koenig-lexical` so it properly handles cancelled search promises
    kevinansfield committed May 30, 2024
    Configuration menu
    Copy the full SHA
    2734a88 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    4183169 View commit details
    Browse the repository at this point in the history
  13. 🐛 Fixed admin error when trying to overwrite a default theme (#20299)

    ref
    https://linear.app/tryghost/issue/ONC-57/trying-to-overwrite-the-default-source-theme-crashes-ghost
    
    - When attempting to overwrite a default theme (source or casper), admin
    would crash because this is not allowed by the API and the error was not
    handled
    - This fixes that by showing a modal with an error message when the user
    tries to overwrite a default theme, and instructs the user to rename the
    zip file
    cmraible authored May 30, 2024
    Configuration menu
    Copy the full SHA
    680651a View commit details
    Browse the repository at this point in the history

Commits on May 31, 2024

  1. v5.83.0

    github-actions[bot] committed May 31, 2024
    Configuration menu
    Copy the full SHA
    46cb819 View commit details
    Browse the repository at this point in the history
  2. Updated error message shown when trying to overwrite a default theme (#…

    …20301)
    
    ref
    https://linear.app/tryghost/issue/ONC-57/trying-to-overwrite-the-default-source-theme-crashes-ghost
    
    - No functional change, just an update to the error message to follow
    our writing guidelines for error messages
    cmraible authored May 31, 2024
    Configuration menu
    Copy the full SHA
    9891abd View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2024

  1. Added validation logic to in-editor subtitle (#20284)

    closes https://linear.app/tryghost/issue/MOM-150
    
    - use our validation engine to display an error state when >300 characters have been typed in the subtitle input field
    
    ---------
    
    Co-authored-by: Sanne de Vries <[email protected]>
    Co-authored-by: Kevin Ansfield <[email protected]>
    3 people authored Jun 3, 2024
    Configuration menu
    Copy the full SHA
    833ac83 View commit details
    Browse the repository at this point in the history
  2. Fixed cursor movement across title/subtitle/editor

    closes https://linear.app/tryghost/issue/MOM-175
    
    - matches cursor behaviour on Up/Down/Left/Right/Tab/Enter to our previous behaviour when we only had the title and editor
    kevinansfield committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    76a41d4 View commit details
    Browse the repository at this point in the history
  3. Fixed subtitle not fully collapsing for auto-expansion

    closes https://linear.app/tryghost/issue/MOM-149
    
    - our styles set all `textarea` elements to have a min-height of 100px which wasn't being overridden for our subtitle element meaning our auto-expand code was never able to fully collapse it to a single line
    kevinansfield committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    1d4fedf View commit details
    Browse the repository at this point in the history
  4. Added TK support to subtitle

    closes https://linear.app/tryghost/issue/MOM-176
    
    - display TK next to subtitle field as per the title field
    - include subtitle TK in the pre-publish TK check
    kevinansfield committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    d94a4c5 View commit details
    Browse the repository at this point in the history
  5. Adjusted subtitle field styling

    closes https://linear.app/tryghost/issue/MOM-181
    closes https://linear.app/tryghost/issue/MOM-183
    
    - adjusted subtitle font sizing to be more in harmony with body font
    - moved error to be underneath the divider line
    kevinansfield committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    77afd0a View commit details
    Browse the repository at this point in the history
  6. Fixed subtitle error being sticky

    closes https://linear.app/tryghost/issue/MOM-182
    
    - we were seeing some odd behaviour with the validation engine when validating individual properties that meant our tracked property wasn't auto-updating on subtitle change after a body edit/autosave event
    - switched to a manually tracked property that's updated based on the validate call status
    kevinansfield committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    a8342e1 View commit details
    Browse the repository at this point in the history
  7. Wired up subtitle in newsletter template

    closes https://linear.app/tryghost/issue/MOM-173
    
    - updated email renderer to add `post.customExcerpt` data
    - updated template to skip rendering subtitle when no custom excerpt is present
    - updated template to use actual custom excerpt
    kevinansfield committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    72a00b5 View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2024

  1. Replaced Array.at() for better browser compatibility (#20315)

    fixes https://linear.app/tryghost/issue/SLO-125
    
    - Array.at() has been introduced in ECMAScript 2022 and is currently not
    supported by older browsers, e.g. Safari < 15.4
    sagzy authored Jun 4, 2024
    Configuration menu
    Copy the full SHA
    9b7f1be View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ba2bbe7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    41f8ed6 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9ab9a88 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f7de630 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    417c83d View commit details
    Browse the repository at this point in the history
  7. Updated subtitle toggle copy

    closes https://linear.app/tryghost/issue/MOM-188
    
    - subtitle setting copy reflects the subtitle/excerpt terminology based on the subtitle-in-editor beta flag
    kevinansfield committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    fc7d9d1 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    80e115f View commit details
    Browse the repository at this point in the history
  9. Fixed offer not found case during Stripe checkout (#20322)

    fixes https://linear.app/tryghost/issue/SLO-135
    
    - handles edge cases when an invalid `offerId` is provided during Stripe
    checkout
    sagzy authored Jun 4, 2024
    Configuration menu
    Copy the full SHA
    d751d64 View commit details
    Browse the repository at this point in the history
  10. Renamed show_subhead to show_subtitle (#20320)

    closes https://linear.app/tryghost/issue/MOM-194
    
    - whilst working on the feature our naming changed from "Subhead" to "Subtitle"
    - this rename of the newsletter design setting column brings naming back into a consistent state before public release
    kevinansfield authored Jun 4, 2024
    Configuration menu
    Copy the full SHA
    952a89f View commit details
    Browse the repository at this point in the history
  11. Refine subtitle typography in newsletters (#20321)

    MOM-190
    MOM-192
    
    - The subtitle style (serif/sans) was tied to the body style which was
    misleading. It makes more sense to connect it to the title style both
    from the UX and the output POV.
    - Newsletter design preview was not updated according to subtitle
    styles.
    
    ---------
    
    Co-authored-by: Kevin Ansfield <[email protected]>
    peterzimon and kevinansfield authored Jun 4, 2024
    Configuration menu
    Copy the full SHA
    0efec25 View commit details
    Browse the repository at this point in the history
  12. Fixed ember concurrency cancellation errors (#20324)

    fixes https://linear.app/tryghost/issue/SLO-121
    fixes https://linear.app/tryghost/issue/SLO-138
    fixes https://linear.app/tryghost/issue/SLO-139
    fixes https://linear.app/tryghost/issue/SLO-140
    fixes https://linear.app/tryghost/issue/SLO-141
    fixes https://linear.app/tryghost/issue/SLO-142
    
    - ember-concurrency prevents two executions of the same task from
    running at the same time
    - when a task is cancelled, the library raises an error by default
    - however, we don't need to surface that error as the cancellation of
    the second execution is intentional
    sagzy authored Jun 4, 2024
    Configuration menu
    Copy the full SHA
    98b51b6 View commit details
    Browse the repository at this point in the history
  13. Added Admin acceptance test for post revision restoration

    ref https://linear.app/tryghost/issue/ENG-1078
    
    - adds required setup for acceptance testing post revisions
    - adds happy-path test for listing, previewing, and restoring a post revision
    kevinansfield committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    36ba476 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    3f93f5f View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2024

  1. 🐛 Fixed mailto: not being recognised in internal-linking search (#2…

    …0331)
    
    closes https://linear.app/tryghost/issue/MOM-195
    
    - bumped Koenig packages with updated URL-matching
    renovate[bot] authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    d40ef32 View commit details
    Browse the repository at this point in the history
  2. Added custom excerpt to post revisions (#20323)

    closes https://linear.app/tryghost/issue/MOM-170
    
    When the subtitle field is included in the editor it creates a disconnect with post revisions if the underlying custom excerpt data is not included so we'd like to both preview and restore the subtitle when the in-editor subtitle field is enabled.
    
    - added `post_revisions.custom_excerpt` column to schema
    - added migration to add `post_revisions.custom_excerpt` to existing databases
    - added migration to populate `post_revisions.custom_excerpt` with the current `post.custom_excerpt` value from the associated record
      - ensures no data is inadvertently lost when restoring an old version
    - using current data matches what would have happened previously where custom_excerpt was never overwritten when restoring an old version
    - updated post revisions handling to accept the `custom_excerpt` field
    - updated Admin's revision preview and restoration to display and set the `custom_excerpt` field
    kevinansfield authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    b447a26 View commit details
    Browse the repository at this point in the history
  3. 🐛 Fixed Slack integration using member content in excerpt (#20328)

    - refs
    [ONC-63](https://linear.app/tryghost/issue/ONC-63/discordslack-webhook-integration)
    - fixes [#20304](#20304)
    
    When a post is published and sent to Slack via webhook, the excerpt
    generated could contain member content. This change ensures that the
    excerpt does not contain member content. This change also ensures that
    the author for the post is correctly shown in Slack
    mike182uk authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    0f283da View commit details
    Browse the repository at this point in the history
  4. Added logging to track offer redemption (#20329)

    refs
    [ONC-56](https://linear.app/tryghost/issue/ONC-56/support-escalation-re-offers-not-tracking)
    
    Added logging to track offer redemption logic to debug issue with offer
    redemptions tracking incorrectly
    mike182uk authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    7f92777 View commit details
    Browse the repository at this point in the history
  5. Published Portal v2.37.8 (#20336)

    no refs
    
    Published Portal v2.37.8 to include recent translations
    mike182uk authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    bb43395 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    0470a4a View commit details
    Browse the repository at this point in the history
  7. Renamed subtitle to excerpt (#20334)

    no issue
    
    We've settled on using "excerpt" naming in place of "subtitle" to better reflect the underlying property name and tie in with themes and historical usage.
    
    - added migration to rename the `show_subtitle` newsletter setting to `show_excerpt`
    - renamed all places in the codebase that referenced subtitle
    kevinansfield authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    9ca1f3c View commit details
    Browse the repository at this point in the history
  8. 🐛 Fixed default sort for the content API posts endpoint with included…

    … relations (#20333)
    
    
    ref https://linear.app/tryghost/issue/CFR-31/
    - when relations were included, erroneous logic resulted in the model's
    default sort being applied
    - the model default sort is not intended for the content API and
    needlessly slowed down responses
    - there's a change for users here that should be incredibly unlikely to
    be hit; default sort is `published_at desc` which will be secondarily
    sorted by `id desc` instead of `published_at desc, updated_at desc, id
    desc`
    
    This is a very significant performance improvement for content API
    requests with includes for sites with a significant amount of data,
    which will primarily impact those using Ghost as a CMS or theme {{#get}}
    helpers.
    9larsons authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    e49021b View commit details
    Browse the repository at this point in the history
  9. ✨ Added newsletter design setting to display excerpt as subtitle

    no issue
    
    Full details coming soon to https://ghost.org/changelog/
    
    - when enabled in newsletter design settings a post's custom excerpt will be displayed as a subtitle in the email
    kevinansfield committed Jun 5, 2024
    Configuration menu
    Copy the full SHA
    4a94b5e View commit details
    Browse the repository at this point in the history
  10. ✨ Added beta feature toggle for moving excerpt field into editor (#20341

    )
    
    closes https://linear.app/tryghost/issue/MOM-179
    
    Full details coming soon to https://ghost.org/changelog
    
    - Adds a toggle to labs setting that moves the excerpt input below the post title in the editor
    kevinansfield authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    a7a1166 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2024

  1. Fix copy to "Post excerpt" in newsletter settings (#20344)

    MOM-209
    
    Currently if the "Show post excerpt inline" is on we show "Subtitle" in
    newsletter settings, it should always be "Post excerpt" to avoid
    confusion.
    peterzimon authored Jun 6, 2024
    Configuration menu
    Copy the full SHA
    909f2fa View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5c29bb6 View commit details
    Browse the repository at this point in the history
  3. v5.84.0

    github-actions[bot] committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    3b6d3b1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    16a0bf6 View commit details
    Browse the repository at this point in the history
  5. Noop'ed the post_revisions.custom_excerpt population migration

    no issue
    
    - the query can take a very long time to run on large sites causing problems during the upgrade process
    - impact from not populating the column:
      - only has an effect when the inline excerpt beta is enabled
      - when beta enabled, if a revision created before the upgrade is restored then the excerpt will be removed (will be visibly empty in preview before restoring, if any edit has occurred on the post after upgrading then it can still be recovered by restoring the later version or copy/pasting from the preview)
    kevinansfield committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    c8fc93e View commit details
    Browse the repository at this point in the history
  6. Added fallback to current excerpt when revision excerpt is null

    no issue
    
    - following on from the removal of the `post_revisions.custom_excerpt` column population it was possible in some circumstances to lose your excerpt when restoring an old version
    - this change means when no custom_excerpt exists on a revision we both preview and restore the current custom_excerpt to avoid any data loss
    kevinansfield committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    202fd7e View commit details
    Browse the repository at this point in the history
  7. v5.84.1

    github-actions[bot] committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    bf1852a View commit details
    Browse the repository at this point in the history
  8. Added documentation for link redirects (#20327)

    no issue
    
    - No code changes, only documentation
    - Added detailed overview of everything that happens when a member
    clicks on a redirect link in an email, along with a `mermaid.js`
    sequence diagram
    cmraible authored Jun 6, 2024
    Configuration menu
    Copy the full SHA
    bd030c4 View commit details
    Browse the repository at this point in the history
  9. Added selectRaw to permitted options for posts model (#20340)

    ref https://linear.app/tryghost/issue/CFR-29/
    - this allows our content api requests to omit fields we do not use,
    improving performance
    9larsons authored Jun 6, 2024
    Configuration menu
    Copy the full SHA
    734ed0b View commit details
    Browse the repository at this point in the history
  10. Published signup-form v0.1.4 (#20346)

    no refs
    
    Published signup-form v0.1.4 to include recently added translations
    mike182uk authored Jun 6, 2024
    Configuration menu
    Copy the full SHA
    f2090fe View commit details
    Browse the repository at this point in the history
  11. Published comments-ui v0.16.2 (#20345)

    no refs
    
    Published comments-ui v0.16.2 to include recently added translations
    mike182uk authored Jun 6, 2024
    Configuration menu
    Copy the full SHA
    58dcbe9 View commit details
    Browse the repository at this point in the history
  12. Removed members caching cookies when no member is logged in (#20349)

    ref
    https://linear.app/tryghost/issue/KTLO-58/dont-send-ghost-acess-cookies-if-no-member-is-logged-in
    
    - Currently when member's caching is enabled, but no member is logged
    in, we always send `ghost-access=null;` and `ghost-access-hmac=null;`
    cookies in the requests to `/members/api/member/`. This is done to clear
    the cookies, but an unintended consequence is that these requests can
    never be cached since there is a cookie in the response.
    - This PR removes the cookies from the requests when no member is logged
    in, the cookies will not be sent, allowing the requests to be cached
    - It also unsets the cookies when deleting a member's session, so that
    the cookies are not sent in the requests after the member logs out
    - This should improve the cache hit ratio with members caching enabled
    cmraible authored Jun 6, 2024
    Configuration menu
    Copy the full SHA
    4a6d427 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2024

  1. v5.84.2

    github-actions[bot] committed Jun 7, 2024
    Configuration menu
    Copy the full SHA
    fefb9ec View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2024

  1. Configuration menu
    Copy the full SHA
    81b46c5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c641174 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    496f4fd View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    67d7aad View commit details
    Browse the repository at this point in the history
  5. Added updated_at index to the posts table (#20354)

    ref https://linear.app/tryghost/issue/ONC-82
    - added migration for adding a posts.updated_at index
    9larsons authored Jun 10, 2024
    Configuration menu
    Copy the full SHA
    6dbbdff View commit details
    Browse the repository at this point in the history
  6. Added searching indicator to internal linking popups (#20355)

    closes https://linear.app/tryghost/issue/MOM-174
    
    - bumps @tryghost/koenig-lexical to version that includes a spinner in search popups whilst a search is in progress
    renovate[bot] authored Jun 10, 2024
    Configuration menu
    Copy the full SHA
    c1d1a89 View commit details
    Browse the repository at this point in the history
  7. 🐛 Fixed cursor movement across fields in excerpt-in-editor beta

    no issue
    
    - during the subtitle->excerpt rename some instances were missed resulting in the excerpt field element not being registered correctly
    - fixed mismatched action name and renamed remaining uses of "subtitle"
    kevinansfield committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    14afe23 View commit details
    Browse the repository at this point in the history
  8. Added posts.updated_at index to schema (#20357)

    ref 6dbbdff
    - added index to schema
    9larsons authored Jun 10, 2024
    Configuration menu
    Copy the full SHA
    3c247d9 View commit details
    Browse the repository at this point in the history
  9. v5.85.0

    github-actions[bot] committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    2ce8351 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2024

  1. Adjusted spacing and amount of text of newsletter latest posts (#20285)

    ref DES-347
    
    - adjusted title and excerpt length of latest posts in emails
    - as the layout is same (horizontal) on both desktop and mobile, truncateHtml() needed some update
    - now maxLength is expected to be larger than maxLengthMobile, because the mobile layout isn't stacked anymore
    - some spacing adjustment has been made as well
    minimaluminium authored Jun 11, 2024
    Configuration menu
    Copy the full SHA
    9ef9203 View commit details
    Browse the repository at this point in the history
  2. Removed Sentry error on multiple request attempts (#20360)

    refs https://linear.app/tryghost/issue/SLO-146
    - this Sentry error is not a user-facing error
    - the request is retried if it fails the first time
    sagzy authored Jun 11, 2024
    Configuration menu
    Copy the full SHA
    fde40e9 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e93bdba View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a95291f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f454aed View commit details
    Browse the repository at this point in the history
  6. Removed Sentry message on successful Lexical save (#20362)

    fixes https://linear.app/tryghost/issue/SLO-147
    
    - removed Sentry message when the Lexical save is slow but successful
    - bumped Sentry message to error level when the Lexical is slow and
    fails
    sagzy authored Jun 11, 2024
    Configuration menu
    Copy the full SHA
    63c6748 View commit details
    Browse the repository at this point in the history
  7. Added comments to data generator

    ref ENG-1219
    
    Includes a minor fix to ensure posts are published in the past, so
    that comments can be created after.
    sam-lord committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    0aa36b9 View commit details
    Browse the repository at this point in the history
  8. Updated default comments from 5 to 20 (#20359)

    ref MOM-135 MOM-211 MOM-213
    
    - Bumped up the default comments count from 5 to 20 comments before
    pagination kicks in.
    - Moved the pagination (`Show X previous comments)` to bottom of the
    page (soon to be reworded to `Show x more comments`)
    - Updated tests and added a new helper for adding multiple comments easier.
    ronaldlangeveld authored Jun 11, 2024
    Configuration menu
    Copy the full SHA
    bea074b View commit details
    Browse the repository at this point in the history
  9. Added improved Admin search behind labs flag (#20363)

    ref https://linear.app/tryghost/issue/MOM-117
    ref https://linear.app/tryghost/issue/MOM-70
    
    - moved current search into new `search-provider` service and updated `search` service to use the provider service internally
    - added `search-provider-beta` service
      - uses `flexsearch` as the underlying index for each document so we have better indexing and matching compared to the naive exact-match search we had previously
      - adds `excerpt` matching for posts and pages
      - keeps results output the same as the original search provider
    - added `internalLinkingSearchImprovements` labs flag so we can test this internally before reaching our internal linking beta testers
    - updated `search` service to switch between providers based on labs flag
    kevinansfield authored Jun 11, 2024
    Configuration menu
    Copy the full SHA
    54812dc View commit details
    Browse the repository at this point in the history
  10. Updated Admin search acceptance test

    ref #20363
    
    - updated test to match the new labs flag name
    kevinansfield committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    8ed4d1f View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    5f0a161 View commit details
    Browse the repository at this point in the history
  12. Fixed missing URLs in improved search results

    ref https://linear.app/tryghost/issue/MOM-117
    
    - `url` was missing in the results objects that we generate from the underlying search results
    - updated service integration test with check for url presence
    - updated service integration test to also run against the beta search
    - added missing page factory to mirage setup
    - updated mirage post serializer to include a uniquely identifiable URL for unpublished posts
    kevinansfield committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    9540b85 View commit details
    Browse the repository at this point in the history
  13. Added bs (Bosnian) locale (#20251)

    Comprehensive, context aware, Bosnian translations for all available
    strings.
    
    Informal addressing of users (as is widely accepted in Bosnia and
    Herzegovina).
    
    Co-authored-by: Ryan Feigenbaum <[email protected]>
    amel-s and royalfig authored Jun 11, 2024
    Configuration menu
    Copy the full SHA
    6863e37 View commit details
    Browse the repository at this point in the history
  14. Added Greek locale for comments, portal, signup-form, ghost. (#20361)

    We have noticed some attempts at Greek translation with no follow-up
    from contributors. This is a complete translation with accurate file
    naming conventions. We are native speakers and professionals.
    
    Co-authored-by: Ryan Feigenbaum <[email protected]>
    iasonastr and royalfig authored Jun 11, 2024
    Configuration menu
    Copy the full SHA
    a00305c View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2024

  1. Added content visibility feature flag (#20371)

    ref MOM-221
    
    - added new feature flag for content visibility.
    ronaldlangeveld authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    63d912b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    14c4df4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c93fb84 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    03cb264 View commit details
    Browse the repository at this point in the history
  5. Bumped Comments UI to 0.17 minor (#20373)

    ref MOM-211
    ronaldlangeveld authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    a33ae00 View commit details
    Browse the repository at this point in the history
  6. 🐛 Fixed internal link search sometimes showing latest posts after pas…

    …ting URL (#20374)
    
    no issue
    
    - bumps `@tryghost/koenig-lexical` to include a fix related to debounced searches overwriting our "Insert URL" state of the results popup
    renovate[bot] authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    238588c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    c54d3d8 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    7d6c91b View commit details
    Browse the repository at this point in the history
  9. Fixed validation error handling before previewing a post (#20375)

    fixes https://linear.app/tryghost/issue/SLO-143
    
    - in the editor, if there is a validation error on a post (e.g. the excerpt is longer than 300 chars), a validation error is rendered as a red banner error. However, when clicking on Preview, this error was bypassed
    - additionally, we were throwing an undefined error when a validation error happened. This was unnecessary and caused hundreds of unhandled errors per week
    sagzy authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    d00b699 View commit details
    Browse the repository at this point in the history
  10. Updated documentation for LinkRedirects (#20378)

    no issue
    
    - Reduced opacity in background rectangles to improve readability of the
    sequence diagram when rendered on Github
    cmraible authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    7d5ff4d View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2024

  1. Moved pagination button back to top in comments (#20379)

    no issue
    
    - moving the pagination button back to the top since it's not needed
    now.
    - Will move it to bottom in future along with additional comments enhancements.
    ronaldlangeveld authored Jun 13, 2024
    Configuration menu
    Copy the full SHA
    e1e31c5 View commit details
    Browse the repository at this point in the history
  2. Published new version of Comments-UI (#20380)

    no issue
    
    - Bumped from 0.17.0 to 0.17.1
    ronaldlangeveld authored Jun 13, 2024
    Configuration menu
    Copy the full SHA
    e615c36 View commit details
    Browse the repository at this point in the history
  3. Wired up contentVisibility flag to Koenig (#20382)

    ref MOM-221
    
    - wired up the contentVisibility flag to be passed to Koenig from Ghost
    / Admin.
    ronaldlangeveld authored Jun 13, 2024
    Configuration menu
    Copy the full SHA
    b166718 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ebda61a View commit details
    Browse the repository at this point in the history
  5. Ignored posthog-js and ember-concurrency cancellation errors in Sentry (

    #20383)
    
    fixes https://linear.app/tryghost/issue/SLO-126
    fixes https://linear.app/tryghost/issue/SLO-141
    fixes https://linear.app/tryghost/issue/SLO-150
    
    - during a session, posthog-js' rrweb extension can start throwing a lot
    of errors. These errors do not affect the application
    - similarly, ember-concurrency's task cancellation errors do not affect
    the application. Task in ember-concurrency are expected to be canceled.
    However, if they're cast to a Promise, they show up as unhandled Promise
    rejections as Promises do not have a concept of cancellation
    sagzy authored Jun 13, 2024
    Configuration menu
    Copy the full SHA
    66f7911 View commit details
    Browse the repository at this point in the history
  6. Fixed data generator not setting posts.plaintext value

    no issue
    
    - without `plaintext` set the API will not add generated excerpts to responses
    kevinansfield committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    f9cc2be View commit details
    Browse the repository at this point in the history
  7. Improved search index request order

    no issue
    
    - we weren't adding an `order` param to our posts/pages requests used to populate the search index which meant the default Admin API ordering was applied which isn't optimal for this use-case
    - switched to ordering by `updated_at` to use a simple order that has an optimised index in the database
    kevinansfield committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    555a2a4 View commit details
    Browse the repository at this point in the history
  8. 🐛 Fixed editor 'are you sure?' modal displaying when no user changes …

    …occurred (#20370)
    
    ref https://linear.app/tryghost/issue/ENG-661
    - added a dirty check to ignore the `direction` field from the lexical
    object; this is set dynamically and shouldn't be serialized, see
    facebook/lexical/issues/4998
    - fixed a bug where the modal wouldn't display on leaving the editor if
    the post had no revisions (e.g. import); this could result in content
    being saved over published content with no user action
    - added Sentry logging for the modal
    
    We would sometimes see the "Are you sure?" modal pop up when opening a
    post in the editor and attempting to navigate away immediately, without
    any changes to the post. This appears to be an issue with the serialized
    Lexical data, which would change after loading into the editor,
    resulting in the scratch and model's lexical values to differ, making
    Admin think the user changed the content.
    
    Ideally we'll see a fix upstream (or fix it ourselves). We may need to
    revisit this if we experience other such situations. It's awfully
    difficult to be able to set a flag saying 'the editor is done loading',
    so this seems to be the best path for the moment.
    
    Testing is difficult because we don't actually load the new Lexical editor into e2e/acceptance tests. I've added a unit test that can at least simulate the editor state changing on editor load.
    9larsons authored Jun 13, 2024
    Configuration menu
    Copy the full SHA
    59b304d View commit details
    Browse the repository at this point in the history
  9. Removed excerpt from beta search provider

    no issue
    
    - reverting this change for now as the benefit vs decreased result legibility wasn't high enough
    kevinansfield committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    048b67e View commit details
    Browse the repository at this point in the history
  10. Added improved search into internal linking beta

    closes https://linear.app/tryghost/issue/MOM-117
    closes https://linear.app/tryghost/issue/MOM-70
    
    - updated flag handling to move the improved search into the `internalLinking` beta flag
    - removed now-unused `internalLinkingSearchImprovements` flag
    kevinansfield committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    83ee649 View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2024

  1. Configuration menu
    Copy the full SHA
    710488e View commit details
    Browse the repository at this point in the history
  2. v5.85.1

    github-actions[bot] committed Jun 14, 2024
    Configuration menu
    Copy the full SHA
    158c1ae View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2024

  1. Configuration menu
    Copy the full SHA
    cc9a0ee View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9b04cc2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f856564 View commit details
    Browse the repository at this point in the history
  4. Updated data-generator to create lexical rather than mobiledoc posts

    closes https://linear.app/tryghost/issue/ONC-96
    
    - better matches Ghost's current usage
    - avoids mismatch in expected data when `post_revisions` is populated in future
    kevinansfield committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    428e10f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e5592aa View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    f636762 View commit details
    Browse the repository at this point in the history
  7. 🎨 Improved editor behavior to automatically update slug for draft pos…

    …ts (#20388)
    
    ref https://linear.app/tryghost/issue/ENG-1211
    - the post slug now re-generates based on the post title for draft posts
    unless manually set
    - updated unit tests to be a bit more comprehensive
    
    It's frequently the case that draft posts might have WIP titles. We
    would generate a post slug based on the title and never change it, so
    unless writers remembered to come back in to update it for their final
    post, it could look off to readers. This should make that a bit more
    intelligent.
    
    Going forward, we will change the slug unless we expect it to be a custom slug (user-set in the side panel). If the title is cleared out and saved, we will also reset it. We will only ever automatically generate & change the slug for draft posts.
    9larsons authored Jun 17, 2024
    Configuration menu
    Copy the full SHA
    d732f83 View commit details
    Browse the repository at this point in the history
  8. Removed .only from admin controller test (#20399)

    ref d732f83
    - removed .only that wasn't caught by linter
    9larsons authored Jun 17, 2024
    Configuration menu
    Copy the full SHA
    b53dfbb View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2024

  1. Configuration menu
    Copy the full SHA
    4da6851 View commit details
    Browse the repository at this point in the history
  2. Fixed shutdown signal compatibility issue with Node 20

    fix https://linear.app/tryghost/issue/ENG-1250/fix-node-20-shutdown-signal-compatibility-issue
    
    - in Node 20, support for string-based arguments to `process.exit` are
      removed
    - we can just switch this to an anonymous function and call `.shutdown`
      directly, as we don't need to pass any integer codes to it
    daniellockyer committed Jun 18, 2024
    Configuration menu
    Copy the full SHA
    4ff51f4 View commit details
    Browse the repository at this point in the history
  3. Newsletter captions fix (#20396)

    Fixes
    https://linear.app/tryghost/issue/DES-4/image-caption-size-in-email-newsletter.
    
    There were no styles defined for captions for cards beyond the featured
    image (bookmark, gallery, video), and we had no way of targeting those
    captions with CSS. They are now wrapped in a div with a specific class,
    which allows for more selective styling, and are styled similarly to the
    caption of the featured image.
    dvdwinden authored Jun 18, 2024
    Configuration menu
    Copy the full SHA
    f456494 View commit details
    Browse the repository at this point in the history
  4. Updated borders in comments CTA box (#20274)

    DES-189
    
    Our use of borders makes it very difficult to style a theme that looks
    good with all states. Theme developers need a border to separate
    comments from the content, but the current comments output includes
    borders. It's possible to make it look ok in most of the time, but it's
    difficult to work with. This change updates borders from the comments
    CTA box with the following rules:
    
    - Logged out without comments: no borders
    - Logged out with comments: top border only
    - Logged in without comments: no borders
    - Logged in with comments: no borders
    peterzimon authored Jun 18, 2024
    Configuration menu
    Copy the full SHA
    cd8a54d View commit details
    Browse the repository at this point in the history
  5. Fixed handling SVG files with missing tag

    fix https://linear.app/tryghost/issue/SLO-151/[ghost]-cannot-read-properties-of-null-reading-attributes-an
    
    - in the event the file doesn't contain a tag, the code currently crashes
      because it tries to read `attributes from `undefined`
    - we can fix that by checking the first element exists before reading
      from it
    - also includes a breaking test
    daniellockyer committed Jun 18, 2024
    Configuration menu
    Copy the full SHA
    9a40440 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e2ef5d3 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    dbd4aa6 View commit details
    Browse the repository at this point in the history
  8. Added Sentry logging for unsaved changes modal in admin (#20408)

    ref https://linear.app/tryghost/issue/ONC-94
    - adds Sentry logging for the unsaved changes modal in Admin (tags,
    members, collections)
    
    This will let us monitor for spikes in rates so we know if a change to
    Ghost has caused faulty logic in detecting dirty models.
    9larsons authored Jun 18, 2024
    Configuration menu
    Copy the full SHA
    783984d View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2024

  1. Fixed race condition when updating member's last_seen_at timestamp (#…

    …20389)
    
    ref
    https://linear.app/tryghost/issue/ENG-1240/race-condition-when-updating-members-last-seen-at-timestamp
        
    When members click a link in an email, Ghost updates the member's
    `last_seen_at` timestamp, but it should only update the timestamp if the
    member hasn't yet been seen in the current day (based on the
    publication's timezone).
        
    Currently there is a race condition present where multiple simultaneous
    requests from the same member (if e.g. an email link checker is
    following all links in an email) can cause the `last_seen_at` timestamp
    to be updated multiple times in the same day for the same member. These
    additional queries add a significant load on Ghost and its database,
    which can contribute to the exhaustion of the connection pool and
    eventually requests may time out.
        
    The primary motivation for this change is to avoid that race condition
    by adding a lock to the member row, checking if `last_seen_at` has
    already been updated in the current day, and only updating it if it
    hasn't.
        
    Another beneficial side-effect of this change is that it avoids locking
    the `labels` and `newsletters` tables, which are locked when we update
    the `last_seen_at` timestamp in the `members` table currently. This
    should improve Ghost's ability to handle a large influx of requests to
    redirect endpoints (confirmed with load tests), which tend to happen
    immediately after a publisher sends an email.
    cmraible authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    5154e8d View commit details
    Browse the repository at this point in the history
  2. Added custom headers to be passed to createQuery hook (#20402)

    ref MOM-239
    
    - for ActivityPub + Egg
    - allow custom headers to be passed to createQuery hook in Admin X.
    - this includes the ability to use it inside `createQueryWithId` hook.
    - Added testing
    ronaldlangeveld authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    9e1a70e View commit details
    Browse the repository at this point in the history
  3. Removed ActivityPub backend from Ghost (#20410)

    We are no longer going to run any ActivityPub logic inside of Ghost,
    instead we're moving to a separate service, so all of this code is now
    redundant.
    allouis authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    5acdafc View commit details
    Browse the repository at this point in the history
  4. Refined newsletter typography (#20406)

    DES-459
    
    The font size of subtitles/excerpts in newsletters was similar to the
    body font size which doesn't reflect the content hierarchy
    appropriately. Also, the spacing should be adjusted to represent that
    the title and the subtitle belong together.
    peterzimon authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    73a88d0 View commit details
    Browse the repository at this point in the history
  5. Fixed "What's new" notification for contributors (#20413)

    DES-363
    
    The "What's new" notification took up the whole width of the admin for
    contributors and it wasn't possible to interact with it.
    peterzimon authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    962365e View commit details
    Browse the repository at this point in the history
  6. Added Ghost2Ghost ActivityPub feature that uses mock API (#20411)

    ref https://linear.app/tryghost/issue/MOM-108/ap-phase-two
    
    Added a WIP version of the Ghost-to-Ghost ActivityPub feature behind the feature flag. Enabling it will add a new item to the main sidebar nav that lets you interact with our ActivityPub mock API in the following ways:
    - Shows you the list of sites you follow
    - Shows you the list of sites that follow you
    - Shows you the articles published by sites you follow
    - Shows you activities (who followed you or liked your article)
    - Shows your liked articles
    
    Mock API can be easily updated to simulate working with different types of data and interactions.
    allouis authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    cb2150f View commit details
    Browse the repository at this point in the history
  7. Update Koenig packages (#20415)

    [![Mend
    Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)
    
    This PR contains the following updates:
    
    | Package | Change | Age | Adoption | Passing | Confidence |
    |---|---|---|---|---|---|
    |
    [@tryghost/kg-default-cards](https://togithub.com/TryGhost/Koenig/tree/master#readme)
    ([source](https://togithub.com/TryGhost/Koenig)) | [`10.0.5` ->
    `10.0.6`](https://renovatebot.com/diffs/npm/@tryghost%2fkg-default-cards/10.0.5/10.0.6)
    |
    [![age](https://developer.mend.io/api/mc/badges/age/npm/@tryghost%2fkg-default-cards/10.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tryghost%2fkg-default-cards/10.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tryghost%2fkg-default-cards/10.0.5/10.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tryghost%2fkg-default-cards/10.0.5/10.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    |
    [@tryghost/kg-default-nodes](https://togithub.com/TryGhost/Koenig/tree/main#readme)
    ([source](https://togithub.com/TryGhost/Koenig)) | [`1.1.2` ->
    `1.1.3`](https://renovatebot.com/diffs/npm/@tryghost%2fkg-default-nodes/1.1.2/1.1.3)
    |
    [![age](https://developer.mend.io/api/mc/badges/age/npm/@tryghost%2fkg-default-nodes/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tryghost%2fkg-default-nodes/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tryghost%2fkg-default-nodes/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tryghost%2fkg-default-nodes/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    |
    [@tryghost/kg-html-to-lexical](https://togithub.com/TryGhost/Koenig/tree/main#readme)
    ([source](https://togithub.com/TryGhost/Koenig)) | [`1.1.3` ->
    `1.1.4`](https://renovatebot.com/diffs/npm/@tryghost%2fkg-html-to-lexical/1.1.3/1.1.4)
    |
    [![age](https://developer.mend.io/api/mc/badges/age/npm/@tryghost%2fkg-html-to-lexical/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tryghost%2fkg-html-to-lexical/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tryghost%2fkg-html-to-lexical/1.1.3/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tryghost%2fkg-html-to-lexical/1.1.3/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    |
    [@tryghost/kg-lexical-html-renderer](https://togithub.com/TryGhost/Koenig/tree/main#readme)
    ([source](https://togithub.com/TryGhost/Koenig)) | [`1.1.3` ->
    `1.1.4`](https://renovatebot.com/diffs/npm/@tryghost%2fkg-lexical-html-renderer/1.1.3/1.1.4)
    |
    [![age](https://developer.mend.io/api/mc/badges/age/npm/@tryghost%2fkg-lexical-html-renderer/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tryghost%2fkg-lexical-html-renderer/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tryghost%2fkg-lexical-html-renderer/1.1.3/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tryghost%2fkg-lexical-html-renderer/1.1.3/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    |
    [@tryghost/koenig-lexical](https://togithub.com/TryGhost/Koenig/tree/master#readme)
    ([source](https://togithub.com/TryGhost/Koenig)) | [`1.2.6` ->
    `1.2.7`](https://renovatebot.com/diffs/npm/@tryghost%2fkoenig-lexical/1.2.6/1.2.7)
    |
    [![age](https://developer.mend.io/api/mc/badges/age/npm/@tryghost%2fkoenig-lexical/1.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tryghost%2fkoenig-lexical/1.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tryghost%2fkoenig-lexical/1.2.6/1.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tryghost%2fkoenig-lexical/1.2.6/1.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    
    ---
    
    ### Release Notes
    
    <details>
    <summary>TryGhost/Koenig (@&#8203;tryghost/kg-default-cards)</summary>
    
    ###
    [`v10.0.6`](https://togithub.com/TryGhost/Koenig/compare/@tryghost/[email protected]...@tryghost/[email protected])
    
    [Compare
    Source](https://togithub.com/TryGhost/Koenig/compare/@tryghost/[email protected]...@tryghost/[email protected])
    
    </details>
    
    ---
    
    ### Configuration
    
    📅 **Schedule**: Branch creation - "every weekday" (UTC), Automerge - At
    any time (no schedule defined).
    
    🚦 **Automerge**: Disabled by config. Please merge this manually once you
    are satisfied.
    
    ♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.
    
    👻 **Immortal**: This PR will be recreated if closed unmerged. Get
    [config help](https://togithub.com/renovatebot/renovate/discussions) if
    that's undesired.
    
    ---
    
    - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
    this box
    
    ---
    
    This PR has been generated by [Mend
    Renovate](https://www.mend.io/free-developer-tools/renovate/). View
    repository job log
    [here](https://developer.mend.io/github/TryGhost/Ghost).
    
    <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTAuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQxMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    ace8a2f View commit details
    Browse the repository at this point in the history
  8. ✨ Added "@" shortcut to trigger internal linking search (beta)

    no issue
    
    Typing "@" in the editor will immediately trigger an internal link search to make it faster to link to one of your articles. After typing "@" continue typing to search, results can be selected using Up/Down arrow keys or the mouse, then pressing Enter or clicking will insert the selected result's title pre-linked. Pressing Escape or moving the cursor out of the search box will cancel the search.
    
    - removed labs flag
    - updated Koenig feature flag for at-linking to use the same flag as our internal linking beta
    kevinansfield committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    a896e1c View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    f43cc93 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    ae6e7d9 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    a33378a View commit details
    Browse the repository at this point in the history
  12. Added OpenTelemetry instrumentation to Ghost backend (#20144)

    This commit adds OpenTelemetry instrumentation to Ghost's backend, which
    allows us to view traces similar to what we see in Sentry Performance
    locally.
    
    OpenTelemetry is enabled if `NODE_ENV === 'development'` or if it is
    explicitly enabled via config with `opentelemetry:enabled`.
    
    It also adds a [Jaeger](https://www.jaegertracing.io/) container to
    Ghost's docker-compose file for viewing the traces. There's no setup
    required (beyond running `yarn docker:reset` to pickup the changes in
    the docker-compose file the first time — but this will also reset your
    DB so be careful). This will launch the Jaeger container, and you can
    view the UI to see the traces at `http://localhost:16686/search`.
    cmraible authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    417c9c4 View commit details
    Browse the repository at this point in the history
  13. 🐛 Fixed race condition when updating member's last_seen_at timestamp (

    #20389)
    
    ref
    https://linear.app/tryghost/issue/ENG-1240/race-condition-when-updating-members-last-seen-at-timestamp
    
    When members click a link in an email, Ghost updates the member's
    `last_seen_at` timestamp, but it should only update the timestamp if the
    member hasn't yet been seen in the current day (based on the
    publication's timezone).
    
    Currently there is a race condition present where multiple simultaneous
    requests from the same member (if e.g. an email link checker is
    following all links in an email) can cause the `last_seen_at` timestamp
    to be updated multiple times in the same day for the same member. These
    additional queries add a significant load on Ghost and its database,
    which can contribute to the exhaustion of the connection pool and
    eventually requests may time out.
    
    The primary motivation for this change is to avoid that race condition
    by adding a lock to the member row, checking if `last_seen_at` has
    already been updated in the current day, and only updating it if it
    hasn't.
    
    Another beneficial side-effect of this change is that it avoids locking
    the `labels` and `newsletters` tables, which are locked when we update
    the `last_seen_at` timestamp in the `members` table currently. This
    should improve Ghost's ability to handle a large influx of requests to
    redirect endpoints (confirmed with load tests), which tend to happen
    immediately after a publisher sends an email.
    cmraible committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    a8e1a70 View commit details
    Browse the repository at this point in the history
  14. v5.85.2

    github-actions[bot] committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    0c61e0c View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    be79f38 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2024

  1. 🐛 Fixed dashboard appearing blank if members disabled before completi…

    …ng onboarding
    
    closes https://linear.app/tryghost/issue/ONC-106
    
    - moved onboarding display outside of the `isMembersEnabled` conditional block
    kevinansfield committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    643b80a View commit details
    Browse the repository at this point in the history
  2. Cleaned up onboardingChecklist GA labs flag

    no issue
    
    - removed labs flag
    - removed labs flag conditionals
    - removed code related to old setup/done screen
    - fixed tests that weren't correctly running against the GA flag code
    kevinansfield committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    524fe6e View commit details
    Browse the repository at this point in the history
  3. 🐛 Fixed button URL suggestions not loading for contributors, editors …

    …and authors (#20416)
    
    ref https://linear.app/tryghost/issue/SLO-127
    
    - problem: when using a card with a button (Button, Email CTA, Header,
    Product), the Button URL suggestions fail to load for Contributors,
    Authors, and Editors
    - cause: Contributors, Authors and Editors don’t have permission to
    fetch offers, and this causes the entire list of button url suggestions
    to break
    - solution: if offers fail to fetch for any reason, the rest of the url
    suggestions for cards with a button is now still populated (i.e. offers
    URLs are ignored)
    sagzy authored Jun 20, 2024
    Configuration menu
    Copy the full SHA
    1c972c7 View commit details
    Browse the repository at this point in the history
  4. ✨ Moved internal linking feature out of beta

    no issue
    
    Full details coming soon to https://ghost.org/changelog
    
    - Link toolbar and bookmark cards now let you search your existing posts/pages/tags/authors in addition to manually entering the URL
    - Typing "@" inside your content lets you quickly search and add a text link
    - Typing "@" on a blank paragraph provides a quick way to search and add a bookmark
    kevinansfield committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    414b2ff View commit details
    Browse the repository at this point in the history
  5. 🐛 Fixed inability to override accent color variable via code injection

    closes https://linear.app/tryghost/issue/ONC-72
    
    - moved output of the accent color style element before the site and post/page/tag code injection output
    kevinansfield committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    5248fbd View commit details
    Browse the repository at this point in the history
  6. 🐛 Fixed Bluesky URLs creating bookmarks rather than embeds (#20435)

    closes #20028
    
    It's fairly common practice for oembed providers to skip some of the "required" fields from the oembed spec such as `height` when it doesn't make sense for the embeddable content, this was the case with Bluesky embeds which return `height: null`
    
    - removed validation for `height` being present in the response for it to be recognised as an embed because we don't use it anywhere and the validation is blocking otherwise valid embeds
    kevinansfield authored Jun 20, 2024
    Configuration menu
    Copy the full SHA
    3bc5eb8 View commit details
    Browse the repository at this point in the history
  7. 🐛 Fixed bookmark creation for sites that block some user agents

    closes https://linear.app/tryghost/issue/ENG-762
    
    - nytimes.com and other sites return 403 responses when requests do not match typical browser user-agents
    - our bookmark fetching requests were using `Ghost(https://github.com/TryGhost/Ghost)` meaning bookmark creation failed for these user-agent-blocking sites
    - switched to using a standard browser user-agent string to avoid such blocks
    kevinansfield committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    0b4e249 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2024

  1. Pin dependencies

    renovate[bot] authored and daniellockyer committed Jun 21, 2024
    Configuration menu
    Copy the full SHA
    4c8a780 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b754513 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4fd28d4 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3600886 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    478ac04 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    63a2157 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    4609b43 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    bec0005 View commit details
    Browse the repository at this point in the history
  9. Lazyloaded OpenTelemetry packages to avoid boot time regression

    - we don't want to load the Otel packages unless the instrumentation is
      enabled, because they dramatically increase the boot time (2x locally!)
    daniellockyer committed Jun 21, 2024
    Configuration menu
    Copy the full SHA
    12cbb22 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    ccf2d22 View commit details
    Browse the repository at this point in the history
  11. v5.86.0

    github-actions[bot] committed Jun 21, 2024
    Configuration menu
    Copy the full SHA
    a837cf0 View commit details
    Browse the repository at this point in the history
  12. 🐛 Fixed 500 errors when viewing posts in development mode

    closes https://linear.app/tryghost/issue/ONC-115
    
    - OpenTelemetry was throwing errors when viewing posts
    - disabled the instrumentation in development mode so it requires explicit config to enable
    kevinansfield committed Jun 21, 2024
    Configuration menu
    Copy the full SHA
    5b2eaec View commit details
    Browse the repository at this point in the history
  13. v5.86.1

    github-actions[bot] committed Jun 21, 2024
    Configuration menu
    Copy the full SHA
    7dcc82b View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2024

  1. 🐛 Fixed YouTube bookmark creation

    #20445
    
    - after switching to a browser-like user-agent, YouTube started responding with a "supported browsers" message rather than the actual video meaning bookmark creation failed
    - when trying other user-agents it was discovered that nytimes.com (why the user-agent was originally changed) had a problem with the github.com address in the user-agent. By switching to using https://ghost.org instead the request was allowed through fixing both YouTube and NYTimes embeds
    kevinansfield committed Jun 23, 2024
    Configuration menu
    Copy the full SHA
    1593fd8 View commit details
    Browse the repository at this point in the history
  2. v5.86.2

    github-actions[bot] committed Jun 23, 2024
    Configuration menu
    Copy the full SHA
    bfd7a26 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2024

  1. Configuration menu
    Copy the full SHA
    c1df0c9 View commit details
    Browse the repository at this point in the history
  2. Fixed handling objects as API input parameters

    fix https://linear.app/tryghost/issue/SLO-155/paramsmap-is-not-a-function-an-unexpected-error-occurred-please-try
    
    - in the case you provide an object to the API, this code will throw an
      error because it can't map over an object
    - we can just assert that params should be an array and throw an error
      otherwise
    daniellockyer committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    d501319 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e0057fd View commit details
    Browse the repository at this point in the history
  4. Added time field to slow get helper logging (#20427)

    refs
    [CFR-36](https://linear.app/tryghost/issue/CFR-36/pull-out-response-time-from-ghost-logs-message-field-for-get-helper)
    
    Added time field to slow get helper logging to make it easier to query
    and filter on this value in elastic without having to parse the message
    field
    mike182uk authored Jun 24, 2024
    Configuration menu
    Copy the full SHA
    897481b View commit details
    Browse the repository at this point in the history
  5. Added composite index to posts table for type,status (#20437)

    ref https://linear.app/tryghost/issue/CFR-35
    - performance improvement intended for the content api/get helpers
    
    The posts table is shared by posts and pages and seldom is queried for
    both. It makes sense to add an index on type, and from the perspective
    of the content API, also on status as you're almost only ever querying
    for published posts or published pages.
    9larsons authored Jun 24, 2024
    Configuration menu
    Copy the full SHA
    4f6842b View commit details
    Browse the repository at this point in the history
  6. Added config to hide labels from the signup card for contributors (#2…

    …0429)
    
    ref https://linear.app/tryghost/issue/SLO-127
    
    - problem: contributors see an empty list of labels in the Signup card,
    even if some exist
    - cause: contributors do not have permission to browse labels
    - solution: hide the label input entirely for contributors in the Signup
    card, based on the new `renderLabels` config parameter
    sagzy authored Jun 24, 2024
    Configuration menu
    Copy the full SHA
    b924027 View commit details
    Browse the repository at this point in the history
  7. Prevented pages content api queries from returning mobiledoc or lexic…

    …al fields (#20454)
    
    ref https://linear.app/tryghost/issue/CFR-43/
    ref 9d9a421
    
    We recently stopped `select *` from posts when making Content API
    requests. This is now being applied to the pages endpoint to help
    improve performance. These fields were already being stripped out in the
    output serializer, and they will now no longer be returned from the db
    at all, reducing the amount of data transferred.
    9larsons authored Jun 24, 2024
    Configuration menu
    Copy the full SHA
    b10b81b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    725ebc3 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b81839f View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    79bc84c View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    eed162e View commit details
    Browse the repository at this point in the history
  12. Added analytic events to internal linking feature

    closes https://linear.app/tryghost/issue/MOM-77
    closes https://linear.app/tryghost/issue/MOM-78
    
    - bumps Koenig to support events
    - adds `siteUrl` pass-through to Koenig to allow differentiation between internal and external URLs
    kevinansfield committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    21a2a82 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2024

  1. Reduced Sentry replays sample rate to 50% (#20458)

    fixes https://linear.app/tryghost/issue/SLO-156
    - we have reached our 10k replays per month quota in 20 days, by using a
    100% error sampling rate
    - we would need a sampling rate < 0.64% to stay under the quota
    - from now on, we will be using a 50% error sampling rate to have a bit
    of margin, and have a rounder number that is easier to reason about (1
    out of 2 error sessions are recorded in Sentry)
    sagzy authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    516a2e1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    68dcec1 View commit details
    Browse the repository at this point in the history
  3. 🎨 Updated editor toolbar and action button designs (#20405)

    REF https://linear.app/tryghost/issue/MOM-238
    
    - Updated feature image action button styles
    - Aligned button and tooltip styles with the rest of the editor
    - Updated `koenig-lexical` version to pull in new toolbar design
    sanne-san authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    0311331 View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2024

  1. Configuration menu
    Copy the full SHA
    df16fe1 View commit details
    Browse the repository at this point in the history
  2. Fixed flaky admin test in Publish+Send Flow (#20463)

    ref ONC-109
    
    - Attempt to fix flaky Admin test, "Publish flow members enabled can
    schedule publish+send"
    - Adjusted the time calculation to the nearest minute to avoid
    off-by-one minute errors
    - Added `waitFor` to ensure elements are present and stable before
    making assertions.
    - Rounded the new scheduled date and time to the nearest minute to
    maintain consistency
    - Included extra `waitFor` and `settled` calls to allow time for UI
    elements to fully load and reflect changes before assertions.
    ronaldlangeveld authored Jun 26, 2024
    Configuration menu
    Copy the full SHA
    6099a14 View commit details
    Browse the repository at this point in the history
  3. Fixed TypeError when editor is focussed when not loaded

    fix https://linear.app/tryghost/issue/SLO-162/typeerror-thiseditorapi-is-null
    
    - if the editor does not load for some reason (network issue), and the
      editor area is clicked, we throw an error because we don't protect
      against a null `editorAPI`
    - this adds that check
    daniellockyer committed Jun 26, 2024
    Configuration menu
    Copy the full SHA
    6c07b1c View commit details
    Browse the repository at this point in the history
  4. Excluded errors caused by browser power-saving settings

    fix https://linear.app/tryghost/issue/SLO-164/error-aborterror-the-play-request-was-interrupted-because-video-only
    
    - in the case that the browser has power-saving settings enabled, we get
      an error in Sentry
    - this error does not affect the user experience, so it should be safe
      to ignore
    - this adds an exclusion to Sentry to ignore these errors
    daniellockyer committed Jun 26, 2024
    Configuration menu
    Copy the full SHA
    5f5293c View commit details
    Browse the repository at this point in the history
  5. Updated frontend styles for bookmark card (#20468)

    REF DES-263
    - Added default white background color and sans-serif font to bookmark
    card
    sanne-san authored Jun 26, 2024
    Configuration menu
    Copy the full SHA
    e34c360 View commit details
    Browse the repository at this point in the history
  6. Added more errors to Sentry exclusion list

    fix https://linear.app/tryghost/issue/SLO-165/add-more-errors-to-allowlist
    
    - we don't want to capture Sentry errors for these because they are out
      of our control (like the user's internet connection dropping out)
    daniellockyer committed Jun 26, 2024
    Configuration menu
    Copy the full SHA
    dd39576 View commit details
    Browse the repository at this point in the history
  7. Moved error exclusion to correct place

    - adding it to ignoreErrors is better than beforeSend because it's built
      for this purpose and we've just looking at the error message
    daniellockyer committed Jun 26, 2024
    Configuration menu
    Copy the full SHA
    019f417 View commit details
    Browse the repository at this point in the history
  8. Extracted stats aggregation function to util

    ref https://linear.app/tryghost/issue/SLO-168/rangeerror-maximum-call-stack-size-exceeded
    
    - this extracts a function to a util so we can unit test it
    - this function is about to be optimized but having unit tests allows us
      to make the change with confidence
    daniellockyer committed Jun 26, 2024
    Configuration menu
    Copy the full SHA
    43bb83f View commit details
    Browse the repository at this point in the history
  9. Optimized stats aggregation code for Admin dashboard

    fix https://linear.app/tryghost/issue/SLO-168/rangeerror-maximum-call-stack-size-exceeded
    
    - this code takes the API output and reduces it down to collect together
      stats per date
    - the current code is recursive, and we've seen errors with the
      recursion hitting a `RangeError: Maximum call stack size exceeded`
      error
    - as well as that, we're doing a lot of array concat'ing and cloning,
      which burns memory and CPU time
    - instead, we can just use `.reduce`
    - the new implementation is much faster than the existing one (1ms vs
      85ms) and uses no recursion, so those errors should go away
    - I've also verified that the output is the same between the two
      functions
    daniellockyer committed Jun 26, 2024
    Configuration menu
    Copy the full SHA
    f250898 View commit details
    Browse the repository at this point in the history
  10. Update Koenig packages (#20453)

    closes https://linear.app/tryghost/issue/MOM-247
    
    - includes a few fixes for errors we've seen in our reporting
    renovate[bot] authored Jun 26, 2024
    Configuration menu
    Copy the full SHA
    dfc27b0 View commit details
    Browse the repository at this point in the history
  11. Improved performance fetching posts (#20460)

    ref https://linear.app/tryghost/issue/ONC-111
    - added composite index to posts_tags for post_id,tag_id for faster
    lookup
    - added composite index to posts for updated_at; this is commonly used
    by get helpers on the front end to display data like the latest posts
    
    In testing, this provided a very dramatic improvement for simple get
    helper requests like 'filter="id:-{{post.id}}+tag:sampleTag" limit="3"'
    which are by default sorted by updated_at desc. I'm not entirely clear
    why when sorting by published_at we do not need a composite index - so
    far it doesn't seem to be necessary. This should cover the primary cases
    for get helpers - the latest posts with a given tag or set of tags.
    9larsons authored Jun 26, 2024
    Configuration menu
    Copy the full SHA
    2e593eb View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2024

  1. Updated ActivityPub API root path (#20471)

    ref https://linear.app/tryghost/issue/MOM-201
    
    We will be proxying to `/.ghost/activitypub` rather than just
    `/activitypub`
    allouis authored Jun 27, 2024
    Configuration menu
    Copy the full SHA
    0cf3d4d View commit details
    Browse the repository at this point in the history
  2. Adjusted Sentry ignore list to cover more browser play errors

    fix https://linear.app/tryghost/issue/SLO-172/error-aborterror-the-play-request-was-interrupted-because-the-media
    
    - there are a few error messages we can ignore here, as browsers output
      slightly different messages for various types of these errors, which
      don't affect the user
    daniellockyer committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    aa0110c View commit details
    Browse the repository at this point in the history
  3. Removed request queue enablement flag (#20466)

    refs
    [CFR-26](https://linear.app/tryghost/issue/CFR-26/remove-request-queue-config-flag)
    
    Removed request queue enablement flag and updated the logic so that the
    request queue is enabled when there is explicit configuration for it.
    mike182uk authored Jun 27, 2024
    Configuration menu
    Copy the full SHA
    ecf52d4 View commit details
    Browse the repository at this point in the history
  4. Removed unused type field

    - this is no longer used and causes a React warning because we end up
      passing it to a textarea
    daniellockyer committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    ad77cec View commit details
    Browse the repository at this point in the history
  5. Added AbortError to list of excluded errors

    fix https://linear.app/tryghost/issue/SLO-175/error-aborterror-the-operation-was-aborted
    
    - this error can occur when a user's browser navigates away mid-request,
      which causes the request to be aborted. However, we don't control
      this, nor do we particularly care, so we can just ignore it
    daniellockyer committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    f9a6610 View commit details
    Browse the repository at this point in the history
  6. Added option param to skip distinct from count query for members API

    ref https://linear.app/tryghost/issue/SLO-173/removed-distinct-from-member-count-query
    
    Performance of GET /members API can be improved by dropping the distinct from the total members count query.
    
    select count(distinct members.id) as aggregate from `members`; // 275ms
    select count(*) as aggregate from `members`; // 30ms
    
    In this case we know that the result set will always be unique.
    vershwal authored Jun 27, 2024
    Configuration menu
    Copy the full SHA
    7bffe5b View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    430a2ca View commit details
    Browse the repository at this point in the history
  8. Added browser autoplay error to Sentry ignore list

    fix https://linear.app/tryghost/issue/SLO-179/notallowederror-the-request-is-not-allowed-by-the-user-agent-or-the
    
    - this adds another browser error to the Sentry ignore list, as we don't
      have control over it, and it doesn't affect the user
    daniellockyer committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    34b903a View commit details
    Browse the repository at this point in the history
  9. 🐛 Fixed default recipients setting not showing label filters (#20480)

    fixes https://linear.app/tryghost/issue/SLO-171
    
    - problem: when the Default Recipient setting is set to "Specific
    people" and is filtered by a label, we were not able to render the label
    correctly
    - cause: during the rendering, we look for labels by `id`, but they're
    stored by `slug` in the database setting
    `editor_default_email_recipients_filter`
    - solution: allow to look by the relevant key, by introducing a
    programmatic `key` to search for
    
    Before the fix:
    https://github.com/TryGhost/Ghost/assets/6225080/aed5fc31-6409-4986-aafe-557073c7f355
    
    
    After the fix:
    https://github.com/TryGhost/Ghost/assets/6225080/f35b2607-5f22-42be-b1bb-92f35ccc9ab7
    sagzy authored Jun 27, 2024
    Configuration menu
    Copy the full SHA
    5dfee47 View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2024

  1. v5.87.0

    github-actions[bot] committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    0d60c74 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2024

  1. Configuration menu
    Copy the full SHA
    41d8240 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f561f36 View commit details
    Browse the repository at this point in the history
  3. 🐛 Fixed staff user modal not showing correct example URL

    fix https://linear.app/tryghost/issue/ENG-928/regression-author-url-slug-preview-broken
    
    - simple change to append the slug to the end of the example hint
    - also added test
    daniellockyer committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    fa43066 View commit details
    Browse the repository at this point in the history
  4. Changed "commented" link in member feed to redirect to post

    fix https://linear.app/tryghost/issue/ENG-1217/activity-log-link-for-comments-goes-to-wrong-place
    
    - the post analytics page does not contain any comments, so it's not the
      most intuitive location to point the user. Instead, we can send them
      to the frontend of the post, where they can view comments
    daniellockyer committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    5f36bef View commit details
    Browse the repository at this point in the history
  5. Center aligned feature image in email template (#20491)

    REF DES-380
    - Center aligned feature image in email template
    - Updated feature image css in editor to better display image overlay
    and improve caption spacing
    sanne-san authored Jul 1, 2024
    Configuration menu
    Copy the full SHA
    95a4895 View commit details
    Browse the repository at this point in the history
  6. Unify "Save" and "Close" buttons in Settings (#20430)

    DES-27
    
    There are two patterns used in settings modals for action buttons:
    
    1. [Cancel] and [Save & close] (sometimes it's [Cancel] and [OK],
    inconsistently) — example: Staff details, Tier details, Navigation,
    Recommendation
    2. [Close] and [Save] — example: Design settings, Portal, Newsletter
    details etc.
    
    This is confusing and leaves people confused and uncertain about what's
    going to happen in one or the other case.
    peterzimon authored Jul 1, 2024
    Configuration menu
    Copy the full SHA
    6378d7d View commit details
    Browse the repository at this point in the history
  7. Cleaned up unused core dependencies

    - analytics-node usage was removed a while back
    - juice is used by a different package now
    daniellockyer committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    a146709 View commit details
    Browse the repository at this point in the history
  8. Updated copy for default recipients hint (#20496)

    Fixes
    https://linear.app/tryghost/issue/DES-179/inappropriate-copy-in-default-recipient-settings
    
    The hint for _default recipients_ referenced the wrong setting. It now
    reflects the right one.
    dvdwinden authored Jul 1, 2024
    Configuration menu
    Copy the full SHA
    09f2ccf View commit details
    Browse the repository at this point in the history
  9. Fixed browser tests

    refs 6378d7d
    
    - the buttons have been renamed and split apart into separate ones
    daniellockyer committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    60f37ed View commit details
    Browse the repository at this point in the history
  10. Switched faker to @faker-js/faker

    - `faker` was the original dependency but the maintainer ended up
      deleting the repo, so development continued in `@faker-js/faker`
    - we're already using that dependency, so we can make a few simple
      changes and remove the old dependency from our repo
    daniellockyer committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    fcb95ec View commit details
    Browse the repository at this point in the history
  11. 🔒 Added timestamp to webhook signature hash (#20500)

    refs
    [ENG-1238](https://linear.app/tryghost/issue/ENG-1238/🔒-webhook-signatures-dont-include-timestamp-in-the-signature)
    
    Added timestamp to the webhook signature hash to prevent replay attacks.
    This is
    a breaking change for webhook consumers as signature verification logic
    will need to be updated to account for the timestamp in the hash, for
    example:
    
    ```js
    const crypto = require('crypto');
    
    // Webhook secret from Ghost Admin
    const WEBHOOK_SECRET = 'FOOBARBAZ'
    
    // Sample incoming webhook request object
    const req = {
        headers: {
            'x-ghost-signature': 'sha256=fc9749d5b3333109bd779f65d4b1b891576bc5c92febea3b1d186a7f946d0745, t=1719842984367'
        },
        body: {
            tag: {
                current: {
                    id: '6682b8a8e10cc04306284330',
                    name: 'test',
                    slug: 'test',
                    description: null,
                    feature_image: null,
                    visibility: 'public',
                    og_image: null,
                    og_title: null,
                    og_description: null,
                    twitter_image: null,
                    twitter_title: null,
                    twitter_description: null,
                    meta_title: null,
                    meta_description: null,
                    codeinjection_head: null,
                    codeinjection_foot: null,
                    canonical_url: null,
                    accent_color: null,
                    created_at: '2024-07-01T14:09:44.000Z',
                    updated_at: '2024-07-01T14:09:44.000Z',
                    url: 'http://localhost:2368/404/'
                },
                previous: {}
            }
        }
    };
    
    // Get the request body as a JSON string
    const reqBodyJSON = JSON.stringify(req.body);
    
    // Extract the hash and timestamp from the x-ghost-signature header
    const {sha256: hash, t: timestamp} = req.headers['x-ghost-signature']
        .split(', ')
        .map((x) => x.split('='))
        .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {})
    
    // Recreate the hash using the secret, request body, and timestamp and compare it to the hash from the header
    const isValid = crypto.createHmac('sha256', WEBHOOK_SECRET).update(`${reqBodyJSON}${timestamp}`).digest('hex') === hash
    
    if (isValid) {
        console.log('Valid signature!')
    }
    ```
    mike182uk authored Jul 1, 2024
    Configuration menu
    Copy the full SHA
    c285b0a View commit details
    Browse the repository at this point in the history
  12. Updated integration modals buttons (#20502)

    DES-27
    
    Updated buttons in integrations from [Cancel] and [Save & close] to
    [Close] and [Save] to be consistent with the rest of the Settings UI.
    peterzimon authored Jul 1, 2024
    Configuration menu
    Copy the full SHA
    fca8941 View commit details
    Browse the repository at this point in the history
  13. 🎨 Added 'Changed email address' event to Member Activity (#20493)

    fixes https://linear.app/tryghost/issue/ENG-1256
    
    - when a member changes their email address, surface it in Member
    Activity
    sagzy authored Jul 1, 2024
    Configuration menu
    Copy the full SHA
    7f963e9 View commit details
    Browse the repository at this point in the history
  14. Improved performance in Admin Posts view (#20503)

    ref https://linear.app/tryghost/issue/ONC-111
    - changed posts fetching/display behavior to be client-side instead of server-side
    - admin will issue (potentially multiple) requests based on the desired status(es)
    - updated admin acceptance test for missing coverage
    
    I've pulled the sort from the database query as this triple sort
    performs very poorly at scale (taking ~4s+ past ~20k posts sometimes).
    Instead, we now split up the fetch to grab only one status at a time and
    use the front-end logic to handle displaying scheduled, then drafts,
    then published. This should result in a much more responsive view.
    
    We will separately change the default sort on the Admin API as that was the ultimate intent for this change.
    9larsons authored Jul 1, 2024
    Configuration menu
    Copy the full SHA
    3d9d552 View commit details
    Browse the repository at this point in the history
  15. 🐛 Fixed unwanted extra blank paragraphs when copy/pasting from Google…

    … Docs (#20505)
    
    closes https://linear.app/tryghost/issue/ENG-1255
    
    - updated Koenig packages including:
      - addition of `/preview` for public preview card
      - fix for HTML import from Google Docs
      - fix for embed thumbnails being cut off in email
      - fix for wide image card width on medium screens
    - multiple fixes for unhandled (but non user-visible) errors causing noise in console and error logging
    kevinansfield authored Jul 1, 2024
    Configuration menu
    Copy the full SHA
    2fd9116 View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2024

  1. Configuration menu
    Copy the full SHA
    90033ef View commit details
    Browse the repository at this point in the history
  2. 🐛 Fixed unexpected leave confirmation after Cmd+S on member profile

    fix https://linear.app/tryghost/issue/ENG-779/%F0%9F%90%9B-cmds-does-not-save-member-profile-changes
    
    - previously, pressing Cmd+S on a member profile would save the profile,
      but the dirty attributes weren't being cleaned, so the application
      would trigger the leave confirmation when exiting
    - now, we've fixed the code to keep a dynamic scratch member,
    - long term, we should get rid of the scratch model, but this still
      allows us to fix the bug for now
    daniellockyer committed Jul 2, 2024
    Configuration menu
    Copy the full SHA
    186c6f3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9522ef8 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e6b1f8a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    62aad6f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    04fdd2e View commit details
    Browse the repository at this point in the history
  7. Optimized aggregating member attribution statistics

    - the existing code creates a new moment instance, takes away some days
      and then formats the result
    - this is run for every entry of the member attribution stats, which
      means dashboards for big sites with a lot of attribution data become
      slow
    - this value doesn't change across each iteration of the filter, so we
      can just extract it out and calculate it once
    - this commit removes this code block from the flamegraph completely
    daniellockyer committed Jul 2, 2024
    Configuration menu
    Copy the full SHA
    23075b7 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    18719e2 View commit details
    Browse the repository at this point in the history
  9. 🐛 Fixed incorrect member subscription details in Admin (#20476)

    fixes https://linear.app/tryghost/issue/ENG-642
    
    - When a subscription is in the `canceled` state the corresponding
    Member has no access to the Ghost site. The only time a Member will
    continue to have access if their subscription is due to cancel at the
    period end is if it is still in an active state, which is one of
    `active` `trialing` `unpaid` or `past_due`
    - When a subscription is canceled immediately (i.e. before the end of
    the current billing period), we now render "Ended" without a date,
    because we don't store the cancellation date in the subscription object.
    We previously used "Ended {current_period_end}" which would sometimes
    lead to dates in the future
    - Bonus: refactored code and added unit tests
    
    ---------
    
    Co-authored-by: Sag <[email protected]>
    allouis and sagzy authored Jul 2, 2024
    Configuration menu
    Copy the full SHA
    a4107b8 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    92a84f7 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    3618632 View commit details
    Browse the repository at this point in the history
  12. Revert "Improved performance in Admin Posts view (#20503)" (#20514)

    ref https://linear.app/tryghost/issue/ONC-111
    
    This reverts commit 3d9d552.
    
    This commit broke bulk post actions which we do not have tests for, so
    we will need to address that as well as add tests.
    9larsons authored Jul 2, 2024
    Configuration menu
    Copy the full SHA
    fe31ee3 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    a046ee3 View commit details
    Browse the repository at this point in the history
  14. Added custom redirects ReDoS validation (#20515)

    refs
    [ENG-709](https://linear.app/tryghost/issue/ENG-709/%F0%9F%90%9B-bad-redirects-causing-container-tear-down)
    
    Added validation to prevent RegEx's susceptible to ReDoS from being used
    with custom redirects. Also moved error details out of `context` and
    into `errorDetails` to be consistent with error logging elsewhere as
    well as fix issue in admin-x where blank screen would be shown when an
    error occurred during redirects upload (due to logic not accounting for
    `context` being an object)
    mike182uk authored Jul 2, 2024
    Configuration menu
    Copy the full SHA
    b36c235 View commit details
    Browse the repository at this point in the history
  15. 🐛 Fixed url decoding issue - URLs sent in emails containing a % can n…

    …ow be updated(#20518)
    
    fixes https://linear.app/tryghost/issue/ENG-447/🐛-urls-sent-in-emails-containing-a-percent-can-not-be-updated
    
    URLs were decoded before making a search query to the db. This is the reason the `%2F` character gets converted to  `/`. This decoding is not required.
    vershwal authored Jul 2, 2024
    Configuration menu
    Copy the full SHA
    bec6474 View commit details
    Browse the repository at this point in the history
  16. Update metascraper

    renovate[bot] committed Jul 2, 2024
    Configuration menu
    Copy the full SHA
    31ea0ba View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    7fde766 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    8d33c9d View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    895e371 View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2024

  1. Configuration menu
    Copy the full SHA
    6c6d3b6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    be77080 View commit details
    Browse the repository at this point in the history
  3. 🎨 Added 'Payment failed' subscription cancellation reason (#20527)

    ref https://linear.app/tryghost/issue/ENG-1254
    
    - we currently only store a cancellation reason when a member cancels
    manually in Portal
    - we now also store "Payment failed" when the cancellation is automatic
    due to several payment failures
    sagzy authored Jul 3, 2024
    Configuration menu
    Copy the full SHA
    6e0b009 View commit details
    Browse the repository at this point in the history