C#: Sandbox — The text shifts while typing #157

Closed
opened 2026-05-17 22:23:05 +00:00 by Zhekrom · 3 comments
  • 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.

- **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.
Owner

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.
Owner

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.
Owner

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.
Sign in to join this conversation.