Conversation
🛡️ Jit Security Scan Results✅ No security findings were detected in this PR
Security scan by Jit
|
dwdougherty
left a comment
There was a problem hiding this comment.
I didn't heavily scrutinize the code, but the results look great!
andy-stark-redis
left a comment
There was a problem hiding this comment.
This is excellent, but if you can fix the issues I mentioned then that would be very helpful :-)
|
Thank you this is looking great |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
| // Don't set kernelReady yet - that happens after successful bootstrap | ||
| // Set firstCellExecuted to true since kernel was already running | ||
| firstCellExecuted = true; | ||
| enableAllButtons(); |
There was a problem hiding this comment.
Stale session leaves dependent buttons incorrectly enabled
Medium Severity
When a saved session exists, firstCellExecuted is set to true and enableAllButtons() is called before bootstrapThebe(true) completes. If the saved session is stale and auto-reconnect fails, firstCellExecuted remains true because the general bootstrap failure path (the catch block at line 1656) only resets thebeBootstrapped — it never resets firstCellExecuted. This leaves dependent cell buttons (like r.set(...)) enabled and clickable. A user clicking one triggers a fresh kernel bootstrap but executes the dependent cell without running the connect cell first, producing a NameError because r was never defined.


Note
Medium Risk
Adds substantial inline JS/CSS to the global Hugo base template to bootstrap Thebe/Binder sessions and intercept
fetch/EventSource, which could affect page behavior and performance. CI build steps also change for versioned docs builds, so regressions would surface at build/deploy time.Overview
Adds a new
jupyter-exampleshortcode that renders step-based code blocks with Thebe-powered “Run here” execution, full-file visibility toggling, copy/link actions, and optional output suppression, sourcing code from example files and deriving Binder/kernel metadata.Updates the Hugo base layout to conditionally inject extensive Thebe configuration, styling, and client-side logic (lazy-loading Thebe, session restore, dependency gating between cells, output relocation, and rate-limit/session-expiry handling), and adjusts global copy-button injection to skip
.thebe-containerblocks.Converts the
redis-pyclient landing page to use the new interactive examples and updates its example source to include aKERNEL_NAMEmarker; CI versioned-docs builds now runmake componentsbefore building each matrix version.Written by Cursor Bugbot for commit f22480c. This will update automatically on new commits. Configure here.