mirror of
https://github.com/webstudio-is/webstudio.git
synced 2026-11-09 05:26:24 +09:00
## Description trpc procedures can be cached if wrapped with ```js const cacheMiddleware = createCacheMiddleware(60 * 3); // 60 * 3 = 3 minutes cache const cachedProcedure = procedure.use(cacheMiddleware); ``` Implementation supports trpc batching. 1. If any of calls inside trpc batch is not cacheable - nothing will be cached. 2. If all trpc batch calls can be cached then the least max age among all calls is selected for caching - [ ] - Test caching on PR ## Steps for reproduction Open marketplace, see trpc request has cache headers, see trpc request has cache HIT from vercel or cloudflare ## Code Review - [ ] hi @kof, I need you to do - conceptual review (architecture, feature-correctness) - detailed review (read every line) - test it on preview ## Before requesting a review - [ ] made a self-review - [ ] added inline comments where things may be not obvious (the "why", not "what") ## Before merging - [ ] tested locally and on preview environment (preview dev login: 5de6) - [ ] updated [test cases](https://github.com/webstudio-is/webstudio/blob/main/apps/builder/docs/test-cases.md) document - [ ] added tests - [ ] if any new env variables are added, added them to `.env.example` and the `builder/env-check.js` if mandatory
trpc-interface
-
trpc-interfacecan implement various TRPC server routers. -
it can act as a proxy for TRPC services implemented in any other apps (those services must have the same API interface).