Files
DodoSSH/src/DodoSSH.Client.Shell/WebAssets/vendor/README.md
T
jaap-jan 6806e542f9
ci / build and test (push) Successful in 3m37s
ci / android head (push) Successful in 3m45s
ci / api image (push) Successful in 8s
ci / desktop nightly (push) Successful in 1m44s
Terminal: measure characters with Unicode 11 widths, so an emoji takes the two columns the remote counts
2026-10-04 13:55:20 +02:00

2.5 KiB

Vendored third-party assets

Committed rather than fetched at build time, so a clean clone builds with the .NET SDK alone — no node, no npm, no esbuild step. The trade-off is that upgrades are a manual re-download, which is exactly why the provenance is written down here.

All of the following are MIT licensed, the same licence as this repository.

File Package Version Source
xterm.js @xterm/xterm 6.0.0 https://unpkg.com/@xterm/xterm@6.0.0/lib/xterm.js
xterm.css @xterm/xterm 6.0.0 https://unpkg.com/@xterm/xterm@6.0.0/css/xterm.css
addon-fit.js @xterm/addon-fit 0.11.0 https://unpkg.com/@xterm/addon-fit@0.11.0/lib/addon-fit.js
addon-webgl.js @xterm/addon-webgl 0.19.0 https://unpkg.com/@xterm/addon-webgl@0.19.0/lib/addon-webgl.js
addon-unicode11.js @xterm/addon-unicode11 0.9.0 https://unpkg.com/@xterm/addon-unicode11@0.9.0/lib/addon-unicode11.js

Copyright (c) 2017 The xterm.js authors. See https://github.com/xtermjs/xterm.js for the full licence text.

These are the UMD builds, so they attach to globalThis: Terminal, FitAddon.FitAddon, WebglAddon.WebglAddon and Unicode11Addon.Unicode11Addon. terminal.js depends on those exact names, so check them after any upgrade — a bundle that switched to ES modules would load without error and leave Terminal undefined.

Upgrading

  1. Download the five files at the new versions and update the table above.
  2. Confirm the UMD global names are unchanged, and that term.unicode.activeVersion = '11' still selects the addon's table: a version string xterm no longer recognises throws, and an addon that registered under another name would leave the page on Unicode 6 widths without a word.
  3. Confirm the right-click still belongs to terminal.js. Two things about xterm are load-bearing for it and neither is a global: rightClickSelectsWord has to still be an option — the page sets it false, and an option xterm no longer knows is silently ignored — and xterm has to still register its own right-click handling on contextmenu, which handleRightClick gets ahead of in the capture phase. A build that moved that to mousedown, as it already is on the Firefox path, would put xterm back in the gesture.
  4. Run the terminal suite, then start the app and open a session: RendererClipboardTests runs the page's own logic against a stubbed terminal, so what is left for a person is everything about the real one — docs/manual-checks.md 1.11 is that list.