Skip to content

Improve desktop GUI UX and observation history workflows - #55

Merged
Dumdart merged 8 commits into
masterfrom
enhance-gui-ux
Sep 9, 2026
Merged

Improve desktop GUI UX and observation history workflows#55
Dumdart merged 8 commits into
masterfrom
enhance-gui-ux

Conversation

@Dumdart

@Dumdart Dumdart commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • Refresh the desktop GUI with clearer controls, icons, dialogs, editors, onboarding, and themed layouts.
  • Improve broker connection, observer, publishing, snapshot, health, and diagnostic-profile workflows.
  • Enhance observation-history settings, stored observations, and event-history presentation.
  • Update documentation, screenshots, README guidance, and packaged assets.
  • Add or update GUI, view-model, presentation, and path regression coverage.

Testing

  • Not run (not requested)

- Updated the SubscriptionSettingsPane to rename the filter label to "MQTT subscription" and added a feedback label for user notifications after applying changes.
- Introduced an "Expectations" button in the TopicDetailsPane for better user interaction.
- Enhanced MainViewModel to manage history settings feedback and added methods for setting history recording.
- Modified MainWindow to integrate a new EventHistoryWidget and improved layout with scroll areas for better usability.
- Updated theme styles for tab bars and buttons to improve visual consistency.
- Refined snapshot presentation messages for clarity regarding omitted values.
- Expanded test coverage for event history and subscription feedback functionalities.
@Dumdart
Dumdart marked this pull request as ready for review September 9, 2026 13:29
@Dumdart
Dumdart marked this pull request as draft September 9, 2026 13:41
@Dumdart
Dumdart marked this pull request as ready for review September 9, 2026 13:41

@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: 2eec348dbc

ℹ️ 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 docs/DESKTOP_UX.md

| Audit finding | Before | After |
| --- | --- | --- |
| Ambiguous observer state and hidden navigation | [Observer baseline](images/ux-review/before-observer.jpg) | [Observer](images/ux-review/after-observer.jpg) |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Restore the screenshots referenced by the desktop guide

The new screenshot table and embeds point to images/ux-review/*.jpg, but a repository-wide file search finds none of those files; this commit also deletes the two observation-history PNGs still referenced by docs/OBSERVATION_HISTORY.md. Consequently, every screenshot link in this section renders broken, despite the text claiming the artifacts were preserved and verified. Restore the referenced assets or remove/update the links.

AGENTS.md reference: AGENTS.md:L62-L62

Useful? React with 👍 / 👎.

Comment on lines 310 to +314
def _show_snapshot(self) -> None:
if not self._advanced_mode:
self._inspector_stack.setCurrentWidget(self._health_inspector)
self._context_panel.setHidden(True)
return

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Keep snapshot recovery reachable in simplified mode

When the default simplified mode is active, every attempt to open Snapshot is redirected to Health. The old observer empty-state recovery action was also removed, and the broker pane's connected-state action only disconnects, so after onboarding is completed or dismissed there is no visible way to run Reconnect & observe or inspect/reset active snapshot bounds without first discovering and enabling Advanced mode. This contradicts the simplified-mode fallback promised in docs/DESKTOP_UX.md; retain a compact snapshot/recovery route instead of unconditionally redirecting it.

Useful? React with 👍 / 👎.

Comment on lines +152 to +155
def _recording_loaded(self) -> None:
if self._view_model.history_settings_broker == self.broker.currentData():
self._recording_loading = False
self._recording_pending = 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.

P2 Badge Track recording-status loads independently per broker

When the workspace History view is loading broker A while the non-modal Stored observations dialog requests History settings for broker B, the shared _history_settings_generation makes B's request invalidate A's. The discarded A request emits no completion, while this handler deliberately leaves _recording_loading set when the emitted broker differs, so the workspace remains stuck on “Loading recording status…” until the user retries. Keep request/loading state keyed by broker or explicitly complete the superseded widget request.

AGENTS.md reference: AGENTS.md:L17-L17

Useful? React with 👍 / 👎.

@Dumdart
Dumdart merged commit acc7831 into master Sep 9, 2026
5 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