Skip to content

Commit da2860c

Browse files
committed
Fix TTY detection
1 parent 9eb7045 commit da2860c

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

component/client.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ def restore_console
1212
def runas_client(argv)
1313
$mode = :client
1414
$tty_attr = %x[/bin/stty -g].chomp
15-
is_tty = $stdout.isatty && $stderr.isatty
15+
is_tty = $stdin.isatty && $stdout.isatty && $stderr.isatty
1616
socket = UNIXSocket.open(SOCKET_PATH) # connect to daemon
1717

1818
# send stdin/stdout/stderr to daemon
@@ -29,7 +29,7 @@ def runas_client(argv)
2929
})
3030

3131
# listen to terminal resize event
32-
trap('WINCH') { send_event(socket, 'termResize', { newsize: IO.console.winsize }) }
32+
trap('WINCH') { send_event(socket, 'termResize', { newsize: IO.console.winsize }) } if is_tty
3333

3434
# ignore following signals
3535
%w[HUP PIPE QUIT TERM INT].each {|sig| trap(sig) {} }

component/daemon.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def runas_daemon(argv)
3333

3434
client_request = JSON.parse(socket.gets, symbolize_names: true)
3535
cmdline = ['/usr/bin/sudo'].concat(client_request[:arg])
36-
open_pty = client_stdout.isatty && client_stderr.isatty
36+
open_pty = client_stdin.isatty && client_stdout.isatty && client_stderr.isatty
3737
process_env = client_request[:env].transform_keys(&:to_s)
3838

3939
if open_pty

lib/function.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ def send_event(sock, event, args = {})
22
sock.puts({ event: event }.merge(args).to_json)
33
end
44

5-
def message(message, loglevel: :verbose)
5+
def message(m, loglevel: :verbose)
66
return unless $log || $verbose || loglevel != :verbose
77

8-
warn "[#{$mode}]: #{message}"
8+
warn m.lines(chomp: true).map {|line| "[#{$mode}]: #{line}" }
99
end

0 commit comments

Comments
 (0)