Changelog#

The format is based on Keep a Changelog.

[1.0.1] - 2026-05-05#

Added#

  • OMPE-90254: New setting /exts/omni.kit.widget.connection_manager/discovery_timeout_s (default 30 s) bounds the wait inside the Add Omniverse Storage dialog so an unreachable HTTPS endpoint cannot tie up the Kit event loop until the OS TCP SYN timeout fires (~10 minutes).

Fixed#

  • OMPE-90886 / NVBug 6104357: Old-style omniverse.toml files with [bookmarks] but no [servers] or [[discovery_servers]] now migrate bookmark roots into [servers] on startup, and root bookmarks are removed so they appear only in the server list.

  • OMPE-90035: Remove discovery server from the content browser when the user clicks Cancel in the Add Server dialog, so failed or cancelled adds no longer leave ghost entries in the sidebar.

  • OMPE-90253 / OMPE-90254 / OMPE-77119: _do_add is wrapped in try/finally with a succeeded flag so the half-registered discovery entry is rolled back on every non-success path (timeout, exception, cancellation, connection failure), not just the explicit failure branch. The rollback also re-reads the registry state before removing (in case discovery completed between our asyncio.wait_for timeout firing and the finally block running), and swallows — but logs — any exception from remove_discovery_server so a rollback failure cannot mask the original error being propagated.

  • OMPE-90262: AddServerDialog.show_error now defers _show_alert by one ui frame so the “Connecting…” progress and the orange error banner never overlap; the deferred task is tracked on the dialog and cancelled by hide()/destroy() so it can never touch a torn-down dialog. destroy() also now nulls _alert_pane_container/_progress_container/button refs so the deferred task’s “is the dialog still alive” guard actually works, and the deferred coroutine itself fails closed (returns) on a next_update_async exception rather than racing to render onto a possibly-dead frame.

Changed#

  • The “[ConnectionManager] A dialog is already active, ignoring request.” message is now log_info rather than log_warn — it fires on legitimate user double-clicks during normal operation.

[1.0.0] - 2026-03-11#

Added#

  • OMPE-77119: Initial release of omni.kit.widget.connection_manager.

  • Unified server connection management for Nucleus, storage discovery, and HTTP servers.

  • ConnectionManager with ensure_connection(), add/remove discovery and manual servers.

  • AddServerDialog with smart UX: keeps dialog open during connection, shows status, re-enables on failure.

  • Always-on auth callback for browser sign-in and token-expiry re-auth.

  • TOML-backed persistence for bookmarks, discovery_servers, and manual_servers via omniverse.toml (toml_store.py).

  • Events for server add/remove/rename/update.