Repository navigation
fix(control-center): live QQT lifecycle updates and version accuracy (v0.12.1) - #88
Conversation
…hful workflow state
…andling and revision updates
…project's older manifest
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. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 13bda4b622
ℹ️ 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".
| <p><strong>Auto-Open Setting:</strong> \${cachedStatus.settings.controlCenter.autoOpen ? 'On' : 'Off'}</p> | ||
| </div> | ||
| \`; | ||
| const scale = await apiFetch('/v1/scale-context'); |
There was a problem hiding this comment.
Read health before invoking the recovering status endpoint
When current.json points to a missing or corrupt newest snapshot but an older valid revision exists, refreshStatus() first calls /v1/status, whose getCurrentState() path invokes recoverLatestValidState() and rewrites the pointer. Fetching /v1/scale-context only afterward therefore makes this newly added read-only view silently roll state back and report unverified instead of the intended recovery-required or degraded condition; use a non-mutating status read or obtain the health projection before any recovering getter.
AGENTS.md reference: AGENTS.md:L19-L19
Useful? React with 👍 / 👎.
| refreshing = true; | ||
| try { | ||
| await renderView(); | ||
| document.getElementById('refresh-indicator').textContent = 'Checked ' + new Date().toLocaleTimeString(); |
There was a problem hiding this comment.
Stop announcing every successful polling cycle
While the tab is visible, the five-second timer changes this role="status"/aria-live="polite" element to a new timestamp after every successful refresh, causing screen readers to announce an endless stream of routine heartbeat messages. Reserve the live region for failures or user-triggered refreshes, or keep successful automatic-poll timestamps outside the live region.
AGENTS.md reference: AGENTS.md:L19-L19
Useful? React with 👍 / 👎.
DKF v0.12.1 — Control Center Live State Repair
Root cause
The Control Center SPA only re-rendered on initial load/navigation, retained a hardcoded v0.7.0 badge, and /v1/status reported a hardcoded 0.6.1 frameworkVersion. The v0.12 scale/context projection had no UI. In a nested workspace such as QQT/EC-QQT, the dashboard could show state from the wrong current working directory without identifying it.
Changes
Preservation / security
Verification required before merge/release
npm run release:validateand package consumer smoke on the final exact SHA, both ubuntu-latest and windows-latest.QQT activation boundary
The Windows Control Center running in the user's local EC-QQT workspace cannot be replaced by a remote repository commit. After verified release, stop old Control Center processes, install
development-kit@0.12.1 --projectfrom insideEC-QQT, and restart there. Preserve existing.development-kitstate and back up the old plugin before any local installation.