feat(views): switch Content-tab displays to unresolved query with client-side version resolution - #574
Merged
Merged
Conversation
…ent-side version resolution The new get-view-displays-unresolved query head (RAXdRFNL...) drops the server-side repo-wide view-version resolution sub-select (the query's dominant cost, linear in the total view count) and returns the referenced view versions unresolved. Supersedes-head resolution now happens caller-side per view through the existing memoized View.get path, which also covers space-governed pins. The older resolved heads (IRI-keyed query, DownloadRdfPage) keep the pass-through behavior unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
|
🎉 This PR is included in version 5.8.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Wires in the new
get-view-displays-unresolvedquery head (RAXdRFNLE1jB_NTaWrwIC9965SmZdZKB96VFnj1HvjdbY) for the space Content tab. The new head drops the server-side repo-wide view-version resolution sub-select — the query's dominant and fragility-prone cost, linear in the total view count — and returns referenced view versions unresolved, leaving latest-version resolution to the caller.QueryApiAccess: newGET_VIEW_DISPLAYS_UNRESOLVEDconstant documenting the caller-side resolution contract.AbstractResourceWithProfile.viewDisplaysRefQueryRefnow uses the new head;buildViewDisplaysbranches on the query id and stops passing the?viewcolumn through for the unresolved head, soView.get(viewIri, true)resolves each view — its existing memoized path (60s stale-while-revalidate) already implements the contract exactly: space-governed pins resolve space-based, everything else follows the supersedes chain.ViewDisplay.forPresetViewgains aresolveLatestparameter for preset-supplied rows.DownloadRdfPage) keep the pass-through behavior unchanged.Client-side resolution runs against the meta repo, so view-version freshness no longer depends on the
gen:ResourceViewtype repo, which can lag.Deploy note: new Nanodash + old query is fine (just redundant resolution); old Nanodash + a future resolved-head retirement would pin stale versions — retire the old heads only after all instances carry this change.
Test plan
project-outputs-viewpins) collapse correctly through the per-kind latest-wins aggregation.🤖 Generated with Claude Code