fixed incorrect passthrough handling in zmodem

This commit is contained in:
Eugene Pankov
2022-03-19 13:42:27 +01:00
parent 45b6e21dbc
commit 780691413d

View File

@@ -26,9 +26,10 @@ export class ZModemDecorator extends TerminalDecorator {
}
attach (terminal: BaseTerminalTabComponent): void {
let isActive = false
const sentry = new ZModem.Sentry({
to_terminal: data => {
if (!terminal.enablePassthrough) {
if (isActive) {
terminal.write(data)
}
},
@@ -36,9 +37,11 @@ export class ZModemDecorator extends TerminalDecorator {
on_detect: async detection => {
try {
terminal.enablePassthrough = false
isActive = true
await this.process(terminal, detection)
} finally {
terminal.enablePassthrough = true
isActive = false
}
},
on_retract: () => {