[PR #54] [MERGED] Performance optimizations for /skills page #236

Closed
opened 2026-02-15 17:16:25 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/openclaw/clawhub/pull/54
Author: @jamwt
Created: 1/27/2026
Status: Merged
Merged: 1/27/2026
Merged by: @thewilloftheshadow

Base: mainHead: jamwt/changes


📝 Commits (5)

  • 17be627 Fixes to get build working.
  • a8c59f0 Aggregate in the background to create fewer invalidations.
  • 1bc46fb Stabilize trending timestamp for cache friendliness.
  • 2288c4b Switch to convex-helpers pagination, and update app to page only 25 and fix some useEffect stuff.
  • 58be13b Fix test assumptions to account for new initial page size.

📊 Changes

17 files changed (+1010 additions, -126 deletions)

View changed files

📝 bun.lock (+3 -0)
📝 convex/_generated/api.d.ts (+4 -0)
📝 convex/crons.ts (+7 -0)
convex/devSeedExtra.ts (+541 -0)
📝 convex/downloads.ts (+4 -7)
📝 convex/schema.ts (+25 -0)
📝 convex/search.ts (+1 -1)
convex/skillStatEvents.ts (+280 -0)
📝 convex/skills.ts (+42 -7)
📝 convex/stars.ts (+5 -18)
📝 convex/telemetry.ts (+14 -27)
📝 package.json (+1 -0)
📝 src/__tests__/skills-index.test.tsx (+33 -14)
📝 src/routes/index.tsx (+22 -2)
📝 src/routes/search.tsx (+3 -0)
📝 src/routes/skills/index.tsx (+25 -37)
📝 vite.config.ts (+0 -13)

📄 Description

/skills page is lagging hard. Mostly because every request is ending up being a cache miss right now.

This PR makes a number of changes to optimize /skills:

  • Moves download/stat updates into a 5-minute background job to slow down invalidations
  • Switches to convex-helpers paginator etc instead of the built-in pagination
  • Makes it so the skill list query doesn't depend on date.now()
  • Reduces the initial page load to 25 entires (down from 50)
  • Fixes some useEffect/pagination stuff in the app

this should have a dramatic impact on the server-side load and the overall performance of clawdhub


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/openclaw/clawhub/pull/54 **Author:** [@jamwt](https://github.com/jamwt) **Created:** 1/27/2026 **Status:** ✅ Merged **Merged:** 1/27/2026 **Merged by:** [@thewilloftheshadow](https://github.com/thewilloftheshadow) **Base:** `main` ← **Head:** `jamwt/changes` --- ### 📝 Commits (5) - [`17be627`](https://github.com/openclaw/clawhub/commit/17be62745da8549b6c3c41f9ed82dec044195515) Fixes to get build working. - [`a8c59f0`](https://github.com/openclaw/clawhub/commit/a8c59f0e67aad05e22abe166cc0716b522897fd7) Aggregate in the background to create fewer invalidations. - [`1bc46fb`](https://github.com/openclaw/clawhub/commit/1bc46fb38a4d4a2efd0fecd49c1334b1d4e00234) Stabilize trending timestamp for cache friendliness. - [`2288c4b`](https://github.com/openclaw/clawhub/commit/2288c4b1aacb8d797e9f55cfda9af12beb9adc3e) Switch to convex-helpers pagination, and update app to page only 25 and fix some useEffect stuff. - [`58be13b`](https://github.com/openclaw/clawhub/commit/58be13b57b97d166235545f7246709a4bd7a9cd1) Fix test assumptions to account for new initial page size. ### 📊 Changes **17 files changed** (+1010 additions, -126 deletions) <details> <summary>View changed files</summary> 📝 `bun.lock` (+3 -0) 📝 `convex/_generated/api.d.ts` (+4 -0) 📝 `convex/crons.ts` (+7 -0) ➕ `convex/devSeedExtra.ts` (+541 -0) 📝 `convex/downloads.ts` (+4 -7) 📝 `convex/schema.ts` (+25 -0) 📝 `convex/search.ts` (+1 -1) ➕ `convex/skillStatEvents.ts` (+280 -0) 📝 `convex/skills.ts` (+42 -7) 📝 `convex/stars.ts` (+5 -18) 📝 `convex/telemetry.ts` (+14 -27) 📝 `package.json` (+1 -0) 📝 `src/__tests__/skills-index.test.tsx` (+33 -14) 📝 `src/routes/index.tsx` (+22 -2) 📝 `src/routes/search.tsx` (+3 -0) 📝 `src/routes/skills/index.tsx` (+25 -37) 📝 `vite.config.ts` (+0 -13) </details> ### 📄 Description /skills page is lagging hard. Mostly because every request is ending up being a cache miss right now. This PR makes a number of changes to optimize /skills: * Moves download/stat updates into a 5-minute background job to slow down invalidations * Switches to convex-helpers paginator etc instead of the built-in pagination * Makes it so the skill list query doesn't depend on date.now() * Reduces the initial page load to 25 entires (down from 50) * Fixes some useEffect/pagination stuff in the app this should have a dramatic impact on the server-side load and the overall performance of clawdhub --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-02-15 17:16:25 -05:00
yindo closed this issue 2026-02-15 17:16:25 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: openclaw/clawhub#236