mobile-shell / mobile-shell/mosh

Synchronized Output (DEC private mode 2026) support

Open
#1,312 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
14.5k
Forks
865
PR merge metrics
No merged PRs in 30d

Description

Synchronized output is a terminal extension spec that has been implemented in several apps including tmux, neovim and kakoune.

"The goal of synchronized updates is to avoid showing a half-drawn screen, such as while paging through a document in an editor.

A new control sequence is proposed that indicates the beginning and end of a update. No new content should be rendered by the terminal emulator until the update ends, at which point any changes made during the update should be applied atomically.

The purpose of this sequence is to provide a hint to the terminal emulator about how to draw atomically. If it turns out to be too difficult to do under some particular input, the hint can be safely ignored."

AFAIK, mosh-server is in an advantageous position to respond to ?2026-capable apps and could produce more efficient diffs as a result.

Original proposal: https://gitlab.com/gnachman/iterm2/-/wikis/synchronized-updates-spec
Living document by a third party: https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036
Spec discussion: https://gitlab.freedesktop.org/terminal-wg/specifications/-/merge_requests/2

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the synchronized updates specification links in the issue and then trace how mosh-server handles terminal output and diffs. Done means supporting the ?2026 begin/end control sequences in a way that can produce more efficient diffs without disrupting terminal output.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.