Commit graph

307 commits

Author SHA1 Message Date
0ebf137776 Clarify lab UME TLS verify after default flipped to true.
Point .env.example at NETX_UME_VERIFY_TLS=false for self-signed UME and surface the same hint on certificate verify login failures.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 15:11:21 +08:00
20c2fcd496 Harden auth with revocable sessions, cookies, and single-login default.
Issue short-lived access JWTs backed by AuthSession rows, HttpOnly cookies with refresh rotation, idle timeout, session management UI, WebCRT ownership caps, and optional Redis login rate limits; new logins revoke other sessions by default.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 14:13:37 +08:00
ba33ab5c4f Fix WebCRT copy/paste on HTTP LAN by falling back off Clipboard API.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 11:02:10 +08:00
4ea3b737f2 Close only this WebCRT window's sessions on leave; require manual reconnect.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 10:20:08 +08:00
938cd39c06 Show netx database used size on the workbench storage gauge.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 09:36:17 +08:00
155cb4e921 Defer manual canvas edges to Save and restore center-anchor connect.
Keep connect/delete/move as dirty local edits until Save, use straight edges again, and drop Visio side handles so lines attach at the NE center like discovered links.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 23:48:27 +08:00
b4f0e468cb Make neighbor projection save-deferred and Visio-style connect.
Project-neighbors supports dry_run for local dirty canvas; Save flushes adds. Connect mode uses drag-from side anchors with smoothstep elbows instead of click-click.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 23:11:13 +08:00
a746a84d01 Fix placeholder toggle to hide only the TOPO/LLDP badge.
Keep placeholder NEs on the canvas; Display menu controls the corner badge only (off by default).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 22:55:58 +08:00
73cd2704eb Hide TOPO/LLDP placeholder NEs on the canvas by default.
Add a Display toggle to show placeholders; hide their incident edges and skip them in canvas find while hidden.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 22:52:10 +08:00
6e2c8517cf Defer canvas edge deletes to Save and cascade orphan Fabric on NE detach.
Queue fabric edge deletes until Save with undo-safe pending state; hard-delete topology/LLDP placeholders from the canvas; purge fully orphaned fabric nodes after inventory detach, with a periodic reconcile GC.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 22:43:03 +08:00
2aafb72676 Fix topology truncate false positives and reduce graph/discover load.
Batch ManagedNE lookups, correct project-neighbors truncation/frozen signals, page discover polls, and delete both nodes and edges when multi-selected.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 21:48:08 +08:00
03ef9eb39a Project discover neighbors from scanned seeds only.
Accept optional seed ids on project-neighbors; canvas discover passes scanned fabric nodes and places new peers near them.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 21:34:20 +08:00
7cd89aaae9 Localize LLDP and topology classify English leftovers.
Translate job status/trigger/scope, item result, edge labels, and classify role/source option text in zh/en.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 21:28:17 +08:00
617d4245b0 Harden topology canvas edge delete, discover cancel, and map UX.
Persist Fabric edge deletes, stop LLDP jobs from the canvas, surface truncation/placeholders/stale edges, and fix LLDP job deep-links.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 21:23:00 +08:00
5e567408e7 Darken the topology canvas LLDP discover progress panel.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 19:32:19 +08:00
84a4fc037a Open LLDP job detail when jumping from canvas discover.
Pass job_id in the LLDP page URL so the network module auto-opens the task detail modal.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 19:27:52 +08:00
fa8e3abcc7 Move LLDP collect policy auto-placeholder help into a title hint.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 19:21:44 +08:00
51f061032a Default discover auto-placeholder and canvas neighbor project on.
Sync the canvas auto-add toggle with the shared LLDP collect policy so topology collect and canvas discover stay consistent.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 19:09:09 +08:00
af91c09d80 Rename topology placeholder action label to New NE.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 17:43:45 +08:00
241093343e Add topology-canvas placeholder NE create (source=topology).
Toolbar and pane context menu create placeholders that follow the same setup path as LLDP in NE management and WebCRT.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 17:42:51 +08:00
71c5193ecd Open WebCRT New Session setup for LLDP placeholders.
Claim the existing placeholder in place and promote source to webcrt instead of prompting for password-only auth.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 17:20:26 +08:00
5821d08d63 Fit topology canvas after the pane has a real size.
Avoid the corner-only first paint on slow layouts by deferring fitView until the container is ready and re-fitting on resize.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 16:47:08 +08:00
6642f4b8b5 Add collect dashboard KPIs and create-job modal.
Align collection tasks with LLDP/config-sync chrome, and refresh active-task overview when jobs change.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 14:08:13 +08:00
0100fb8430 Show collect job run details in the shared ops modal.
Replace the inline expand row with the same detail dialog used by LLDP and config sync.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 11:34:22 +08:00
19e06e4a2d Darken WebCRT session tabs and action bar after login.
Match the right-side chrome (tab strip and toolbar) to the dark ops shell instead of the leftover light panels.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 10:14:52 +08:00
a54c642bd9 Shorten the UME AI alarm monitor card title.
Drop the OClaw WhatsApp parenthetical from the workbench-facing label.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 10:09:51 +08:00
b7a179d492 Unify ops detail dialogs and rename workbench monitoring section.
LLDP job detail, config-sync cycle tasks, and UME fold panels now use the shared modal layout; workbench section label is 系统对接.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 10:04:19 +08:00
5a77e36839 Show network config content in a dark modal dialog.
Move the inline config viewer into the shared modal chrome so viewing stays consistent with other network management dialogs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 09:50:39 +08:00
54747d9afb Fix UME alarm WSS startup NameError for SessionLocal.
Import SessionLocal in ume_alarm_ws_subscription so load_persisted_subscription works at process boot.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 09:41:36 +08:00
00926196f0 Widen the topology Display panel into a two-column card.
Lay out toggles and color pickers side by side with a viewport-capped height so the menu no longer runs off-screen.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 09:36:14 +08:00
a412ca7cbc Preserve NE icon white textures when applying vendor tint colors.
Layer the original PNG under a color blend tint so luminosity highlights stay visible while brand hues remain editable.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 09:34:29 +08:00
65afe8f29f Add topology display pickers for label, edge-number, and vendor icon colors.
Persist choices in localStorage, apply via canvas CSS variables, and tint router icons with mask fills so each vendor color is editable.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 09:29:02 +08:00
4a0918ab44 Hide white React Flow edge-label backgrounds on the topology canvas.
Disable labelShowBg for straight edges and suppress the default SVG textbg so link numbers render as text only.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 09:21:55 +08:00
83acb5eef1 Move integration health into active tasks and fix dark topology labels.
Drop header netx-api/oclaw pills, restore UME/OClaw runtime rows in ops tasks, and raise node/edge label contrast on the dark canvas.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 09:16:52 +08:00
4dd121b42f Darken topology classify section dividers to match the ops shell.
Replace the light section border and help-control colors so the bottom slice block no longer shows a white hairline.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 00:33:59 +08:00
8a856fa2ac Darken collect-task and network monitoring chrome leftovers.
Unify chips, filters, previews, toasts, and related task-page controls with the dark ops shell.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 00:31:52 +08:00
2a650ca09b Switch topology canvas and left chrome to a dark theme.
Align the default canvas background, region list, and canvas name styles with the dark ops shell, and migrate the old light canvas default.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 00:16:20 +08:00
2de8786f85 Finish replacing CDN font stacks with local system fonts.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 23:57:52 +08:00
cc3f1b3a92 Remove Google Fonts CDN to restore fast module tab loads.
Workbench styling pulled fonts.googleapis.com which often stalls ~5s on blocked networks; switch to local system font stacks.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 23:57:31 +08:00
3e7bfdb8e9 Unify dark UI surfaces and add adjustable topology canvas background.
Lazy-load module routes, restyle remaining light cards/modals/sidebars, and let canvas background be tuned from the display menu.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 23:56:18 +08:00
254c50a2c0 Add dark workbench dashboard with host CPU/memory gauges.
Sample Windows CPU via Processor Utility so values match Task Manager, and expose host metrics on /v1/metrics/json for the workbench poll.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 23:20:29 +08:00
8ded8eeb7d Add LLDP pause/resume/stop with restart recovery, and localize ops task titles.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 22:23:44 +08:00
ba038a3af6 Refresh Fabric KPIs live while an LLDP collect job is running.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 21:56:01 +08:00
2cbdc896f6 Skip LLDP placeholder NEs from discovery until credentials are filled.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 20:11:43 +08:00
90bd323115 Include UME inventory NEs in LLDP all-inventory discovery.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 20:06:21 +08:00
a5d88f8a24 Fix NE connect detail crash and dark pre text contrast. 2026-08-04 19:31:27 +08:00
af29977878 Stop auto-creating maps on new regions; keep aggregate edges single-width by default. 2026-08-04 19:09:32 +08:00
4abb037dce Add createTopologyFolder MCP tool for topology regions. 2026-08-04 17:30:56 +08:00
8991bb31d1 Skip LLDP self-loop edges instead of failing the whole discover apply.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 15:44:46 +08:00
925726002f Allow editing management IP when updating an existing NE.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 15:35:15 +08:00