diff options
| author | Adam <[email protected]> | 2025-12-06 06:16:21 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-12-06 06:43:53 -0600 |
| commit | 91110051658f42341ac713327991605461d4bb0b (patch) | |
| tree | e415be079c7b38647c6797b433b91fc4e7e8d6aa /patches/[email protected] | |
| parent | 3ceac25fb54d1607c77de4cc861c394e3abd14f0 (diff) | |
| download | opencode-91110051658f42341ac713327991605461d4bb0b.tar.gz opencode-91110051658f42341ac713327991605461d4bb0b.zip | |
fix: terminal serialization and isolation
Diffstat (limited to 'patches/[email protected]')
| -rw-r--r-- | patches/[email protected] | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/patches/[email protected] b/patches/[email protected] new file mode 100644 index 000000000..d63a693b8 --- /dev/null +++ b/patches/[email protected] @@ -0,0 +1,40 @@ +diff --git a/dist/ghostty-web.js b/dist/ghostty-web.js +index 7c9d64a617bbeb29d757a1acd54686e582868313..2d61098cdb77fa66cbb162897c5590f35cfcf791 100644 +--- a/dist/ghostty-web.js ++++ b/dist/ghostty-web.js +@@ -1285,7 +1285,7 @@ const e = class H { + continue; + } + const C = g.getCodepoint(); +- C === 0 || C < 32 ? B.push(" ") : B.push(String.fromCodePoint(C)); ++ C === 0 || C < 32 || C > 1114111 || (C >= 55296 && C <= 57343) ? B.push(" ") : B.push(String.fromCodePoint(C)); + } + return B.join(""); + } +@@ -1484,7 +1484,7 @@ class _ { + return; + let J = ""; + A.flags & U.ITALIC && (J += "italic "), A.flags & U.BOLD && (J += "bold "), this.ctx.font = `${J}${this.fontSize}px ${this.fontFamily}`, this.ctx.fillStyle = this.rgbToCSS(w, o, i), A.flags & U.FAINT && (this.ctx.globalAlpha = 0.5); +- const s = g, F = C + this.metrics.baseline, a = String.fromCodePoint(A.codepoint || 32); ++ const s = g, F = C + this.metrics.baseline, a = (A.codepoint === 0 || A.codepoint == null || A.codepoint < 0 || A.codepoint > 1114111 || (A.codepoint >= 55296 && A.codepoint <= 57343)) ? " " : String.fromCodePoint(A.codepoint); + if (this.ctx.fillText(a, s, F), A.flags & U.FAINT && (this.ctx.globalAlpha = 1), A.flags & U.UNDERLINE) { + const N = C + this.metrics.baseline + 2; + this.ctx.strokeStyle = this.ctx.fillStyle, this.ctx.lineWidth = 1, this.ctx.beginPath(), this.ctx.moveTo(g, N), this.ctx.lineTo(g + I, N), this.ctx.stroke(); +@@ -1730,7 +1730,7 @@ const L = class R { + let G = ""; + for (let J = M; J <= k; J++) { + const s = o[J]; +- if (s && s.codepoint !== 0) { ++ if (s && s.codepoint !== 0 && s.codepoint <= 1114111 && !(s.codepoint >= 55296 && s.codepoint <= 57343)) { + const F = String.fromCodePoint(s.codepoint); + G += F, F.trim() && (i = G.length); + } else +@@ -1995,7 +1995,7 @@ const L = class R { + if (!Q) + return null; + const g = (w) => { +- if (!w || w.codepoint === 0) ++ if (!w || w.codepoint === 0 || w.codepoint > 1114111 || (w.codepoint >= 55296 && w.codepoint <= 57343)) + return !1; + const o = String.fromCodePoint(w.codepoint); + return /[\w-]/.test(o); |
