a0f4c86a74
The WsRedisIoAdapter creates two ioredis clients (pubClient/subClient) for @socket.io/redis-adapter but never closed them, leaking their TCP handles on application shutdown (#255). The redis-adapter does not own these clients' lifecycle, and the adapter is instantiated from main.ts (not a DI provider), so no Nest lifecycle hook applied to it. Keep references to both clients and override dispose(), which Nest's SocketModule.close() invokes exactly once during shutdown after all socket.io servers are closed. Use disconnect(false) to mirror the sibling pub/sub pair in collaboration/extensions/redis-sync (onDestroy): immediate close, no QUIT round-trip, no auto-reconnect. Refs are nulled to guard against double-close. Runtime behavior is unchanged; only the shutdown path is added. Verified with a script that boots connectToRedis() against a real Redis: 2 sockets to :6379 open after connect, 0 remain after dispose(). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
A progressive Node.js framework for building efficient and scalable server-side applications.
Description
Nest framework TypeScript starter repository.
Installation
$ npm install
Running the app
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
Migrations
# This creates a new empty migration file named 'init'
$ npm run migration:create --name=init
# Generates 'init' migration file from existing entities to update the database schema
$ npm run migration:generate --name=init
# Runs all pending migrations to update the database schema
$ npm run migration:run
# Reverts the last executed migration
$ npm run migration:revert
# Reverts all migrations
$ npm run migration:revert
# Shows the list of executed and pending migrations
$ npm run migration:show
## Test
```bash
# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov
Support
Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.
Stay in touch
- Author - Kamil Myśliwiec
- Website - https://nestjs.com
- Twitter - @nestframework
License
Nest is MIT licensed.