Skip to content

feat(Add dashboard integrations topology view): + Bug fixes and implementations with the current DreamServer structure.#1139

Open
gabsprogrammer wants to merge 3 commits intoLight-Heart-Labs:mainfrom
gabsprogrammer:gabs/dashboard-integrations-topology
Open

feat(Add dashboard integrations topology view): + Bug fixes and implementations with the current DreamServer structure.#1139
gabsprogrammer wants to merge 3 commits intoLight-Heart-Labs:mainfrom
gabsprogrammer:gabs/dashboard-integrations-topology

Conversation

@gabsprogrammer
Copy link
Copy Markdown
Contributor

image

@gabsprogrammer gabsprogrammer changed the title Add dashboard integrations topology view + Bug fixes and implementations with the current DreamServer structure. feat(Add dashboard integrations topology view):+ Bug fixes and implementations with the current DreamServer structure. May 8, 2026
@gabsprogrammer gabsprogrammer changed the title feat(Add dashboard integrations topology view):+ Bug fixes and implementations with the current DreamServer structure. feat(Add dashboard integrations topology view): + Bug fixes and implementations with the current DreamServer structure. May 8, 2026
Copy link
Copy Markdown
Collaborator

@Lightheartdevs Lightheartdevs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the topology view. The build and existing dashboard tests pass locally, but I found one blocking integration issue.

ServiceMap builds every node from service.id and the known edges/categories are keyed by service id (llama-server, open-webui, dashboard-api, etc.). The page fetches /api/status, but that endpoint currently serializes services as { name, status, port, uptime } and does not include id. In the actual dashboard payload, all of these new nodes therefore get id === undefined: classification falls through to other, React keys collide, nodeById only has the undefined key, and the known edges never render.

Fix options:

  • add id to the /api/status service payloads, including fallback serialization, and keep this page keyed by ids; or
  • have the page fetch/join against an endpoint that already exposes service ids.

Please also add a focused frontend test for buildTopology or the page using a representative /api/status payload, so this does not regress silently. I verified npm test and npm run build pass, so this is a runtime contract issue rather than a compile issue.

@gabsprogrammer
Copy link
Copy Markdown
Contributor Author

Thanks for the topology view. The build and existing dashboard tests pass locally, but I found one blocking integration issue.

ServiceMap builds every node from service.id and the known edges/categories are keyed by service id (llama-server, open-webui, dashboard-api, etc.). The page fetches /api/status, but that endpoint currently serializes services as { name, status, port, uptime } and does not include id. In the actual dashboard payload, all of these new nodes therefore get id === undefined: classification falls through to other, React keys collide, nodeById only has the undefined key, and the known edges never render.

Fix options:

  • add id to the /api/status service payloads, including fallback serialization, and keep this page keyed by ids; or
  • have the page fetch/join against an endpoint that already exposes service ids.

Please also add a focused frontend test for buildTopology or the page using a representative /api/status payload, so this does not regress silently. I verified npm test and npm run build pass, so this is a runtime contract issue rather than a compile issue.

Done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants