The GitHub Actions job "Required Checks" on 
texera.git/gh-readonly-queue/main/pr-6945-8c7089b3fa247087c40817ca55c917505313c9f3
 has failed.
Run started by GitHub user mengw15 (triggered by mengw15).

Head commit for run:
61923c5e4f5699ea2c3a3681c072603bc2da6bbc / Ryan Zhang 
<[email protected]>
feat(python-notebook-migration): make embedded jupyter notebook read-only 
(#6945)

### What changes were proposed in this PR?

The notebook migration service generates a Jupyter notebook and embeds
it in the Texera app as a reference view of the migrated workflow. It is
meant for reading, not editing. This PR configures the embedded Jupyter
container so the notebook renders as a clean, read-only view.

Changes, all scoped to the notebook migration service container assets:

1. `custom.css` (new): hides the classic Notebook chrome (header with
logo and logout, kernel and trust indicators, the File/Edit/View menu,
and the toolbar), and fixes a second, non-functional scrollbar by making
`#site` the single scroll container.
2. `Dockerfile`: copies `custom.css` into
`/home/jovyan/.jupyter/custom/custom.css`, next to the existing
`custom.js`.
3. `custom.js`: read-only hardening. Sets every code cell's CodeMirror
editor to `readOnly: "nocursor"`, calls `keyboard_manager.disable()` so
cells cannot be edited or executed, and overrides
`MarkdownCell.prototype.unrender` so markdown cells stay rendered. The
existing click-to-highlight postMessage integration is unchanged.

This does not touch the Texera frontend or backend.

### UI Comparison
Before this PR:
<img width="787" height="684" alt="2026-07-27_13-38-52"
src="https://github.com/user-attachments/assets/65cc08bd-ffcf-4343-b245-344830b6b59c";
/>


After this PR:
<img width="787" height="684" alt="image"
src="https://github.com/user-attachments/assets/41440d7d-af4e-4212-993b-0c4b1a05ea2f";
/>


### Any related issues, documentation, discussions?

Closes #6943 
Parent issue #4301

### How was this PR tested?

Tested manually by building the container and opening the embedded
notebook in the Texera app:

1. The classic Notebook chrome (header, menu, toolbar, kernel and trust
indicators) is hidden; only the notebook cells are visible.
2. Clicking into a code cell does not put it in edit mode, typing does
nothing, and cells cannot be run.
3. Double-clicking a markdown cell keeps it rendered instead of dropping
into its editable source.
4. Only one working scrollbar is present.

No automated tests were added: the change is static container assets
(CSS and client-side JS in the classic Notebook UI) with no code path
exercisable by the existing unit test suites.

### Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Claude Opus 4.8)

Report URL: https://github.com/apache/texera/actions/runs/30308883563

With regards,
GitHub Actions via GitBox

Reply via email to