Skip to content

Commit b980681

Browse files
authored
Merge branch 'master' into feature/37761-domain-tag-owner
2 parents 186a880 + e9771b3 commit b980681

File tree

106 files changed

+19559
-362
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

106 files changed

+19559
-362
lines changed

.github/workflows/check-frontend.yml

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,32 @@ jobs:
5555
if-no-files-found: ignore
5656
retention-days: 1
5757

58+
build_instrumented:
59+
name: Build Instrumented (for E2E coverage)
60+
runs-on: ubuntu-latest
61+
steps:
62+
- name: 👓 Checkout repository
63+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
64+
65+
- name: 🏗️ Setup node environment
66+
uses: ./.github/actions/setup_node
67+
with:
68+
working-directory: ./hivemq-edge-frontend/
69+
70+
- name: 🏗️ Build Application with Coverage
71+
run: pnpm run build --base=/
72+
env:
73+
VITE_COVERAGE: true
74+
75+
- name: Upload artifact
76+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
77+
with:
78+
name: application-instrumented
79+
path: ./hivemq-edge-frontend/dist
80+
retention-days: 1
81+
5882
build_production:
59-
name: Build Production
83+
name: Build Production (clean)
6084
runs-on: ubuntu-latest
6185
steps:
6286
- name: 👓 Checkout repository
@@ -73,7 +97,7 @@ jobs:
7397
- name: Upload artifact
7498
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
7599
with:
76-
name: application
100+
name: application-clean
77101
path: ./hivemq-edge-frontend/dist
78102
retention-days: 1
79103

@@ -88,7 +112,7 @@ jobs:
88112
- name: Download artifact
89113
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
90114
with:
91-
name: application
115+
name: application-clean
92116
path: ./hivemq-edge-frontend/dist
93117

94118
- name: 🚥 Run Lighthouse audits
@@ -115,7 +139,7 @@ jobs:
115139
cypress_matrix:
116140
runs-on: ubuntu-latest
117141
continue-on-error: true
118-
needs: [ build_production, percy_prepare ]
142+
needs: [ build_instrumented, percy_prepare ]
119143
env:
120144
LOCAL_NONCE: ${{ needs.percy_prepare.outputs.LOCAL_NONCE }}
121145
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}
@@ -144,7 +168,7 @@ jobs:
144168
- name: Download artifact
145169
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
146170
with:
147-
name: application
171+
name: application-instrumented
148172
path: ./hivemq-edge-frontend/dist
149173

150174
- name: 🧪 Run Cypress suite
@@ -171,6 +195,7 @@ jobs:
171195
retention-days: 1
172196

173197
- name: 💾 Upload Cypress Code Coverage
198+
if: success() || failure()
174199
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
175200
with:
176201
name: lcov-cypress-${{ matrix.cypress.target }}
@@ -208,6 +233,7 @@ jobs:
208233
-Dsonar.verbose=false
209234
env:
210235
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
236+
SONAR_HOST_URL: https://sonarcloud.io
211237
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
212238

213239
percy_finalise:

.github/workflows/check.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ name: CI Check
22

33
on:
44
push:
5+
branches:
6+
- main
7+
- master
8+
pull_request:
59
workflow_dispatch:
610

