Some hops only accept stelnet in system-view; make it a saved yes/no setting (default off) instead of auto-retry, and always ALTER the new column on API boot when Alembic skips legacy DDL.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use the stacked form-grid layout instead of the nowrap policy-field flex row so the long label/hint no longer pushes the textarea aside.
Co-authored-by: Cursor <cursoragent@cursor.com>
Topology MCP adds pull/compact/bundle/suggest-hubs with a no-template skill path; API gains fabric level and NE collection policy; web list pages get paging and denser collect/network workflows.
Co-authored-by: Cursor <cursoragent@cursor.com>
Mirror config-sync retry_failed so operators can re-collect hard failures and empty/stub LLDP results without re-running the full scope.
Co-authored-by: Cursor <cursoragent@cursor.com>
Flatten nested toolbar boxes, add a resizable sidebar and selective off-map NE add, and make fullscreen floats/minimap follow canvas background.
Co-authored-by: Cursor <cursoragent@cursor.com>
Pass view kind into membership so metro maps are not capped at core=80, add region-scoped neighbor projection, and align UI/tests with one physical canvas per region.
Co-authored-by: Cursor <cursoragent@cursor.com>
Defer topology xyflow and WebCRT xterm until needed, calm idle polling, bake login earth brightness, and let AI alert rules scroll as one natural panel.
Co-authored-by: Cursor <cursoragent@cursor.com>
Resolve ports from EQ+PTP first, enrich from LLDP when compatible, miss only on valid LLDP evidence, and paint UME solid blue / LLDP dashed / missing red. Also localize new root maps as Root map in English.
Co-authored-by: Cursor <cursoragent@cursor.com>
Coerce non-dict filter JSON so /tree no longer 500s, surface API failure details, and let users remove the UME World container for local resets.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep the hidden system root built-in; speed tree bootstrap, unblock new-root UI, and soften query/Suspense refetch jank.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep visited regions when panning, prefetch detail on search locate with a gold flashing target highlight, and shrink default NE icons so dense UME layouts stay readable.
Co-authored-by: Cursor <cursoragent@cursor.com>
World coords sit far outside the default viewport, so opening the flat map looked blank; also lower minZoom and stride-sample so the overview is visible without a truncate banner.
Co-authored-by: Cursor <cursoragent@cursor.com>
Top-level folders are nav-only with a unique system root map; UI drops custom/extra L2 creates. Batched dock-to-Fabric apply avoids PG lock OOM so World NEs can render, with subtree region counts restored.
Co-authored-by: Cursor <cursoragent@cursor.com>
Seed a unique L2 World canvas under the UME World container, show the flat map only when nested regions have NEs, pack blocks without overlap, allow drag overrides on the world map while forbidding direct NE adds, and hide the world-map truncation banner.
Co-authored-by: Cursor <cursoragent@cursor.com>
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>
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>
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>
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>
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>