Skip to content

feat: clarify topic-tree hierarchy and icon colors - #163

Merged
bluegrassiot merged 4 commits into
release/v1.0.10from
feature/issue-154-topic-tree-icons
Oct 17, 2026
Merged

bluegrassiot merged 4 commits into
release/v1.0.10from
feature/issue-154-topic-tree-icons

Conversation

@bluegrassiot

Copy link
Copy Markdown
Owner

Summary

  • Flatten the synthetic Sparkplug Devices wrapper so device rows sit directly under the node beside the node message types, ordered node types first and then devices by a stable sort.
  • Color message types by owner: violet Router for node and gateway, amber for device. The old purple-for-all-types rule is gone.
  • Keep the ordinary tree on green topic circles with no direct-message dots, orange namespace and arrows, rose groups, and blue folders with open and closed states.
  • Add the icon language module and icon key, and update the related projections, rendering and tests.
  • A separate chore commit records the worktree location guidance in AGENTS.

Validation

  • Full solution build: 0 warnings, 0 errors.
  • UI tests: 1843 passed, 1 skipped, 1844 total.
  • Core tests: 1795 passed, 1 skipped, 1796 total.
  • Formatting, comments, file length and blocking-await gates pass.
  • Browser checks in headed mode passed, including 136 fresh and 187 flat selection checks.

Closes #154
Closes #155
Closes #156

Flatten the Sparkplug Devices wrapper into direct device siblings and color message types by owner: violet Router for node and gateway, amber for device. Keep green topic circles with no direct-message dots, and preserve open and closed folder states. Includes projection, rendering, icon language and test updates.
@bluegrassiot
bluegrassiot changed the base branch from main to release/v1.0.10 October 17, 2026 13:27
@greptile-apps

greptile-apps Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge; the previous test issue is addressed and no new blocking issues were found.

Summary

The PR places Sparkplug devices directly beneath their node and gives message types their owner's color.

  • Sparkplug devices sit directly under their node.
  • Topic icons show structure and Sparkplug ownership.
  • The Topics browser can show a key for its icons and counts.
  • Repository guidance now keeps new worktrees in the main repository.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    Namespace["Sparkplug namespace"] --> Group["Group"]
    Group --> Node["Node · violet"]
    Node --> NodeType["Node message type · violet"]
    Node --> Device["Device · amber"]
    Device --> DeviceType["Device message type · amber"]
    NodeType --> NodeTopic["Real MQTT topic"]
    DeviceType --> DeviceTopic["Real MQTT topic"]
Loading

Reviews (3) · Last reviewed commit: "test: await app receipt before device ex..." · Reviewed by Greptile

Comment thread src/MqttProbe.UI/Components/Browser/TopicBrowser.razor Outdated
@greptile-apps

This comment has been minimized.

@bluegrassiot

Copy link
Copy Markdown
Owner Author

Fixed both Greptile findings in 387f430. The outside-diff Sparkplug smoke tests and README now use direct device rows rather than the removed Devices wrapper, assert the flattened placement, and preserve device selection isolation and node membership checks. All 6 tests passed with --filter TestCategory=SparkplugGrouping (headless). The inline icon-key ID finding is fixed with per-instance stable IDs and two regression tests; I replied on and resolved its thread. Full solution build, unfiltered Core (1,795 passed, 1 skipped) and UI (1,845 passed, 1 skipped), formatting and repository gates passed.

@bluegrassiot
bluegrassiot merged commit 29e3331 into release/v1.0.10 Oct 17, 2026
15 checks passed
@bluegrassiot
bluegrassiot deleted the feature/issue-154-topic-tree-icons branch October 17, 2026 16:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant