Repository navigation
fix(lib): bound the memory cache, follow fetch redirect rules, lint chained test modifiers - #2447
Merged
Merged
Maple Review Bot / Maple / review
succeeded
Nov 10, 2026 in 2m 50s
Confidence 10/10 · No issues found
🟢 Confidence 10/10 · safe to merge. Eviction, redirect and lint fixes are pinned by new tests; only the deliberate one-character truncate duplication (F1) is left open.
1 note · tests covered · risk medium
Bounds the in-memory cache backend, makes non-strict redirects follow the fetch standard, and stops test-slop skipping chained test modifiers, plus a shared-helper cleanup across email, status-page and chat-platform. Safe to merge; only the deliberate one-character truncate duplication (F1) stays open.
makeMemoryBackendsweeps expired entries onputonce the map doubles past 256- Non-strict redirects now turn 301/302 POST and 303 non-GET into a body-less GET
escapeHtmlandtruncatemove to@maple/strings; email keeps its owntruncatetest-slopwalks chained modifiers such asit.effect.each(rows)
Still open from earlier reviews
- 🔵 Note · F1 · Two
truncatehelpers now cut one character apart ·lib/strings/src/index.ts:82
Production impact
Production traffic of the changed files (last 7 days)
| File | Calls/day | Busiest operations |
|---|---|---|
lib/safe-fetch/src/index.ts |
3.1k | POST 1.4k/day, 0.2% errPOST 1.3k/day, 0.1% errGET 310/day, 0.1% err |
lib/oxlint-config/plugins/test-slop.mjs |
18 | test 18/day, 15.4% err |
What was checked
sweepExpireddeletes only entries pastexpiresAt; the new test keeps a live key and boundssize()fetchRedirectRequestis applied after the unchanged cross-origin credential stripping (lib/safe-fetch/src/index.ts:386)- Deleted
escalationStepCount,blockRefs,MAX_STRING_LITERAL_BYTESand the un-exported helpers have no remaining users (grep at head)
b394a3d · Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.
Loading