fix(router): use relative URL for service-detail iframe #60

Merged
omarz merged 1 commit from fix-iframe into development 2026-04-26 14:01:03 +00:00
Member

The service detail page embeds the target service's UI in an iframe.
Its src was being built by the JS as BASE_PATH + dataset.uiSrc, but
data-ui-src was an absolute URL (built from host_url), so the
prefix concatenation produced /http://.... axum then split that as
service_name="http:", webname="" and looked up web_.sock
resulting in the "Waiting for http:… / Socket 'web_.sock' not found"
spinner page instead of the embedded UI.

Emit data-ui-src as a relative path ({group}/{webname}/) so the
JS can prepend BASE_PATH uniformly. This also makes the iframe
respect any reverse-proxy prefix.

The "Open in new tab" anchor and badge link still use absolute URLs
because they target _blank and need a full URL.

The service detail page embeds the target service's UI in an iframe. Its src was being built by the JS as `BASE_PATH + dataset.uiSrc`, but `data-ui-src` was an absolute URL (built from `host_url`), so the prefix concatenation produced `/http://...`. axum then split that as `service_name="http:"`, `webname=""` and looked up `web_.sock` — resulting in the "Waiting for http:… / Socket 'web_.sock' not found" spinner page instead of the embedded UI. Emit `data-ui-src` as a relative path (`{group}/{webname}/`) so the JS can prepend BASE_PATH uniformly. This also makes the iframe respect any reverse-proxy prefix. The "Open in new tab" anchor and badge link still use absolute URLs because they target `_blank` and need a full URL.
fix(router): use relative URL for service-detail iframe
All checks were successful
Build & Test / check (push) Successful in 2m24s
Build & Test / check (pull_request) Successful in 1m47s
8dd5fbf195
The service detail page embeds the target service's UI in an iframe.
Its src was being built by the JS as `BASE_PATH + dataset.uiSrc`, but
`data-ui-src` was an absolute URL (built from `host_url`), so the
prefix concatenation produced `/http://...`. axum then split that as
`service_name="http:"`, `webname=""` and looked up `web_.sock` —
resulting in the "Waiting for http:… / Socket 'web_.sock' not found"
spinner page instead of the embedded UI.

Emit `data-ui-src` as a relative path (`{group}/{webname}/`) so the
JS can prepend BASE_PATH uniformly. This also makes the iframe
respect any reverse-proxy prefix.

The "Open in new tab" anchor and badge link still use absolute URLs
because they target `_blank` and need a full URL.
omarz merged commit bec7cd513a into development 2026-04-26 14:01:03 +00:00
omarz deleted branch fix-iframe 2026-04-26 14:01:03 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_router!60
No description provided.