Skip to content

perf: restore SSR plugin catalog loading#3062

Merged
vyctorbrzezowski merged 1 commit into
openclaw:mainfrom
vyctorbrzezowski:brzezowski/plugins-ssr-loader-2925
Jul 13, 2026
Merged

perf: restore SSR plugin catalog loading#3062
vyctorbrzezowski merged 1 commit into
openclaw:mainfrom
vyctorbrzezowski:brzezowski/plugins-ssr-loader-2925

Conversation

@vyctorbrzezowski

@vyctorbrzezowski vyctorbrzezowski commented Jul 12, 2026

Copy link
Copy Markdown
Member

Summary

  • restore the proposed /plugins/ catalog request to the real TanStack route loader after Show unfiltered browse totals #2586 moved it behind hydration
  • key loader invalidation to request-affecting search state, while keeping view changes and search-only client sorting out of the cache key
  • forward navigation cancellation and cap catalog loading at five seconds so a stalled backend cannot block SSR indefinitely
  • keep this public browse surface explicitly anonymous so request-scoped private package visibility is never serialized into HTML or mixed into pagination
  • anchor load-more state to the active loader result, abort stale pagination, and skip the redundant public-count subscription when loader data already has the total

This closes the confirmed /plugins/ loader item from #2925. The broader SSR auth, skill README, and Markdown rendering work remain explicitly out of scope.

Validation

  • bunx vitest run src/__tests__/packages-route.test.tsx src/lib/packageApi.test.ts (100 passed)
  • red/green regressions: effective search loader deps and stale pagination both fail against the previous implementation and pass in this PR
  • bun run ci:static
  • bun run ci:unit (4,605 passed, 1 skipped; coverage 85.59% statements / 75.35% branches / 86.79% functions / 88.51% lines)
  • bun run ci:types-build
  • git diff --check
  • real browser proof at http://localhost:3000/plugins with the seeded local public corpus: SSR HTML contained all 3 fixture plugins; warm local TTFB was 0.28s; Chromium observed 0 catalog requests after hydration, 1 request for a category navigation, and 0 requests for a list/grid-only navigation

@vercel

vercel Bot commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

@vyctorbrzezowski is attempting to deploy a commit to the OpenClaw Foundation Team on Vercel.

A member of the Team first needs to authorize it.

@vyctorbrzezowski vyctorbrzezowski force-pushed the brzezowski/plugins-ssr-loader-2925 branch from 6e62941 to 58e7de0 Compare July 12, 2026 22:13
@vyctorbrzezowski vyctorbrzezowski changed the title perf: load plugin catalog during SSR perf: restore SSR plugin catalog loading Jul 12, 2026
@vyctorbrzezowski vyctorbrzezowski marked this pull request as ready for review July 13, 2026 14:30
@vyctorbrzezowski vyctorbrzezowski requested a review from a team as a code owner July 13, 2026 14:30
@vyctorbrzezowski

Copy link
Copy Markdown
Member Author

@clawsweeper review

@clawsweeper

clawsweeper Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

@vyctorbrzezowski vyctorbrzezowski merged commit 154bbdf into openclaw:main Jul 13, 2026
41 of 44 checks passed
@vyctorbrzezowski

Copy link
Copy Markdown
Member Author

ClawHub UI Proof

Status: passed
Mode: feature
Scenario: Rendered plugin catalog reference; SSR request measurements remain in the PR body
Provider: real Chromium against public ClawHub
Baseline: not run for feature proof.
Candidate: merged PR #3062 visual reference

Public plugin catalog rendered with live catalog data

Public plugin catalog rendered with live catalog data

Raw proof files: https://github.com/openclaw/clawhub/tree/qa-artifacts/clawhub-ui-proof/pr-3062/ssr-plugin-catalog-reference

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