์ผ€์ด์Šค ce-0261-korean-ime-crash-firefox-en-ko ยท ์‹œ๋‚˜๋ฆฌ์˜ค scenario-ime-korean-crash-firefox

Korean IME composition causes Firefox editor crash

OS: Windows 10 ๊ธฐ๊ธฐ: Desktop Any ๋ธŒ๋ผ์šฐ์ €: Firefox 120+ ํ‚ค๋ณด๋“œ: Korean (IME) - Microsoft IME ์ดˆ์•ˆ
compositionimekoreanfirefoxcrashwindows

ํ˜„์ƒ

On Firefox with Windows 10 and Korean IME, specific key combination sequences during IME composition can cause the contenteditable editor to crash unexpectedly.

์žฌํ˜„ ์˜ˆ์‹œ

  1. Focus on contenteditable element.
  2. Enable Korean IME (Microsoft IME on Windows).
  3. Type โ€˜ใ…€โ€™ (press โ€˜fโ€™, then โ€˜gโ€™ on QWERTY keyboard).
  4. Press Enter to confirm composition.
  5. Press Ctrl+Shift+Home.
  6. โŒ Editor crashes and becomes unresponsive.
  7. User must reload the page.

๊ด€์ฐฐ๋œ ๋™์ž‘

  • Specific key combination crash: Ctrl+Shift+Home triggers editor crash
  • JavaScript execution stops: Browser completely halts when crash occurs
  • Page unresponsive: No user interaction possible until reload
  • Firefox specific: Issue only affects Firefox

์˜ˆ์ƒ ๋™์ž‘

  • Editor should handle key combinations without crashing
  • IME composition should complete or be interrupted gracefully
  • JavaScript execution should continue normally

์ฐธ๊ณ ์‚ฌํ•ญ ๋ฐ ๊ฐ€๋Šฅํ•œ ํ•ด๊ฒฐ ๋ฐฉํ–ฅ

  • Block dangerous combinations during IME: Prevent Ctrl+Shift+Home during composition
  • Try-catch error handling: Wrap critical operations in try-catch blocks
  • Error reporting: Log errors and inform user gracefully
  • Graceful recovery: Implement fallback mechanisms when errors occur

์ฝ”๋“œ ์˜ˆ์‹œ

const editor = document.querySelector('div[contenteditable]');
let isComposing = false;

// Track IME state
editor.addEventListener('compositionstart', () => {
  isComposing = true;
});

editor.addEventListener('compositionend', () => {
  isComposing = false;
});

// Block dangerous key combination
editor.addEventListener('keydown', (e) => {
  if (isComposing && e.ctrlKey && e.shiftKey && e.key === 'Home') {
    e.preventDefault();
    console.warn('Dangerous key combination blocked during IME composition:', e.key);
  }
});

// Prevent crash with error handling
editor.addEventListener('input', (e) => {
  try {
    // Input handling logic
  } catch (error) {
    console.error('Input error:', error);
    // Graceful recovery
    alert('An error occurred during input. Please reload the page.');
  }
});

์ด ์‹œ๋‚˜๋ฆฌ์˜ค์˜ ๋ณ€ํ˜•

์ผ€์ด์Šค OS ๋ธŒ๋ผ์šฐ์ € ์ƒํƒœ
ce-0260-korean-ime-crash-firefox-ko Windows 10 Firefox 120+ ์ดˆ์•ˆ
ce-0261-korean-ime-crash-firefox-en-ko Windows 10 Firefox 120+ ์ดˆ์•ˆ

Playground for this case

Use the reported environment as a reference and record what happens in your environment while interacting with the editable area.

Reported environment
OS: Windows 10
Device: Desktop Any
Browser: Firefox 120+
Keyboard: Korean (IME) - Microsoft IME
Your environment
Sample HTML:
Event log
Use this log together with the case description when filing or updating an issue.
0 events
Interact with the editable area to see events here.