711
env:
@@ -57,9 +61,11 @@ jobs:
5761
- 'hivemq-edge-openapi/**'
5862
- '.github/**'
5963
60-
- name: Debug openapi-changed output
64+
- name: Debug changed output
6165
run: |
62-
echo "openapi-changed: ${{ steps.frontend.outputs.changed }}"
66+
echo "frontend-changed: ${{ steps.frontend.outputs.changed }}"
67+
echo "backend-changed: ${{ steps.backend.outputs.changed }}"
68+
echo "openapi-changed: ${{ steps.openapi.outputs.changed }}"
6369
6470
6571
check-openapi:

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
apache-commons-compress = "1.28.0"
33
apache-commons-io = "2.20.0"
44
apache-commons-lang = "3.19.0"
5-
apache-plc4x = "0.11.0"
5+
apache-plc4x = "0.13.1"
66
assertj = "3.27.6"
77
awaitility = "4.3.0"
88
bouncycastle = "1.80"
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
## Group Wizard: Organize Your MQTT Infrastructure Visually
2+
3+
HiveMQ Edge now includes an interactive **Group Wizard** that transforms how you organize large MQTT topologies. Instead of managing dozens of individual adapters and bridges in a flat workspace, create visual containers that reflect your real-world infrastructure—production lines, geographic locations, or any organizational structure that makes sense for your operations.
4+
5+
### What It Is
6+
7+
The Group Wizard guides you through creating visual node containers directly on the workspace canvas. Select nodes by clicking them, see a real-time preview of your group boundary, and complete the workflow in seconds.
8+
9+
The wizard provides:
10+
11+
- **Interactive Canvas Selection** - Click nodes directly to add them to the group
12+
- **Ghost Preview** - Semi-transparent boundary shows exactly what you're creating before committing
13+
- **Constraint Validation** - Live feedback ensures you've selected enough nodes (minimum 2)
14+
- **Nested Hierarchies** - Create groups within groups up to 3 levels deep for complex organizations
15+
- **Mixed Node Types** - Group adapters, bridges, and other groups in any combination
16+
17+
### How It Works
18+
19+
1. **Open the wizard** - Click "Create New" in the workspace toolbar and select "GROUP"
20+
2. **Select your nodes** - Click adapters or bridges on the canvas (minimum 2 required)
21+
3. **Watch the ghost preview** - A dashed-border container appears, updating as you select nodes
22+
4. **Configure the group** - Enter a name like "Production Sensors" and optionally choose a color
23+
5. **Submit** - Watch the ghost transform into a real group with a smooth animation
24+
25+
The selection panel tracks your progress, showing "2 nodes selected (min: 2)" and enabling the Next button once constraints are met. Ghost groups update instantly as you add or remove nodes.
26+
27+
![Group wizard showing interactive node selection with ghost preview](./screenshots/PR-ghost-nodes-multiple.png)
28+
_The Group Wizard in action: Two adapters selected with ghost preview (dashed border) showing the future group container. Selection panel provides live validation feedback._
29+
30+
### How It Helps
31+
32+
#### Navigate Large Topologies Faster
33+
34+
Find components instantly by collapsing irrelevant groups. In a workspace with 50 adapters, collapse "Production Line A" and "Testing Environment" to focus only on "Production Line B"—no more scanning through unrelated nodes.
35+
36+
#### Reflect Real-World Structure
37+
38+
Map your digital topology to physical infrastructure. Create groups for "San Jose Data Center," "Building A Floor 3," or "Production Line 2" so your workspace mirrors your actual facility layout—making it intuitive for new team members.
39+
40+
#### Simplify Operations Workflows
41+
42+
Separate production from staging environments visually. Operators can immediately distinguish critical live systems from test deployments, reducing the risk of accidentally modifying production configurations.
43+
44+
#### Scale Without Chaos
45+
46+
Start with 5 adapters today, grow to 100 tomorrow. Groups keep workspaces organized as infrastructure expands—preventing the "everything is everywhere" problem that makes large topologies unmanageable.
47+
48+
### Looking Ahead
49+
50+
The Group Wizard available today represents our **initial implementation**, focused on core grouping workflows. **We're actively collecting feedback from users managing diverse MQTT topologies** to understand which organizational patterns matter most. Future enhancements will include group templates, bulk selection tools, and advanced nesting visualizations based on real-world usage patterns. Try the wizard with your infrastructure and share what organizational structures would help you most—your feedback directly shapes our roadmap.
51+
52+
---
53+
54+
## Getting Started
55+
56+
Try the Group Wizard today in your HiveMQ Edge 2024.11 workspace. Start with a small group (2-3 adapters) to experience the workflow, then expand your organizational structure as needed.
57+
58+
**Learn More:**
59+
60+
- Product Documentation: Complete group workflows and API reference
61+
- Community Forums: Share organizational patterns and ask questions at [community.hivemq.com](https://community.hivemq.com)
62+
- HiveMQ Edge Docs: [docs.hivemq.com/hivemq-edge](https://docs.hivemq.com/hivemq-edge)
63+
64+
---
65+
66+
_Feature available in HiveMQ Edge 2024.11 and later._

0 commit comments

Comments
 (0)