Conversation
…aywright Cable: a component that unmounts while its connected handler is still refreshing the token performs on the closed consumer afterwards. anycable rejects that with NoConnectionError and never returns the promise, so it surfaced as an unhandled rejection (pageerror), flaking tlm-viewer "displays INST GRAPHS". Make perform/send no-ops once the subscription has been torn down. Coverage fixture: stopJSCoverage returns [] for pages without URL'd scripts or where profiling never started; MCR logs "The added coverage data must be Array(V8) or Object(Istanbul)" for that. Skip empty results. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3987 +/- ##
==========================================
+ Coverage 80.06% 80.11% +0.05%
==========================================
Files 901 901
Lines 68370 68370
Branches 2699 2648 -51
==========================================
+ Hits 54738 54777 +39
+ Misses 12976 12925 -51
- Partials 656 668 +12
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The focused guards correctly address both reported asynchronous failure cases.
Review effort: Balanced
Findings: None
What changed in this PR
No factual issues. This PR prevents late AnyCable operations after teardown and ignores empty JavaScript coverage results.
Changes:
- Make
performandsendno-ops after unsubscription. - Skip empty V8 coverage payloads.
| File | Description |
|---|---|
playwright/tests/fixture.ts |
Skips empty coverage results. |
openc3-cosmos-init/plugins/packages/openc3-js-common/src/services/cable.js |
Prevents operations on closed subscriptions. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.



What changed
Cable: a component that unmounts while its connected handler is still refreshing the token performs on the closed consumer afterwards. anycable rejects that with NoConnectionError and never returns the promise, so it surfaced as an unhandled rejection (pageerror), flaking tlm-viewer "displays INST GRAPHS". Make perform/send no-ops once the subscription has been torn down.
Coverage fixture: stopJSCoverage returns [] for pages without URL'd scripts or where profiling never started; MCR logs "The added coverage data must be Array(V8) or Object(Istanbul)" for that. Skip empty results.
Why it changed
Flaky playwright test
Testing strategy
CI/CD