perf(frontend): keep the changelog out of the eager App chunk (C-3.19)
App.tsx imported CURRENT_VERSION from releaseNotes, which pulled its ~900-line changelog into the eager App chunk and defeated the lazy ReleaseNotes split. App now uses FRONTEND_VERSION (the built VITE_APP_VERSION, equal to RELEASE_NOTES[0].version by release convention) from lib/version, and CURRENT_VERSION is removed. Verified in the built bundle: the changelog text now lives only in the ReleaseNotes lazy chunk.
This commit is contained in:
@@ -35,7 +35,10 @@ import ErrorDialog from "./components/ErrorDialog";
|
||||
import VersionBanner from "./components/VersionBanner";
|
||||
import DemoBanner from "./components/DemoBanner";
|
||||
import { focusAccessRequestsTab } from "./lib/adminUsersTab";
|
||||
import { CURRENT_VERSION } from "./lib/releaseNotes";
|
||||
// The built app version, NOT imported from releaseNotes — importing anything from that module
|
||||
// pulls its whole ~900-line changelog into the eager App chunk and defeats the lazy ReleaseNotes
|
||||
// split. FRONTEND_VERSION equals RELEASE_NOTES[0].version by release convention (both bump together).
|
||||
import { FRONTEND_VERSION } from "./lib/version";
|
||||
|
||||
// The page modules (and their side rails) are code-split per route via the module registry
|
||||
// (components/moduleRegistry). App keeps only the persistent-shell chunks + the channel page and the
|
||||
@@ -389,7 +392,7 @@ export default function App() {
|
||||
banners={
|
||||
<>
|
||||
{meQuery.data!.is_demo && <DemoBanner />}
|
||||
<VersionBanner onOpen={() => openReleaseNotes(CURRENT_VERSION)} />
|
||||
<VersionBanner onOpen={() => openReleaseNotes(FRONTEND_VERSION)} />
|
||||
</>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -923,5 +923,3 @@ export const RELEASE_NOTES: ReleaseEntry[] = [
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
export const CURRENT_VERSION = RELEASE_NOTES[0]?.version ?? "dev";
|
||||
|
||||
Reference in New Issue
Block a user