Fixed SSH with xterm.js (#4668)

Ylian Saint-Hilaire committed Oct 25, 2022 at 09:58 UTC 909f9f862ee50ad0dcadd6667dd3c494a81dc091
2 files changed +7 -7
views/default.handlebars
+3 -1
@@ -10190,7 +10190,9 @@
10190 case 'sessionerror': { p12setConsoleMsg("Session expired", 5000); break; }
10191 case 'sessiontimeout': { p12setConsoleMsg("Session timeout", 5000); break; }
10192 }
10193 - } else if (data[0] == '~') { xterm.writeUtf8(data.substring(1)); }
10193 + } else if (data[0] == '~') {
10194 + if (xterm.writeUtf8) { xterm.writeUtf8(data.substring(1)); } else { xterm.write(data.substring(1)); }
10195 + }
10196 }
10197 }
10198
views/ssh.handlebars
+4 -6
@@ -37,14 +37,12 @@
37 <div id="bigok" style="display:none;left:calc((100vh / 2))"><b>&checkmark;</b></div>
38 <div id="bigfail" style="display:none;left:calc((100vh / 2))"><b>&#10007;</b></div>
39 <div id="metadatadiv" style="padding:20px;color:lightgrey;text-align:left;display:none"></div>
40 - <div id=terminal style="max-height:calc(100vh - 54px);height:calc(100vh - 54px);"></div>
40 + <div id=terminal style="max-height:calc(100vh - 54px);height:calc(100vh - 54px);text-align:left"></div>
41 <div id=TermConsoleMsg style="display:none;cursor:pointer;z-index:10;position:absolute;left:30px;top:17px;color:yellow;background-color:rgba(0,0,0,0.6);padding:10px;border-radius:5px" onclick=clearConsoleMsg()></div>
42 </div>
43 <div id=deskarea4 class="areaHead">
44 - <div class="toright2">
45 - </div>
46 - <div style="height:21px;max-height:21px">
47 - </div>
44 + <div class="toright2"></div>
45 + <div style="height:21px;max-height:21px"></div>
46 </div>
47 </div>
48 <div id=dialog class="noselect" style="display:none">
@@ -243,7 +241,7 @@
241 case 'sessiontimeout': { setDialogMode(2, "Session", 1, null, "Session timeout."); break; }
242 }
243 } else if (data.data[0] == '~') {
246 - term.writeUtf8(data.data.substring(1));
244 + if (term.writeUtf8) { term.writeUtf8(data.data.substring(1)); } else { term.write(data.data.substring(1)); }
245 }
246 }
247 socket.onclose = function (e) { disconnect(); }