You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
In-environment marketplace 'Install' dead-ends (proxy is browse-only → 405); needs delegated install or redirect-to-cloud #1548
From inside a tenant ObjectOS runtime, the Setup-app marketplace package page (e.g. https://<env-host>/_console/apps/setup/system/marketplace/<pkg_id>) shows an Install action, but clicking it fails — the user cannot install an app from within their own environment.
Root cause
packages/runtime/src/cloud/marketplace-proxy-plugin.ts deliberately forwards only GET/HEAD to the cloud control plane; any non-GET (the install POST) is rejected:
if (method !== 'GET' && method !== 'HEAD') {
return c.json({ success:false, error:{ code:'marketplace_method_not_allowed',
message: 'Marketplace proxy only forwards GET/HEAD; install via cloud.' }}, 405);
}
Rationale in-code: "those would need credentialled cloud auth which the tenant runtime does not carry." So the in-env marketplace is browse-only; installation must happen on the cloud control plane.
Cloud-side install works (verified: POST /api/v1/actions/sys_environment/install_application → 200, "Installed … into environment"). It's specifically the in-environment install path that dead-ends.
Impact
The Setup-app marketplace surfaces an Install affordance that can never succeed on a tenant runtime — every in-env install attempt 405s. This is the natural place a user tries to install (they're already in the environment), so it reads as broken.
Suggested fix (pick one)
Delegated install (preferred): have the runtime forward the install to cloud using the env→cloud service credential (OS_CLOUD_API_KEY) plus the acting user's identity, so install works in-place. The proxy comment already anticipates this ("future iteration may introduce a delegated install token").
Redirect-to-cloud: make the in-env marketplace Install CTA deep-link to the cloud control-plane install flow (cloud env-detail → Install Application) instead of POSTing to the browse-only proxy — and/or hide the Install button on tenant runtimes so it isn't a dead end.
Either removes the dead-end. framework @ cf03ef2f7 (also current main).
Activity