Skip to content

Studio P0 UX: direct SMV/PTP operation without unsolicited firmware dialogs - #231

Merged
masarray merged 3 commits into
mainfrom
fix/studio-direct-inject-no-lab-popups-20261017
Oct 17, 2026
Merged

masarray merged 3 commits into
mainfrom
fix/studio-direct-inject-no-lab-popups-20261017

Conversation

@masarray

Copy link
Copy Markdown
Owner

Operator requirement

The tool must feel like a direct SMV and PTP traffic injector for relay testing, not a complex lab-only wizard. Operators should be able to configure signals, enable PTP, and Start/Stop SV; no repetitive lab warnings/automatic modal stacks.

Changes

  • Stop opening firmware install/update modals automatically during discovery/state changes. The ribbon still shows firmware availability; actual install/update dialog opens only when the operator explicitly selects it or presses Start while firmware is genuinely required.
  • When a requested firmware install succeeds, close the progress dialog and show the existing unobtrusive status; reserve result dialog for verification failure, where details actually matter.
  • Simplify PTP Source/Receiver, offline/no-device and SV sync control labels. Keep explicit warning that manual smpSynch values change the transmitted flag, not physical clock synchronization.
  • Add structural regression for no auto-popups, direct Start recovery route and readable PTP wording.

No new confirmation dialog, Start/Stop gate, hardware interlock, PTP status fabrication, forced smpSynch promotion, or change to firmware/protocol. Actual transport identity/compatible firmware checks remain because a mismatched binary cannot be safely commanded; they are not lab-mode restrictions.

CI: Qt / Windows lifecycle / Native Preview must pass, followed by operator screenshot verification. Does not convert M3 firmware experiment to stable production.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 17, 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-17T11:41:39.232059Z daa89fa 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: daa89fa406

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

offlineSettings.previewPtp = wantsRunning
if (tray.controller)
tray.controller.showMessage("Offline PTP plan only — no network packets or clock discipline.", false)
tray.controller.showMessage("PTP preview only. Connect ESP32-P4 to transmit.", false)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Update the offline contract when rewording the message

This replacement removes the exact "no network packets or clock discipline" marker still required by check_operator_workspace.py:105-107. Running that script now exits with Studio workspace contract failed: PTP/smpSynch offline controls must be plans only, not device writes, and the Qt workflow runs it unconditionally at .github/workflows/arstack-studio-qt.yml:173-175, so this commit cannot pass CI unless the existing assertion is updated or the marker is retained.

Useful? React with 👍 / 👎.

@masarray
masarray merged commit ecf42b1 into main Oct 17, 2026
7 checks passed
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