Repository navigation
fix(v5.0.0): make connection recovery and Live Gauges freshness explicit - #375
Conversation
ECC Tools / Security EvidenceCommit: Security evidence gate passed (success) No security-sensitive scanner-evidence gap detected. Mode: enforce Scanned 13 changed file(s). No missing scanner-evidence signal was detected. Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission. |
ECC Tools / PR Risk TaxonomyCommit: PR taxonomy review recommended (neutral) Detected 2 PR taxonomy bucket(s): Security Evidence, CI/CD Recommendation. Scanned 13 changed file(s). Roadmap taxonomy buckets: Security EvidenceSecurity-sensitive changes should carry explicit scanner, code-scanning, or focused regression evidence. Signals:
Paths:
CI/CD RecommendationCI, dependency, coverage, and contract signals should be routed into follow-up checks or verification work. Signals:
Paths:
Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission. |
ECC Tools / Reference Set ReadinessCommit: Reference set readiness gaps detected (neutral) Reference evidence present for 0/7 areas (0%) across 13 changed file(s). This check is based on files changed in this PR. Repository-level readiness is still reported by
Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission. |
ECC Tools / Hosted Promotion ReadinessCommit: Hosted promotion readiness passed (success) No hosted promotion evidence gaps detected across 13 changed file(s); 0 corpus scenarios had matching evidence. This check compares PR file changes against the evaluator/RAG promotion corpus in No evaluator corpus scenarios matched this PR. Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission. |
ECC Tools / PR Config AuditCommit: No changed-config issues detected (success) Scanned 1 config file(s) present at this commit across 1 changed config path(s) and found no issues in the supported security rules. Changed config files:
Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
ECC Tools / PR Harness AuditCommit: No harness issues detected (success) Scanned 1 changed config file(s) and found no harness issues. Changed config files:
Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: da7b42c981
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| connectionError, | ||
| connectionKind: $("conn-kind").value, |
There was a problem hiding this comment.
Tie the recovery error to the adapter that failed
After a connection attempt fails, connectionError remains true until the next Connect click, while changing #conn-kind immediately rerenders this guide using the newly selected adapter. For example, an ENET failure followed by selecting K+DCAN is presented as a K+DCAN failure with port/latency advice even though that adapter was never tried. Clear the error on adapter changes or retain the failed connection kind alongside the error.
Useful? React with 👍 / 👎.
Tier C — release and production rollout explicitly authorized by the
owner in chat ("push to production").
Prepare a patch release containing #374 and #375. Synchronize the app
manifests, lockfiles, README release badge, changelog and generated site
version surfaces to 5.0.1; add release notes and rollback instructions.
Fix the release-stamp verifier to check the existing install-center CTA
instead of an obsolete versioned download button.
Validation: JavaScript 1,136 passed / 1 existing skip; Python 275 passed
and 33 subtests passed; version stamp self-verification and GitHub Pages
artifact checks passed; git diff --check passed. Implementation commit
#375 has all GitHub checks passing, including both Rust suites and Rust
security analysis. Local Rust testing remains unavailable because dbus-1
development libraries are missing.
Rollout: after checks, build Windows/Linux installers from this exact
source through the existing Release workflow, verify attached assets
before publication, then deploy GitHub Pages and check the public
download center. No backend or database change is needed. Current live
site is GitHub Pages; the documented API hostname does not resolve, so
this release does not claim to restore hosted API service. Preserve the
previous installers for rollback.
A failed connection currently leaves users with a raw error, while the DID-backed Live Gauges can keep displaying old readings after failures or session/profile changes. This adds adapter-specific retry guidance, a duplicate-request guard, missing-port validation, explicit local disconnect cleanup, and per-channel freshness (immediate on PID error, otherwise five seconds). Late live-read results from previous sessions/profiles are ignored, and live polling no longer overlaps itself.
The actual app-shell browser regression covers failure/retry, duplicate clicks, missing ports, disconnect errors, late responses, stale canvas states and recovery; it now runs in browser CI. Unit tests cover independent channel aging, enum labels and cache/session reset. The display threshold does not change transport timeouts or add automatic reconnect.
Validation: JavaScript 1,136 passed, 1 existing skip; Python 275 passed and 33 subtests passed (backend unchanged); recovery browser regression passed; plugin isolation/lifecycle regression passed; chrome/theme audit passed; desktop and narrow-window recovery screenshots inspected; git diff --check passed. Rust attempted locally but blocked by missing dbus-1 development library; CI must pass before merge.
Tier A frontend, tests and documentation only. No protected Rust paths, ECU writes, release stamps or production changes. This is the first slice of update 2, not completion of the whole cycle: profile gauge grid/logging/explorer freshness and physical cable validation remain in docs/connection-recovery.md and docs/next-updates.md. GitHub Issues is disabled, so the roadmap document tracks remaining work.