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
Copy file name to clipboardExpand all lines: apps/server/CHANGELOG.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,13 @@
1
1
# @objectstack/example-host
2
2
3
+
## Unreleased
4
+
5
+
### Patch Changes
6
+
7
+
-**Unified Studio mount path to `/_studio/` for all deployments** (CLI embedded, Vercel, self-host).
8
+
-`vercel.json`: studio SPA now serves under `/_studio/:path*` with a dedicated rewrite to `/_studio/index.html`. Root `/` and bare `/_studio` redirect to `/_studio/`. Asset caching headers scoped to `/_studio/assets/*`. `VITE_BASE=/_studio/` is set in `build.env`.
9
+
-`scripts/build-vercel.sh`: studio dist is copied to `public/_studio/` (previously `public/`), so Vercel serves it under the same sub-path the CLI uses. This resolves the deep-link / sidebar-click routing failures that occurred when the Studio was mounted at the public root.
Copy file name to clipboardExpand all lines: apps/studio/CHANGELOG.md
+14-7Lines changed: 14 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,13 +4,20 @@
4
4
5
5
### Patch Changes
6
6
7
-
- Fix TanStack Router basepath resolution when Studio is mounted under a sub-path
8
-
(e.g. `/_studio/` via the CLI `--ui` flag). Previously, routes such as
9
-
`/_studio/packages` or `/_studio/:package/objects/:name` failed to match —
10
-
the router treated the mount prefix as a `$package` route parameter, producing
11
-
"Not Found" errors. The router now derives `basepath` from Vite's
12
-
`import.meta.env.BASE_URL`, which works transparently for both root and
13
-
sub-path deployments.
7
+
-**Fix duplicate sidebar rendering on `/$package/objects/:name` and `/$package/metadata/:type/:name`.** Both the parent `$package.tsx` layout and its children rendered their own `<AppSidebar>` + `<main>` + `<SiteHeader>` shell. With TanStack Router's flat file routing, children render inside the parent's `<Outlet>` — producing a visible copy of the left sidebar in the right content pane instead of the metadata detail.
8
+
-`$package.tsx` is now a pure layout: `<AppSidebar>` + `<main>` wrapper + `<Outlet>`. No `SiteHeader`.
9
+
- New `$package.index.tsx` leaf handles the exact `/$package` URL, rendering `<SiteHeader selectedView="overview">` + `<DeveloperOverview>`.
10
+
-`$package.objects.$name.tsx` and `$package.metadata.$type.$name.tsx` simplified to render only their `<SiteHeader>` + `<PluginHost>`; shell is inherited from the parent layout.
11
+
-**Unified Studio mount path to `/_studio/` for all deployments.** The Vite
12
+
build default is now `base: '/_studio/'` (was `'./'`), baking the correct
13
+
absolute asset URLs and router basepath into every bundle. This removes the
14
+
previous build-time/runtime ambiguity that required the host server to
15
+
rewrite `href="/..."` URLs or inject a `window.__OBJECTSTACK_STUDIO_BASEPATH__`
16
+
marker.
17
+
-`resolveBasepath()` in `src/router.ts` simplified to rely solely on Vite's
18
+
`import.meta.env.BASE_URL`, which now always yields `/_studio/` for
19
+
production bundles and CLI dev (the CLI dev server sets
0 commit comments