Skip to content

feat(notebooks): show kernel UI when revamped-py-notebooks is enabled - #71424

Merged
sinan-ku merged 3 commits into
masterfrom
feat/notebooks-kernel-ui-behind-revamped-flag
Jul 16, 2026
Merged

feat(notebooks): show kernel UI when revamped-py-notebooks is enabled#71424
sinan-ku merged 3 commits into
masterfrom
feat/notebooks-kernel-ui-behind-revamped-flag

Conversation

@sinan-ku

Copy link
Copy Markdown
Contributor

Problem

The kernel UI (kernel info panel toggle in the scene menu bar, the terminal-icon button in the notebook meta bar, and the "Toggle kernel info" items in the SQL run menus) was gated only on the notebook-python feature flag.
Users on the revamped-py-notebooks flag get SQLV2 nodes that execute through the kernel, but had no way to see kernel info without also enabling notebook-python.

Changes

  • Added an isKernelUiEnabled helper in frontend/src/scenes/notebooks/utils.ts that returns true when either notebook-python or revamped-py-notebooks is enabled.
  • Replaced the four direct FEATURE_FLAGS.NOTEBOOK_PYTHON gates with the helper:
    • NotebookSceneMenuBar kernel info toggle
    • NotebookKernelInfoButton in NotebookMeta
    • "Toggle kernel info" menu items in HogqlSqlRunMenu and DuckSqlRunMenu

No backend changes needed since kernel endpoints aren't flag-gated server-side.

How did you test this code?

  • Ran oxfmt and oxlint on the touched files (clean, one pre-existing style warning in NotebookMeta.tsx untouched by this change).
  • typescript:check reports no errors in the touched files (pre-existing failures exist in products/tracing and products/review_hog, unrelated).
  • No new tests: the change is a two-flag OR in existing render gates, covered by the existing MarkdownNotebookV2RendererUI test path.
  • I (Claude) did not manually verify the UI in a running app.

Automatic notifications

  • Publish to changelog?
  • Alert Sales and Marketing teams?

Docs update

Not needed, internal feature-flag gating only.

🤖 Agent context

Autonomy: Human-driven (agent-assisted)

Authored with Claude Code. Sinan asked for the kernel UI to be visible under the revamped-py-notebooks flag as well as notebook-python.
Claude located the four frontend gate sites, factored them into a shared helper instead of duplicating the OR at each site, and confirmed there is no backend gating on notebook-python.

🤖 Generated with Claude Code

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@sinan-ku sinan-ku self-assigned this Jul 16, 2026
@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

🤖 CI report

⚠️ Bundle size — 🔺 +186 B (+0.0%)

Uncompressed size of every built .js bundle, compared against the base branch.

Total: 64.77 MiB · 🔺 +186 B (+0.0%)

No file changed by more than 1000 B.

Posted automatically by build-bundle-size-report · uncompressed bytes from dist-report

Eager graph — within budget

How much code each root ships on the eager path — downloaded and parsed before the surface is interactive. Measured from the esbuild output chunks (post-tree-shake, static imports only); lazy import() / React.lazy chunks are not counted.

Root Eager (shipped) Δ vs base Budget
entry (logged-out pages, app bootstrap)
src/index.tsx
1.22 MiB · 22 files no change ███░░░░░░░ 28.4% of 4.29 MiB
authenticated shell (every logged-in page)
src/scenes/AuthenticatedShell.tsx
8.13 MiB · 2,978 files 🔺 +87 B (+0.0%) █████████░ 87.9% of 9.25 MiB

🟢 node_modules/monaco-editor/ stays out of src/index.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/index.tsx
🟢 [object Object] stays out of src/index.tsx
🟢 [object Object] stays out of src/index.tsx
🟢 node_modules/monaco-editor/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/scenes/AuthenticatedShell.tsx
🟢 [object Object] stays out of src/scenes/AuthenticatedShell.tsx
🟢 [object Object] stays out of src/scenes/AuthenticatedShell.tsx

Largest files eagerly shipped from src/index.tsx
Size File
126.8 KiB ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js
24.6 KiB ../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js
6.3 KiB ../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js
4.5 KiB ../node_modules/.pnpm/@jspm+core@2.1.0/node_modules/@jspm/core/nodelibs/browser/process.js
3.9 KiB ../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js
1.4 KiB ../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js
1.3 KiB src/RootErrorBoundary.tsx
912 B ../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js
789 B src/scenes/ChunkLoadErrorBoundary.tsx
762 B src/index.tsx
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx
Size File
281.3 KiB ../node_modules/.pnpm/posthog-js@1.402.3/node_modules/posthog-js/dist/rrweb.js
267.7 KiB ../node_modules/.pnpm/@posthog+icons@0.38.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js
235.5 KiB src/taxonomy/core-filter-definitions-by-group.json
222.9 KiB ../node_modules/.pnpm/posthog-js@1.402.3/node_modules/posthog-js/dist/module.js
164.0 KiB src/queries/validators.js
154.3 KiB ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js
126.8 KiB ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js
105.8 KiB src/lib/api.ts
93.3 KiB ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js
92.7 KiB ../packages/quill/packages/quill/dist/index.js

Posted automatically by check-eager-graph · sizes are eager output bytes (shipped, post-tree-shake) from the esbuild metafile · part of #32479

Dist folder size — 🔺 +2.8 KiB (+0.0%)

Total size of the built frontend/dist folder (all assets), compared against the base branch.

Total: 1312.69 MiB · 🔺 +2.8 KiB (+0.0%)

Playwright — all passed

All tests passed.

View test results →

@sinan-ku
sinan-ku marked this pull request as ready for review July 16, 2026 08:07
@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

🦔 Hogbox preview · ✅ ready

▶ Open the preview

🔑 Login test@posthog.com / 12345678 (demo data)
🧩 Running this PR's backend and frontend, on the PostHog :master base
🔗 Link stable across rebuilds — a re-push swaps the box underneath, the URL stays
🔒 Access tailnet only (PostHog VPN)
🛠️ Admin inspect & debug state in hogland
💤 Idle sleeps after ~30 min idle (snapshot to S3, zero node cost) and wakes on your next visit in ~30s, behind a brief "waking up" screen

commit e38e744 · box box-6ecd02e7384b · ready in 703s (push → usable) · build log · rebuilds on every push, torn down on close

@greptile-apps

greptile-apps Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Reviews (1): Last reviewed commit: "Merge branch 'master' into feat/notebook..." | Re-trigger Greptile

Comment thread frontend/src/scenes/notebooks/utils.ts
@trunk-io

trunk-io Bot commented Jul 16, 2026

Copy link
Copy Markdown

Static BadgeStatic BadgeStatic BadgeStatic Badge

View Full Report ↗︎Docs

The kernel info panel only renders for markdown (V2) notebook content,
so the toggle controls now also require it instead of appearing as
no-ops on legacy notebooks.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@sinan-ku
sinan-ku requested review from a team and georgemunyoro July 16, 2026 12:57
@sinan-ku
sinan-ku merged commit 20946c5 into master Jul 16, 2026
210 of 211 checks passed
@sinan-ku
sinan-ku deleted the feat/notebooks-kernel-ui-behind-revamped-flag branch July 16, 2026 12:57
@deployment-status-posthog

deployment-status-posthog Bot commented Jul 16, 2026

Copy link
Copy Markdown

Deploy status

Environment Status Deployed At Workflow
dev ✅ Deployed 2026-07-16 13:33 UTC Run
prod-us ✅ Deployed 2026-07-16 13:56 UTC Run
prod-eu ✅ Deployed 2026-07-16 13:58 UTC Run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants