Skip to content

[update] enable nodejs 24 compatibility #147

@twofaktor

Description

@twofaktor

After update nodejs from 22.22.0 to 24.14.0, I got this error when I tried to start public pool using

Mar 03 17:38:46  systemd[1]: Started public-pool.service - Public-Pool.
Mar 03 17:38:50  public-pool[484746]: /var/lib/public-pool/node_modules/@nestjs/schedule/dist/decorators/interval.decorator.js:12
Mar 03 17:38:50  public-pool[484746]:     const [name, intervalTimeout] = (0, util_1.isString)(nameOrTimeout)
Mar 03 17:38:50  public-pool[484746]:                                                         ^
Mar 03 17:38:50  public-pool[484746]: TypeError: (0 , util_1.isString) is not a function
Mar 03 17:38:50  public-pool[484746]:     at Interval (/var/lib/public-pool/node_modules/@nestjs/schedule/dist/decorators/interval.decorator.js:12:57)
Mar 03 17:38:50  public-pool[484746]:     at Object.<anonymous> (/var/lib/public-pool/ORM/client/client.service.js:115:29)
Mar 03 17:38:50  public-pool[484746]:     at Module._compile (node:internal/modules/cjs/loader:1812:14)
Mar 03 17:38:50  public-pool[484746]:     at Object..js (node:internal/modules/cjs/loader:1943:10)
Mar 03 17:38:50  public-pool[484746]:     at Module.load (node:internal/modules/cjs/loader:1533:32)
Mar 03 17:38:50  public-pool[484746]:     at Module._load (node:internal/modules/cjs/loader:1335:12)
Mar 03 17:38:50  public-pool[484746]:     at wrapModuleLoad (node:internal/modules/cjs/loader:255:19)
Mar 03 17:38:50  public-pool[484746]:     at Module.require (node:internal/modules/cjs/loader:1556:12)
Mar 03 17:38:50  public-pool[484746]:     at require (node:internal/modules/helpers:152:16)
Mar 03 17:38:50  public-pool[484746]:     at Object.<anonymous> (/var/lib/public-pool/app.controller.js:22:26)
Mar 03 17:38:50  public-pool[484746]: Node.js v24.14.0
Mar 03 17:38:51  systemd[1]: public-pool.service: Main process exited, code=exited, status=1/FAILURE
Mar 03 17:38:51  systemd[1]: public-pool.service: Failed with result 'exit-code'.
Mar 03 17:38:51  systemd[1]: public-pool.service: Consumed 4.515s CPU time.

When I return to node 22.22.0, it comes back to work and starts without problems:

Mar 03 17:56:59  systemd[1]: Started public-pool.service - Public-Pool.
Mar 03 17:57:05  public-pool[486553]: (node:486553) [DEP0056] DeprecationWarning: The `util.isString` API is deprecated.  Please use `typeof arg === "string"` instead.
Mar 03 17:57:05  public-pool[486553]: (Use `node --trace-deprecation ...` to show where the warning was created)
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [NestFactory] Starting Nest application...
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] TypeOrmModule dependencies initialized +251ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] HttpModule dependencies initialized +2ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] CacheModule dependencies initialized +0ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] ConfigHostModule dependencies initialized +1ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] DiscoveryModule dependencies initialized +0ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] ConfigModule dependencies initialized +1ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] ScheduleModule dependencies initialized +3ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] TypeOrmCoreModule dependencies initialized +165ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] TypeOrmModule dependencies initialized +1ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] TypeOrmModule dependencies initialized +1ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] TypeOrmModule dependencies initialized +0ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] TypeOrmModule dependencies initialized +0ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] TypeOrmModule dependencies initialized +0ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] TypeOrmModule dependencies initialized +0ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] TypeOrmModule dependencies initialized +0ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] ClientStatisticsModule dependencies initialized +1ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] ClientModule dependencies initialized +0ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] AddressSettingsModule dependencies initialized +0ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] TelegramSubscriptionsModule dependencies initialized +1ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] BlocksModule dependencies initialized +0ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] RpcBlocksModule dependencies initialized +0ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] ExternalSharesModule dependencies initialized +0ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [InstanceLoader] AppModule dependencies initialized +9ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [RoutesResolver] AppController {/api}: +121ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [RouterExplorer] Mapped {/api/info, GET} route +10ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [RouterExplorer] Mapped {/api/pool, GET} route +5ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [RouterExplorer] Mapped {/api/network, GET} route +2ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [RouterExplorer] Mapped {/api/info/chart, GET} route +3ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [RoutesResolver] ClientController {/api/client}: +0ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [RouterExplorer] Mapped {/api/client/:address, GET} route +5ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [RouterExplorer] Mapped {/api/client/:address/chart, GET} route +2ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [RouterExplorer] Mapped {/api/client/:address/:workerName, GET} route +2ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [RouterExplorer] Mapped {/api/client/:address/:workerName/:sessionId, GET} route +2ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [RoutesResolver] AddressController {/api/address}: +0ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [RouterExplorer] Mapped {/api/address/settings, PATCH} route +3ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [RoutesResolver] ExternalShareController {/api/share}: +1ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [RouterExplorer] Mapped {/api/share/top-difficulties, GET} route +3ms
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [RouterExplorer] Mapped {/api/share, POST} route +1ms
Mar 03 17:57:05  public-pool[486553]: Using ZMQ
Mar 03 17:57:05  public-pool[486553]: ZMQ Connected
Mar 03 17:57:05  public-pool[486553]: Bitcoin RPC connected
Mar 03 17:57:05  public-pool[486553]: block height change
Mar 03 17:57:05  public-pool[486553]: [Nest] 486553  - 03/03/2026, 17:57:05     LOG [NestApplication] Nest application successfully started +80ms
Mar 03 17:57:05  public-pool[486553]: API listening on http://0.0.0.0:23334
Mar 03 17:57:15  public-pool[486553]: Stratum server is listening on port 23333

I'm not a developer, but I think in Node 24:

  • The internal util module no longer exposes isString as it did before.
  • Several legacy functions were removed or permanently marked as unsupported.

In Node 22 it was still working due to backward compatibility.

Are there some possibilities to make public pool compatible with the latest LTS version of nodejs (24)? Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions