From 21a0c2c1a34a9a48ead996be501d86636235f879 Mon Sep 17 00:00:00 2001 From: Tyler Barnes Date: Wed, 18 Jan 2023 15:20:35 -0800 Subject: [PATCH] fix(gatsby-source-wordpress): fix preview issues (#37492) * add fallback array to prevent errors when cachedNodeIds aren't passed * if there's a token we're previewing - also await non node root fields for previews (cherry picked from commit 48d406914eeb9f6db50ea7975f45c4d3e753396a) --- .../src/steps/source-nodes/index.ts | 17 ++++++----------- .../update-nodes/wp-actions/update.js | 2 +- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/index.ts b/packages/gatsby-source-wordpress/src/steps/source-nodes/index.ts index 2b33cd033fa44..bfa331f4ac110 100644 --- a/packages/gatsby-source-wordpress/src/steps/source-nodes/index.ts +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/index.ts @@ -12,24 +12,19 @@ import { sourcePreviews } from "~/steps/preview" const sourceNodes: Step = async helpers => { const { cache, webhookBody, refetchAll } = helpers + // fetch non-node root fields such as settings. + // For now, we're refetching them on every build + const nonNodeRootFieldsPromise = fetchAndCreateNonNodeRootFields() + // if this is a preview we want to process it and return early - if (webhookBody.preview) { + if (webhookBody.token && webhookBody.userDatabaseId) { await sourcePreviews(helpers) - + await nonNodeRootFieldsPromise return } - // if it's not a preview but we have a token - // we should source any pending previews then continue sourcing - else if (webhookBody.token && webhookBody.userDatabaseId) { - await sourcePreviews(helpers) - } const now = Date.now() - // fetch non-node root fields such as settings. - // For now, we're refetching them on every build - const nonNodeRootFieldsPromise = fetchAndCreateNonNodeRootFields() - const lastCompletedSourceTime = webhookBody.refreshing && webhookBody.since ? webhookBody.since diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/update.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/update.js index 88a4318cafbcd..4f53436feb684 100644 --- a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/update.js +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/update.js @@ -24,7 +24,7 @@ export const fetchAndCreateSingleNode = async ({ singleName, id, actionType, - cachedNodeIds, + cachedNodeIds = [], token = null, isPreview = false, isDraft = false,