Skip to content

fix(studio): legible native PTP/smpSynch selectors and honest simulation feedback - #193

Merged
masarray merged 2 commits into
mainfrom
fix/studio-dark-combos-simulation-feedback-20261016
Oct 16, 2026
Merged

masarray merged 2 commits into
mainfrom
fix/studio-dark-combos-simulation-feedback-20261016

Conversation

@masarray

Copy link
Copy Markdown
Owner

Why this follows already-merged PR #192

The user specifically reported dark Windows native controls showing unreadable black text and asked for convenient lab PTP / SV simulation. PR #192 implemented the core workflow, but its SV smpSynch ComboBox retained Windows native content/popup delegates. Depending on platform style, its dark panel still could show black text. Additionally the selection handler ignored a rejected requestSmpSynch return value, falsely leaving the new selection apparently active.

Changes (real source code, not a UI mockup)

  • Add one shared StudioDarkComboBox.qml (QML-only presentation component) with explicit high-contrast selected text, indicator, focus border, options, popup and disabled state.
  • Reuse in both PTP Source/Follower/Monitor mode and AUTO/0/1/2 simulation selection. This removes duplicated ad hoc styling; no extra PTP owner/copy of state/serial path.
  • For rejected sim commands, revert the display to device-confirmed smpSynchMode and show an actionable error. Copy diagnostics remains next to the controls.
  • Enlarge simulation guide text to 11px with a truthful note that the on-wire flag is independent of actual clock synchronization.
  • Register QML component in canonical Qt6 QML_FILES list, so Qt/Windows preview CI compile actual asset into the one native .exe.

Invariants

PTP state machine/firmware timing/SV sampling and packet hot paths untouched. This is a lab simulation tool; preserve explicit on-wire flag choices and never claim PTP–SV lock from the operator override. Stable v0.1.1 and Draft M3 PR #166 remain untouched.

Validation gates

Await native Qt QML compilation, Windows lifecycle, full Inno installer preview, and other required checks before merge. Physical Windows appearance and board retest outstanding.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 16, 2026 •

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 ✅ Completed 2026-10-16T09:22:44.967301Z d8e86c9 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.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d8e86c998c

ℹ️ 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".

Comment thread apps/arstack_studio/qml/PtpExpertPanel.qml Outdated
@masarray
masarray merged commit 0a16d4d into main Oct 16, 2026
9 checks passed

Copy link
Copy Markdown
Owner Author

2026-10-16 merged implementation & Windows lab handoff

Merged: PR #193 to main 0a16d4d1d46486f4de0e8113e1cb6d13eae8d14b. The merge tree 31ced199635351709223e6e804eb75f0d29a4dc6 is identical to CI-tested head 40a4263ab278dd7fd74fc0e1df0515cdd8ca0cac. All 9/9 exact-head GitHub checks PASS: native Inno Windows Preview, ESP32-P4 firmware, Qt smoke, Windows lifecycle, ownership integration, launcher parse, RC2 Windows/Linux policy and naming.

Functional correction over merged PR #192: shared Qt Quick StudioDarkComboBox.qml styled with high-contrast selected text / popup rows / focus border / disabled text; used for PTP Source/Follower/Monitor and SV AUTO/0/1/2 lab simulation; messages explain that simulation flags are independent of actual hardware clock sync; reject handling restores Qt.binding so device-confirmed state continues to follow telemetry/reconnects. No second PTP worker, serial owner, timer, parser or hardware protocol alteration; review feedback resolved.

One real user artifact: Native Preview Actions run https://github.com/masarray/arstack61850/actions/runs/38880181755, artifact arstack-studio-native-preview-win-x64-193-40a4263ab278dd7fd74fc0e1df0515cdd8ca0cac (GitHub artifact ID 12037497216, expires 2026-10-23 UTC). Windows acceptance included Inno clean install, running-app upgrade, clean uninstall and public NSIS v0.1.1-to-Inno migration. All source paths under native Qt Studio, public v0.1.1 stable unchanged; experimental PTP M3 PR #166 still open Draft.

Physical acceptance remaining: installer app/desktop icon appearance, dark dropdown popup on real user's Windows theme, right-click angle Equal/Balance and value Equal ABC (from merged PR #192), PTP Source/Follower lab behavior, AUTO vs forced smpSynch confirmation and Copy diagnostics. Observed PTP TX is not proof of SMP counter hardware epoch alignment or IEC 61850-9-3 qualification.

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