Skip to content

fix(p0 studio): balanced responsive workbench, physical lightning RUN/STOP, first-click START intent - #276

Closed
masarray wants to merge 13 commits into
feat/p0-center-actionable-toasts-20261021from
fix/p0-studio-responsive-start-first-click-20261021
Closed

masarray wants to merge 13 commits into
feat/p0-center-actionable-toasts-20261021from
fix/p0-studio-responsive-start-first-click-20261021

Conversation

@masarray

@masarray masarray commented Oct 21, 2026 •

Copy link
Copy Markdown
Owner

Operator bench screenshots and UI/transaction failures

At 1240px width, 4I+4V input matrix grows needlessly long while phasor/waveform are squeezed. Operator prefers compact presentation like second reference screenshot, with lightning bolt icon green RUN and muted-red STOP, not current generic Ready/Running pill. First START click is often consumed by still-pending profile initialization, requiring a second user click.

Exact corrections

  • Rebalance first-launch Studio from 1240x760 to 1150x790 and cap 4I+4V matrix to 750px rather than unlimited flex growth; right Phasor/Waveform now have 450/470px preferred chart width, retaining SplitView resizing and minimum widths. Compact toolbar at widths <1220.
  • Operator-provided lightning SVG shape is packaged as green RUN and muted-red STOP assets; RUN/STOP indicator is strictly bound to verified board device.running (not QML visual state or PTP), and retains click-through device diagnostics.
  • START-first-click: when the same already-verified and connected board is still in PREPARING 4I+4V, RECOVERING PROFILE or DEVICE FOUND, latch one temporary 6.5s operator intent. Dispatch only after real startReady with exact unchanged board boot ID, performing fresh visible 4I+4V scenario snapshot and existing firmware CFG/ACK transaction. Cancel on STOP, USB/device unverify, firmware update or timeout; never queue offline, never persist/replay across reconnect; no blind auto START on app launch.
  • UI structural regression enforces balanced layout, lightning physical state and bounded safe START transaction.

CI/Windows build mandatory; hardware bench must confirm actual first click START, corresponding exact GUI/firmware state and continuous SV output, no false RUN. Do NOT merge main or claim physical acceptance from green CI.


2026-10-23 PR hygiene disposition — SUPERSEDED, NO MERGE. Exact branch HEAD b628f2a22ad887d878f84774ce2f2bcbb661fc27 was checked with GitHub compare and is an ancestor of integration #286 at 0e6c860f61a8780d09064369de5d29eb8c1b88c5 (behind_by=0). Closed as a historical stacked checkpoint; its commits remain in the integration lineage and its branch is not deleted. This closure does NOT assert hardware acceptance or authorize merging #286. Divergent branches (especially #284's exclusive AUTO_FAILOVER commits), physical test candidate #285, and feature-unique PRs remain open for separate review.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review 🔄 Running since 2026-10-21T08:04:21.746637Z 4068d4d PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copy link
Copy Markdown
Owner Author

2026-10-21 — UI responsiveness + first-click START bench handoff, exact SHA

PR #276 HEAD: b628f2a22ad887d878f84774ce2f2bcbb661fc27, unmerged, stacked on PR #273/271/270. 5/5 GitHub Actions success on exact head: Studio Qt + QML launch/session harness, Windows Lifecycle, Windows Native Preview + firmware + install/migration, RC2 Acceptance Policy, Naming Guard.

Operator screenshot 1240px: injection matrix unnecessarily stretches while phasor/waveform panels shrink; 960px reference is better proportioned. New default 1150x790 (from 1240x760), compact toolbar cutoff <1220, setpoint panel preferred 600/690 and max width 750, charts preferred 450/470 (min 300/340), SplitView remains resizable. Green RUN / muted red STOP physical status in ribbon uses user-provided bolt path, with dedicated packaged Qt SVG assets; strictly deviceVerified && device.running, not QML simulation/PTP intent.

FIRST START click in same verified board's preparation now latches one intent for <=6.5s while PREPARING 4I+4V, RECOVERING PROFILE, or DEVICE FOUND. Bound to device.bootId, dropped if disconnected/unverified, STOP cancels, timeout explains no physical START, and Qt deferred dispatch rechecks exact boot + readiness. Real requestStartWithScenario and CFG commit/readback/START ACK still only authority; no unsafe replay through restart or app launch. This is a GUI transaction safety improvement, not physical proof one click always starts when profile preparation exceeds the 6.5s bound.

The direct Windows installer EXE extracted from Actions artifact https://github.com/masarray/arstack61850/actions/runs/39566872323/artifacts/12330164944 is 31,036,429 bytes and SHA-256 5bf32bc1262a6723c0ccbfe15781064e93d7c38afc40411e2b47c0e015a92d9f, independently matched SHA256SUMS.txt. Portable archive not delivered; standalone setup.exe only. Matching firmware build prefix b628f2a22ad887d8.

Physical acceptance pending: Install EXE; flash exact embedded firmware via Studio; test default window 960/1150/1240/1920 widths, keyboard/tab navigation, chart panel visibility, icon green physical RUN vs red STOP, first-click START immediately after board first READY and during profile preparation, 20 START/STOP iterations, 1h SV continuity, PTP PCAP/click-to-LOCK. Record negative cases boot/reconnect, STOP while queued, firmware update, pending timer expiry. No merge to main or release until hardware gates pass.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant