perf: add response cache and lower concurrency in GitLabClient
What does this MR do and why?
perf: add response cache and lower concurrency in GitLabClient
- Cache all GET responses for 5 min in the client (shared across all users on the same instance) — eliminates duplicate calls for the same project/file when 200 users are active.
- Reduce semaphore from 25 → 5 concurrent requests to stay under the GitLab rate limit on code.swecha.org.
- Clear cache entry on rate-limit errors to avoid serving stale state.
Co-Authored-By: Claude Sonnet 4.6 [email protected]
References
Screenshots or screen recordings
| Before | After |
|---|---|
How to set up and validate locally
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.