songzhendong commented on PR #141:
URL: 
https://github.com/apache/skywalking-nodejs/pull/141#issuecomment-4898265502

   Thanks for the detailed API-correctness review — especially the grpc-js 
1.14.4 internals analysis and for refuting the trace-requeue / flush false 
positives.
   
   All 13 inline items are addressed in the latest commit.
   
   Fixed in this update
   High
   
   (1) Bootstrap unhandledRejection
   Attach a no-op handler after bootstrapPromise = Promise.reject(err) so 
embedders that never call whenReady() are not terminated by Node 15+ default 
--unhandled-rejections=throw.
   Regression test added in the whenReady test suite.
   Medium
   
   (2) Connectivity watch deadline
   Use watchConnectivityState(..., Infinity, ...) instead of a 24h finite 
deadline.
   
   (3) Shutdown race during TLS preload
   Re-check closed after preloadTlsMaterials() await; call shutdownNow() on the 
built channel if shutdown completed mid-flight.
   
   (4) Windows mTLS key mode check
   Skip POSIX (mode & 0o077) permission check when process.platform === 'win32'.
   
   Low
   
   (5) Strict port validation — require all-digit port strings before parsing.
   (6) Fallback SNI — only when exactly one non-IP hostname exists in config; 
multi-backend relies on per-target SNI. Removed deprecated no-op warn helpers.
   (7) Bare IPv6 literal — reject unbracketed IPv6 in host:port entries.
   (8) Private key loading — PKCS#1 PEM passthrough; removed hand-rolled ASN.1 
re-wrap.
   (9) Trace stream backpressure — race drain against error / close; break when 
client is closed.
   Nits
   
   (10) Runtime sampler — single heap-space statistics call per sample; CPU 
delta from one cpuUsage() read.
   (11) TLS channel builder — collapsed duplicate credential branches.
   (12) Dead code cleanup — removed unused multi-hostname warn helpers.
   (13) Key wipe comment — note that OpenSSL SecureContext copies are not 
erasable from JS.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to