TryGhost
OSS
Ghost
Moved the virtual-list infinite-scroll primitive into admin-x-framework - The virtual-table scroll hooks were posts-only, but comments, members and future analytics lists all need the same infinite-scroll + windowing behaviour; framework is the shared home since it already owns the react-query and router coupling these hooks depend on - Generalized the API: windowSize is now a useVirtualListWindow option (was a hardcoded 1000), the scroll-element resolver is injectable on both scroll hooks (was hardwired to shade), and the react-query infinite-query input is documented as the InfiniteQueryResultLike interface - Exposed the primitive via a dedicated @tryghost/admin-x-framework/virtual-list subpath plus the root barrel, matching framework's existing export conventions - Kept LoadMoreButton with the hooks (not shade): it is the paired affordance for the window's canLoadMore/loadMore and its copy is specific to this pattern, not a general-purpose design-system atom - Rewired the posts tag/comment/member lists to the framework import and dropped posts' now-unused @tanstack/react-virtual dependency - Ported the list-window tests and added coverage for the infinite-scroll fetch trigger and custom window sizing
nx run @tryghost/admin-x-settings:test:acceptance
Sign in / Sign up
Open main menu
Succeeded
CI Pipeline Execution
nx run @tryghost/admin-x-settings:test:acceptance
Click to copy
Linux
4 CPU cores
c6a5779e
29187
Get faster results
Learn how to enable distribution.
Atomizer enabled
12 groups of tasks optimized.