Remove Phoenix & Notebooks - Phase 5: Remove Phoenix and the notebook…#2530
Draft
jawelton74 wants to merge 3 commits into
Draft
Remove Phoenix & Notebooks - Phase 5: Remove Phoenix and the notebook…#2530jawelton74 wants to merge 3 commits into
jawelton74 wants to merge 3 commits into
Conversation
… container/allocation core Deletes the Phoenix client, notebook container/allocation core, and the legacy ResourceTreeAdapter; rewires the surviving non-notebook Synapse Link state into a new minimal useSynapseLink store; removes dead Phoenix container command-bar UI; and simplifies database-shell gating to enableCloudShell. Database shells (Mongo/Cassandra/Postgres/VCoreMongo) continue to run on CloudShell. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Playwright tests ✅ passed
📁 Report: |
…o users/jawelton/removenotebooks-phase5-062926
Playwright tests ✅ passed
📁 Report: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Preview this branch
Remove Phoenix & Notebooks - Phase 5: Remove Phoenix and the notebook container/allocation core
Summary
This is Phase 5 of the multi-phase effort to retire the Notebooks feature and its
backing Phoenix compute-container service (tracked in
docs/remove-notebooks-plan.md).It removes the Phoenix client and the notebook container/allocation core, while keeping the
database shells (Mongo / Cassandra / Postgres / VCoreMongo) fully functional on the
CloudShell path.
Phases 1–4 are already merged; this PR continues from
b7caca1c(Phase 4). The Juno client,the
cosmosNotebooksARM client, notebook constants/contracts, telemetry actions, and localestrings are intentionally left for Phase 6 (boundary held — touched only where compilation
required it).
What changed
Deleted
src/Phoenix/PhoenixClient.ts(the wholesrc/Phoenix/directory)src/Explorer/Notebook/core:NotebookContainerClient.ts,NotebookManager.tsx,useNotebook.ts,NotebookContentItem.ts,NotebookUtil.ts(+NotebookUtil.test.ts)— the whole
src/Explorer/Notebook/directory is now gonesrc/Utils/NotebookConfigurationUtils.ts,src/hooks/useNotebookSnapshotStore.tssrc/Explorer/Tree/ResourceTreeAdapter.tsx(+ test + snapshot) — it was entirelynotebook-only/dead once the "My Notebooks" tree was removed
ConnectionStatusComponent.tsx,MemoryTrackerComponent.tsx(+ their.less)Added
src/Explorer/useSynapseLink.ts— a minimal Zustand store holding the only survivingnon-notebook state that previously lived in
useNotebook:isSynapseLinkUpdating(used by the Synapse Link enable flow and the command bar).
Changed (decoupled survivors)
Explorer.tsx— removedphoenixClient,notebookManager,_isInitializingNotebooks,initNotebooks,initiateAndRefreshNotebookList,refreshNotebookList,allocateContainer,setNotebookInfo, container heartbeat/connection logic, notebook-server URL feature overrides,the
getDownloadModalContentgallery helper, and theresourceTreefield/instantiation.Synapse Link enable now uses
useSynapseLink. The shell entry points (openNotebookTerminal/connectToNotebookTerminal) are retained on CloudShell.CommandBarComponentAdapterno longer reads Phoenix state or renders theconnection-status button;
CommandBarUtildropscreateConnectionStatus/createMemoryTracker;Main.tsxdrops the two removed.lessimports.isShellEnabled || enableCloudShellcollapses toenableCloudShellinCommandBarComponentButtonFactory,ContextMenuButtonFactory, andSplashScreen(isShellEnabledderived from the always-falseisPhoenixFeatures).isNotebookEnabledpass-throughparam from
ResourceTree.tsxandtreeNodeUtil.tsx; removed the staleuseNotebookimportin
Collection.ts.useSelectedNode.isConnectedToContainer(no consumers),useTabs.closeAllNotebookTabs(only caller was the deleteduseNotebook), and the PhoenixMPAC/flight feature-flag wiring in
useKnockoutExplorer.ts.tsconfig.strict.json— removedNotebookContentItem.tsanduseNotebookSnapshotStore.ts;added the new
useSynapseLink.ts.SettingsComponent,AddGlobalSecondaryIndexPanel,treeNodeUtil) — diffs only drop notebook fields from the serializedExplorer.Why
enableCloudShellis safe to gate onuserContext.features.enableCloudShellis hardcodedtrueinsrc/Platform/Hosted/extractFeatures.ts, and Phase 1 already migrated all shells to theCloudShell path. The legacy
isShellEnabled/isNotebookEnabledflags derived fromisPhoenixFeatures, which has been permanentlyfalsesincea36467f4, so the removedbranches were already dead.
Scope / non-goals (deferred to Phase 6)
src/Juno/,src/Utils/arm/generatedClients/cosmosNotebooks/,Constants.Notebook, notebookfields in
DataModels/ViewModels/ActionContracts, notebook/Phoenix telemetry actions,EndpointUtils.allowedNotebookServerUrls, the notebookuserContext.features.*flagdefinitions, and locale strings are not removed here.
Testing / verification
Full sweep green:
npm run compile✓npm run compile:strict✓npm run lint✓ (0 errors; only pre-existing warnings)npm run format:check✓npm test✓ (1894 passing, 189 suites, 188 snapshots)npm run build:ci✓ (webpack, 367 assets, 7563 modules)Manual smoke test: the Mongo, Cassandra, Postgres, and VCoreMongo shells still open.
Stats
38 files changed, +90 / −2821.
Related
docs/remove-notebooks-plan.md(Phase 5 section marked completed with deviations)d19c7e0c(Phase 1),8e90672f(Phase 2),b7caca1c(Phase 4)