Files
n8n-mcp/tests
czlonkowski 14052b346e fix: Address code review findings for memory leak fix (#330)
## Code Review Fixes

1. **Test Assertion Error (line 292)** - CRITICAL
   - Fixed incorrect assertion in sqljs-memory-leak test
   - Changed from `expect(saveCallback).toBeLessThan(10)`
   - To: `expect(saveCallback.mock.calls.length).toBeLessThan(10)`
   -  Test now passes (12/12 tests passing)

2. **Upper Bound Validation**
   - Added maximum value validation for SQLJS_SAVE_INTERVAL_MS
   - Valid range: 100ms - 60000ms (1 minute)
   - Falls back to default 5000ms if out of range
   - Location: database-adapter.ts:255

3. **Railway Dockerfile Optimization**
   - Removed build tools after installing dependencies
   - Reduces image size by ~50-100MB
   - Pattern: install → build native modules → remove tools
   - Location: Dockerfile.railway:38-41

4. **Defensive Programming**
   - Added `closed` flag to prevent double-close issues
   - Early return if already closed
   - Location: database-adapter.ts:236, 283-286

5. **Documentation Improvements**
   - Added comprehensive comments for DEFAULT_SAVE_INTERVAL_MS
   - Documented data loss window trade-off (5 seconds)
   - Explained constructor optimization (no initial save)
   - Clarified scheduleSave() debouncing under load

6. **CHANGELOG Accuracy**
   - Fixed discrepancy about explicit cleanup
   - Updated to reflect automatic cleanup via function scope
   - Removed misleading `data = null` reference

## Verification

-  Build: Success
-  Lint: No errors
-  Critical test: sqljs-memory-leak (12/12 passing)
-  All code review findings addressed

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-18 21:31:01 +02:00
..