[pull] main from TryGhost:main - #1525
Merged
Merged
Conversation
no ref This change should have no user impact.
Keep the services catalogue focused on owned application capabilities by moving shared magic-link support into `server/lib/magic-link`. Magic-link token creation, validation and URL generation are shared by members, newsletters, settings and welcome emails. They deserve a dedicated library rather than a home under services or mail delivery. This moves the implementation and unit tests and updates imports; the implementation is unchanged.
no ref This wires up Sentry to the same rough shape of logging and attribution that we used in the Ember implementation.
…icked (#30996) no ref Adjusted the save logic such that when no tier is selected (and tier access is chosen in the sidebar), a banner shows and saves are blocked to prevent malformed data.
no ref A new table's shape usually changes several times before its feature ships. Today every change needs its own versioned migration and schema hash bump, so tables pick up a trail of migrations that only existed to reshape them during development. Tables listed in schema/in-development.ts are defined only in schema.js until they are final. knex-migrator init creates them only where the new createInDevelopmentTables config is enabled (development and testing), boot creates them in an existing dev database if missing, and `pnpm migrate:rebuild-in-development-tables` drops and recreates them to pick up definition changes. They're left out of the integrity hash, and finalised tables may not reference them. Once final, the table is removed from the list and gets its versioned migration as usual.
no ref Attempt to tighten up a flaky test. Closing Publish during its settings refresh left focus on the document body because the refresh disabled the Publish button ([example failure](https://github.com/TryGhost/Ghost/actions/runs/36449029590/job/109019899264)). Keeping validated cached settings usable during the refresh allows focus to return.
no ref Moves the View site (`/site`) and migration (`/migrate/*`) screens to React and deletes the Ember versions. Both screens just host an iframe, so they ship without a flag. This contains some small stylistic updates (consistency fixes) to the migrate iframe.
no ref Tidied up test output so that passing tests don't leave 1ks of lines.
…31047) no ref The Stripe subscription methods in the member repository dereferenced the result of `findOne` without checking it, so an unknown member id or email produced a 500 instead of a 404. They now throw NotFoundError, matching the rest of the repository. In Portal, a `data-members-plan="monthly|yearly"` button on a site with no available paid tier threw before the click handler was re-attached, leaving the button dead with no error shown. The request now goes through without a tier, so the server's 400 is surfaced and the button recovers.
no ref This is a test-only cleanup.
towards https://linear.app/ghost/issue/NY-1617 This is a test-only change. I think this useful on its own, but it'll also make an upcoming change easier.
no refs [I recommend reviewing this with whitespace hidden.](https://github.com/TryGhost/Ghost/pull/30831/changes?w=1) This PR is code formatting only; there should be no user-facing changes. I generated this PR by running `tb fmt` on the `api_kpis.pipe` and committed the result unmodified. Formatting these files will make it easier to read the diff for future changes.
no ref Welcome email rows render before the automated emails list loads, but the edit handler ignores clicks until it does, so early clicks were silently dropped. This also flaked the welcome-email acceptance specs on slow CI. The row's edit triggers are now disabled until the list has loaded.
ref https://ghost.slack.com/archives/C072AHLF4AE/p1790617814811729 Preserves filters and sort order when returning from either editor to the React Posts or Pages list. Browser Back also preserves them. Clicking the main Posts sidebar link opens a fresh, unfiltered list, matching Members; saved-view links retain their filters.
ref https://ghost.slack.com/archives/C072AHLF4AE/p1790617814811729 Preserves post selection while bulk-action modals are open, including dropdown interactions and Escape dismissal, so consecutive actions can reuse the same selected posts.
no ref Split Admin acceptance tests across two CI shards to shorten the run, with separate failure artifacts and documented local commands.
no refs _Note: this is a development only change, and should have no user impact._ ## Problem Running `pnpm dev:analytics` does not currently watch and rebuild the Tinybird files in local development. If you're working on changes to the Tinybird files, you have to explicitly deploy them, or run `tb dev` in a separate docker compose service in a separate terminal window. It's also cumbersome to run the Tinybird tests, or any other arbitrary `tb` cli commands against the tinybird-local service. ## Solution - Add a new `tb-watch` service `pnpm dev:analytics` that watches and re-deploys Tinybird files locally upon changes. - Update the `pnpm tb` script to run arbitrary `tb` CLI commands against the running tinybird-local service. - Add a `pnpm tb:test` script to make running the tinybird tests much easier. - Remove all references to running Tinybird with Ghost locally, bypassing the docker compose setup, now that `pnpm dev:analytics` is quite stable. This was mostly a documentation & package.json script change to reduce confusion.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )