Skip to content

Stabilize IME candidate positioning in Tabby - #5205

Draft
Hmbown with Copilot wants to merge 2 commits into
mainfrom
copilot/bugfix-ime-candidate-window-unstable-position
Draft

Stabilize IME candidate positioning in Tabby#5205
Hmbown with Copilot wants to merge 2 commits into
mainfrom
copilot/bugfix-ime-candidate-window-unstable-position

Conversation

Copilot AI commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Tabby’s Electron/xterm.js renderer can sample intermediate cursor positions during rapid TUI redraws, causing Chinese IME candidate windows to jump or drift.

  • Tabby-specific rendering safeguards
    • Detect TERM_PROGRAM=Tabby
    • Enable low-motion rendering and bounded redraw cadence
    • Disable automatic DEC synchronized output, which can expose unstable intermediate cursor state
  • Regression coverage
    • Verify Tabby enables calm rendering and turns synchronized output off automatically
if term_program.contains("tabby") {
    self.low_motion = true;
    self.fancy_animations = false;
    self.constrained_frame_rate = true;

    if self.synchronized_output.eq_ignore_ascii_case("auto") {
        self.synchronized_output = "off".to_string();
    }
}

Copilot AI changed the title [WIP] Fix IME candidate window jumping during input Stabilize IME candidate positioning in Tabby Aug 3, 2026
Copilot AI requested a review from Hmbown August 3, 2026 08:20
pull Bot pushed a commit to 1sLand99/CodeWhale that referenced this pull request Aug 8, 2026
Aggregate 678400 -> 680500 (+2100) for stacked PRs Hmbown#5258, Hmbown#5205, Hmbown#5256, Hmbown#5257, Hmbown#5255 plus copilot runtime APIs (goal, verifier, memory with native_memory.rs new 1017 large, mcp, skill). Large 177->178.

Passes check-source-structure-budget.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

# Bug Report: IME Candidate Window Jumps / Unstable Position During Input

2 participants