Skip to content

refactor(loop): leave Pro features' runtime to Pro - #349

Merged
nk-o merged 6 commits into
masterfrom
claude/move-pro-runtime
Sep 27, 2026
Merged

nk-o merged 6 commits into
masterfrom
claude/move-pro-runtime

Conversation

@nk-o

@nk-o nk-o commented Sep 27, 2026

Copy link
Copy Markdown
Collaborator

This plugin carried the runtime of several Pro features that do nothing without Pro. It now keeps only generic extension points, and Pro (nk-crew/visual-portfolio-pro, same branch name) runs the features.

Moved to Pro What this plugin keeps
Per-screen column rules get_screen_queries()
Quick View iframe padding under Twenty Twenty-Two the rest of the theme stylesheet
Infinite scroll pauses (start as Load More, pause every N pages) a cancelable vp-infinite-load event before each automatic load; data-vp-infinite-threshold
Loop prefetch vp-loop-request (an extension answers with a page it holds) and vp-loop-loaded
Loop Search form and live search the block, its teaser and styles, the term handed to the query, and actions.navigateTo( href, { replace, ref } )

All of it is documented in docs/gallery-loop-blocks.md. Without Pro every navigation, Load More and infinite scroll behaves as before. Popup gallery settings stay here on purpose, so users see them in the interface.

A site on Pro 3.8.0 or older that updates only this plugin loses the two loop infinite-trigger pauses and the Twenty Twenty-Two iframe padding. Pro 3.8.1 and later bundle their own copy, which this plugin steps aside for.

Checked: lint, PHPUnit 448 OK, e2e 211 passed; with Pro, the free suite on the Pro build 207 passed.

An infinite trigger dispatches a cancelable vp-infinite-load before
each load it starts by itself. Pro holds loads through it for its
startup and every-page options, so free no longer reads their data
attributes. data-vp-infinite-threshold stays, documented as generic.
A loop sends vp-loop-request before it loads an address, and a
listener may answer with the page through respondWith. It sends
vp-loop-loaded once it shows what it loaded. Pro prefetches through
them, so the vpf_loop_prefetch filter and callbacks.initPrefetch go.
The search block stays registered and renders nothing, and Pro
supplies its render callback through register_block_type_args.
actions.navigateTo lets a script swap the loop for an address of its
own, and vp-loop-request is sent first in a navigation, so that a
search waiting for a pause in the typing can stop on it.
@nk-o
nk-o merged commit 8e13167 into master Sep 27, 2026
7 checks passed
@nk-o
nk-o deleted the claude/move-pro-runtime branch September 27, 2026 16:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant