| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(kvstore): sliding window rate limiter (NAN-6609) (#7116) Adds a generic approximate sliding-window rate limiter with partial admission, weighted retry timing, Redis atomicity, and an in-memory fallback. Redis failures are logged and fail open. Idle Redis keys expire. The limiter stores only the current and previous fixed-window counts. It estimates rolling usage by weighting the previous count by the fraction of the current window that remains. This keeps memory and Lua work constant while smoothing the fixed-window boundary. This approximation fits webhook dispatch because Standard SQS buffers fanout, consumers process bounded batches, and NAN-6404 will back off rejected work. The generic limit remains the actual enforcement threshold. NAN-6404 should initially pass 80 to 85 percent of the desired ceiling and tune it with production metrics. Reference: https://blog.cloudflare.com/counting-things-a-lot-of-different-things/#sliding-windows-to-the-rescue NAN-6404 is the first consumer. Test plan: - [x] Run kvstore unit tests - [x] Run kvstore Redis integration tests - [x] Run the full TypeScript build - [x] Run lint and formatting checks | 26 天前 | |
fix: vulns (#7050) ## Summary - Upgrade vulnerable dependencies (`qs`, `body-parser`, `fast-xml-parser`, `protobufjs`, `ua-parser-js`, `@hono/node-server`, `@modelcontextprotocol/sdk`, `react-router-dom`, `node-cron`, `testcontainers`) - Adapt `timeoutLogsOperations` for `node-cron` v4 (`runOnInit` removed; call `task.execute()` on startup) - Refresh `package-lock.json` to match <!-- This is an auto-generated description by cubic. --> <a href="https://cubic.dev/pr/NangoHQ/nango/pull/7050?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="Review in cubic" src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a> <!-- End of auto-generated description by cubic. --> | 1 个月前 | |
feat(pkgs): create kvstore (#2235) ## Describe your changes Fixes NAN-1071 - Create a reusable package for KVStore Duplicated for now, can't remove it entirely from `shared` because FeatureFlags and Locking, but it's a first step. I stopped exporting it so it's no longer used by external package and I'll do a second pass to remove it entirely. Note: I did that because logs can't depend on shared - Use it in Jobs - Use it in Logs As discussed orally, the main id is to be able to retrieve the indexName quickly without doing a full search on the cluster. Maybe it's the fix maybe not. | 2 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 26 天前 | ||
| 1 个月前 | ||
| 2 年前 |