• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

RobotWebTools / rclnodejs / 22705166217
86%

Build:
DEFAULT BRANCH: develop
Ran 06 Mar 2026 05:17AM UTC
Jobs 1
Files 50
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

05 Mar 2026 06:19AM UTC coverage: 85.858% (+0.4%) from 85.481%
22705166217

push

github

web-flow
Fix: resolve logic bugs, resource leaks, and error handling issues in JavaScript lib/ (#1410)

Comprehensive review and fix of all JavaScript files under `lib/` that implement
the rclnodejs client library. Eight issues were identified and resolved.

### 1. Incorrect `instanceof` operator precedence (`lib/node.js`)

Changed `(!parameter) instanceof Parameter` to `!(parameter instanceof Parameter)`.
The original expression evaluated `!parameter` to a boolean first, which is never
an instance of `Parameter` — the validation was always `false`, silently accepting
invalid objects as parameter overrides.

### 2. Broken chained comparison in `validType()` (`lib/parameter.js`)

Changed `PARAMETER_NOT_SET <= parameterType <= PARAMETER_STRING_ARRAY` to two
separate comparisons joined with `&&`. JavaScript evaluates chained comparisons
as `(a <= b) <= c`, where `(a <= b)` produces a boolean (0 or 1) — the result
was always `true`, allowing any numeric value to pass type validation.

### 3. Missing `else if` in `_validArray()` (`lib/parameter.js`)

Changed three standalone `if` blocks to `else if` in the array element type
resolution. The conditions are mutually exclusive by design; without `else if`,
later branches could overwrite a correctly resolved `arrayElementType`.

### 4. Typo `_loggger` → `_logger` (`lib/lifecycle_publisher.js`)

Fixed triple-g typo in both the property declaration and usage site. The typo
was consistent so it didn't crash at runtime, but any code referencing the
standard `_logger` spelling would get `undefined`.

### 5. Duplicate getter/setter with `for...in` bug and missing unsubscribe (`lib/time_source.js`)

Removed the first duplicate `get/set isRosTimeActive` definition. It contained
two bugs: `for (const clock in ...)` iterated over array indices (strings), not
clock objects, making the property assignment a no-op; and the `else` branch
incorrectly set `this._node._clockSubscription` instead of
`this._clockSubscription`.

Additiona... (continued)

1388 of 1754 branches covered (79.13%)

Branch coverage included in aggregate %.

15 of 17 new or added lines in 7 files covered. (88.24%)

2868 of 3203 relevant lines covered (89.54%)

460.34 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
2
87.23
-3.68% lib/service.js
Jobs
ID Job ID Ran Files Coverage
1 22705166217.1 06 Mar 2026 05:16AM UTC 50
85.86
GitHub Action Run
Source Files on build 22705166217
  • Tree
  • List 50
  • Changed 7
  • Source Changed 7
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #22705166217
  • d709c308 on github
  • Prev Build on develop (#22704446385)
  • Next Build on develop (#22749886344)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc