adonisjs / adonisjs/transmit

ace codegen does not exit when Redis transport is resolved

Open
#45 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
87
Forks
10
PR merge metrics
No merged PRs in 30d

Description

I'm not sure this is the right repository. The hang shows up after importing @adonisjs/transmit/services/main with the Redis transport, but it may belong in adonisjs/core (ace codegen / app lifecycle) instead.

What happens

node ace codegen prints:

[ success ] Codegen files generated

The process never exits (Ctrl+C to stop).

Reproduction

https://github.com/rrmesquita/adonis-transmit-codegen-hang/tree/repro/codegen-hang

git clone https://github.com/rrmesquita/adonis-transmit-codegen-hang.git
cd adonis-transmit-codegen-hang
git checkout repro/codegen-hang
cp .env.example .env   # set APP_KEY
npm i
# Redis on 127.0.0.1:6379
node ace codegen

What this app does

  • config/transmit.ts: Redis transport + pingInterval: '30s'
  • start/routes.ts imports @adonisjs/transmit/services/main and calls registerRoutes()

Control

Comment out that import and registerRoutes(). Codegen still prints success, then exits 0.

Package + config/transmit.ts without importing the service does not hang.

While hung, the process has two established TCP connections to 127.0.0.1:6379.

Environment

OS macOS 26.2 (Darwin 25.2.0, arm64)
Node v24.16.0
npm 12.0.2
@adonisjs/core 7.5.0
@adonisjs/transmit 3.0.1
@adonisjs/assembler 8.5.0
@boringnode/transmit 0.4.0
ioredis 5.11.1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked reproduction, especially config/transmit.ts and start/routes.ts, then run node ace codegen with Redis enabled and with the service import commented out. Compare the process behavior after the success message and inspect the imported @adonisjs/transmit/services/main path and lifecycle involved. Done means codegen exits 0 without Ctrl+C when the Redis transport and route registration are present.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, redis, typescript
Domain
backend, cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.