Fix reusable content cross-space page reference resolution #3321
+187 −0
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.
Summary
Background
When reusable content contains links to pages in its parent space, these links were broken when the reusable content was used in a different space/site. This happened because the
pages
array was set to[]
for cross-space reusable content to prevent unwanted cross-site linking.Solution
The fix introduces a
parentSpaceContext
field inGitBookSpaceContext
that preserves information about the parent space (where the reusable content originates). When page resolution fails in the current space, the system now checks the parent space and uses the existingresolveContentRefInSpace
function to generate proper absolute URLs.Changes
parentSpaceContext
fieldTest plan
🤖 Generated with Claude Code