Environment: Browser (specify version), OS (specify version)
Date/Time: 2026-05-17
Source Code
(Not applicable — UI rendering/typing behavior)
Steps to Reproduce
Open C# Lesson 3 in Sandbox mode.
Start typing in the lesson editor or input field.
Observe how the text moves with each new character.
Expected Output
Text should remain stable while typing, preserving proper indentation and visual layout.
Actual Output
Text shifts as new characters are entered, then snaps back afterward. This causes a jarring flicker and breaks the expected indentation behavior.
Suggested Priority
Medium — The typing experience is visually distracting and disrupts lesson flow.
Additional Notes
Please inspect the text rendering and cursor update logic in Lesson 3; the issue may be related to input layout recalculation or indentation handling.
- **Title:** C#: Sandbox — The text shifts while typing
- **Severity:** Medium
- **Mode:** Lesson
- **Lesson ID / File:** N/A
- **Environment:** Browser (specify version), OS (specify version)
- **Date/Time:** 2026-05-17
## Source Code
(Not applicable — UI rendering/typing behavior)
## Steps to Reproduce
1. Open C# Lesson 3 in Sandbox mode.
2. Start typing in the lesson editor or input field.
3. Observe how the text moves with each new character.
## Expected Output
Text should remain stable while typing, preserving proper indentation and visual layout.
## Actual Output
Text shifts as new characters are entered, then snaps back afterward. This causes a jarring flicker and breaks the expected indentation behavior.
## Suggested Priority
Medium — The typing experience is visually distracting and disrupts lesson flow.
## Additional Notes
Please inspect the text rendering and cursor update logic in Lesson 3; the issue may be related to input layout recalculation or indentation handling.
Triage update: reported against v2026.05.17a (CodeMirror editor era). The "text shifts while typing then snaps back" flicker was a CodeMirror layout/recalculation behavior. The sandbox editor has since been migrated to a shared Monaco editor (app-monaco-editor), which renders into a fixed-geometry content area and does not exhibit that per-keystroke reflow. Likely resolved by the migration — please re-verify against the latest deploy; if it still flickers on Monaco, a screen recording + browser/OS would help.
Triage update: reported against **v2026.05.17a** (CodeMirror editor era). The "text shifts while typing then snaps back" flicker was a CodeMirror layout/recalculation behavior. The sandbox editor has since been migrated to a shared Monaco editor (`app-monaco-editor`), which renders into a fixed-geometry content area and does not exhibit that per-keystroke reflow. Likely resolved by the migration — please re-verify against the latest deploy; if it still flickers on Monaco, a screen recording + browser/OS would help.
Update: this is a text-rendering/reflow flicker, which is distinct from the app-wide input-capture leak fixed in PR #61/#62 (those addressed games swallowing keyboard/mouse input, not per-keystroke layout shift). The most likely fix for this one remains the editor migration to the shared Monaco wrapper, which renders into a fixed-geometry content area and doesn't reflow per keystroke the way the old CodeMirror surface did. Keeping this open pending re-verification on the latest deploy — a short screen recording plus browser/OS would help if it still flickers.
Update: this is a text-rendering/reflow flicker, which is distinct from the app-wide input-capture leak fixed in PR #61/#62 (those addressed games swallowing keyboard/mouse input, not per-keystroke layout shift). The most likely fix for this one remains the editor migration to the shared Monaco wrapper, which renders into a fixed-geometry content area and doesn't reflow per keystroke the way the old CodeMirror surface did. Keeping this open pending re-verification on the latest deploy — a short screen recording plus browser/OS would help if it still flickers.
Verified against current master code. The sandbox editor is now app-monaco-editor, whose host element is position: absolute; inset: 0 inside a fixed-geometry .code-editor container (height: 400px in libraries/platform/language-runner/src/lib/language-runner.scss). Monaco renders text into this fixed content area and does not relayout per keystroke, so the per-character "text shifts then snaps back" reflow from the old CodeMirror surface can no longer occur. Closing as resolved by the Monaco migration. If any per-keystroke shift still shows up on the latest deploy, please reopen with a short screen recording + browser/OS.
Verified against current `master` code. The sandbox editor is now `app-monaco-editor`, whose host element is `position: absolute; inset: 0` inside a fixed-geometry `.code-editor` container (`height: 400px` in `libraries/platform/language-runner/src/lib/language-runner.scss`). Monaco renders text into this fixed content area and does not relayout per keystroke, so the per-character "text shifts then snaps back" reflow from the old CodeMirror surface can no longer occur. Closing as resolved by the Monaco migration. If any per-keystroke shift still shows up on the latest deploy, please reopen with a short screen recording + browser/OS.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Source Code
(Not applicable — UI rendering/typing behavior)
Steps to Reproduce
Expected Output
Text should remain stable while typing, preserving proper indentation and visual layout.
Actual Output
Text shifts as new characters are entered, then snaps back afterward. This causes a jarring flicker and breaks the expected indentation behavior.
Suggested Priority
Medium — The typing experience is visually distracting and disrupts lesson flow.
Additional Notes
Please inspect the text rendering and cursor update logic in Lesson 3; the issue may be related to input layout recalculation or indentation handling.
Triage update: reported against v2026.05.17a (CodeMirror editor era). The "text shifts while typing then snaps back" flicker was a CodeMirror layout/recalculation behavior. The sandbox editor has since been migrated to a shared Monaco editor (
app-monaco-editor), which renders into a fixed-geometry content area and does not exhibit that per-keystroke reflow. Likely resolved by the migration — please re-verify against the latest deploy; if it still flickers on Monaco, a screen recording + browser/OS would help.Update: this is a text-rendering/reflow flicker, which is distinct from the app-wide input-capture leak fixed in PR #61/#62 (those addressed games swallowing keyboard/mouse input, not per-keystroke layout shift). The most likely fix for this one remains the editor migration to the shared Monaco wrapper, which renders into a fixed-geometry content area and doesn't reflow per keystroke the way the old CodeMirror surface did. Keeping this open pending re-verification on the latest deploy — a short screen recording plus browser/OS would help if it still flickers.
Verified against current
mastercode. The sandbox editor is nowapp-monaco-editor, whose host element isposition: absolute; inset: 0inside a fixed-geometry.code-editorcontainer (height: 400pxinlibraries/platform/language-runner/src/lib/language-runner.scss). Monaco renders text into this fixed content area and does not relayout per keystroke, so the per-character "text shifts then snaps back" reflow from the old CodeMirror surface can no longer occur. Closing as resolved by the Monaco migration. If any per-keystroke shift still shows up on the latest deploy, please reopen with a short screen recording + browser/OS.