From 491503d4786514b4d97be72faa6f94cce029056a Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Mon, 12 Jan 2026 21:36:54 -0800 Subject: [PATCH 1/4] - --- data/.lfs/index.html.tar.gz | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 data/.lfs/index.html.tar.gz diff --git a/data/.lfs/index.html.tar.gz b/data/.lfs/index.html.tar.gz new file mode 100644 index 0000000000..b70a8cc4b5 --- /dev/null +++ b/data/.lfs/index.html.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fc13ff94f0acbc888a6bac876f6f548231743ff5a5d427739c007a412d94165 +size 491 From 95d2f45ce4b17c5ee4af8c86e005dfa02ff03034 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Mon, 12 Jan 2026 21:42:49 -0800 Subject: [PATCH 2/4] add fully bundled html --- data/.lfs/command_center.html.tar.gz | 3 +++ data/.lfs/index.html.tar.gz | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 data/.lfs/command_center.html.tar.gz delete mode 100644 data/.lfs/index.html.tar.gz diff --git a/data/.lfs/command_center.html.tar.gz b/data/.lfs/command_center.html.tar.gz new file mode 100644 index 0000000000..f3089d7b87 --- /dev/null +++ b/data/.lfs/command_center.html.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2daabec1baf19c95cb50eadef8d3521289044adde03c86909351894cb90c9843 +size 137595 diff --git a/data/.lfs/index.html.tar.gz b/data/.lfs/index.html.tar.gz deleted file mode 100644 index b70a8cc4b5..0000000000 --- a/data/.lfs/index.html.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0fc13ff94f0acbc888a6bac876f6f548231743ff5a5d427739c007a412d94165 -size 491 From d25cd6e421a4aec12dec625079eb667b2a8c6841 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Mon, 12 Jan 2026 21:52:26 -0800 Subject: [PATCH 3/4] we don't need to have assets because the js is merged into the html (one file) --- dimos/web/websocket_vis/websocket_vis_module.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/dimos/web/websocket_vis/websocket_vis_module.py b/dimos/web/websocket_vis/websocket_vis_module.py index 31aa0d3956..02d8bb7a41 100644 --- a/dimos/web/websocket_vis/websocket_vis_module.py +++ b/dimos/web/websocket_vis/websocket_vis_module.py @@ -36,6 +36,8 @@ from starlette.staticfiles import StaticFiles import uvicorn +from dimos.utils.data import get_data + # Path to the frontend HTML templates and command-center build _TEMPLATES_DIR = FilePath(__file__).parent.parent / "templates" _DASHBOARD_HTML = _TEMPLATES_DIR / "rerun_dashboard.html" @@ -218,7 +220,7 @@ async def serve_index(request): # type: ignore[no-untyped-def] async def serve_command_center(request): # type: ignore[no-untyped-def] """Serve the command center 2D visualization (built React app).""" - index_file = _COMMAND_CENTER_DIR / "index.html" + index_file = get_data(_COMMAND_CENTER_DIR / "index.html") if index_file.exists(): return FileResponse(index_file, media_type="text/html") else: @@ -233,15 +235,6 @@ async def serve_command_center(request): # type: ignore[no-untyped-def] Route("/command-center", serve_command_center), ] - # Add static file serving for command-center assets if build exists - if _COMMAND_CENTER_DIR.exists(): - routes.append( - Mount( # type: ignore[arg-type] - "/assets", - app=StaticFiles(directory=_COMMAND_CENTER_DIR / "assets"), - name="assets", - ) - ) starlette_app = Starlette(routes=routes) self.app = socketio.ASGIApp(self.sio, starlette_app) From 242425684124f43f6c308af4b02c7e0783562677 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Mon, 12 Jan 2026 22:03:00 -0800 Subject: [PATCH 4/4] - --- dimos/web/websocket_vis/websocket_vis_module.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dimos/web/websocket_vis/websocket_vis_module.py b/dimos/web/websocket_vis/websocket_vis_module.py index 02d8bb7a41..776c82c68b 100644 --- a/dimos/web/websocket_vis/websocket_vis_module.py +++ b/dimos/web/websocket_vis/websocket_vis_module.py @@ -220,7 +220,7 @@ async def serve_index(request): # type: ignore[no-untyped-def] async def serve_command_center(request): # type: ignore[no-untyped-def] """Serve the command center 2D visualization (built React app).""" - index_file = get_data(_COMMAND_CENTER_DIR / "index.html") + index_file = get_data("command_center.html") if index_file.exists(): return FileResponse(index_file, media_type="text/html") else: