Adding Terminal Output

GeneNetwork runs external tools. We would like to have an option for (advanced) users, such as I, to view terminal output while running them. It will give some insight that can only be gained from reading the flask logs, right now. Not everyone has that access. The first candidate is xterm.js which is also used by Jupyter and others. It can talk web sockets:

xterm.js websocket support

As GN3 (REST) API handles calling external tools it kinda make sense to handle the terminal output page through GN3 and communicate through websockets. But first I'll do a Sinatra test run.

Tags

possible xtermjs alternative

possible xtermjs alternative

home page with tutorials in various languages

They forgot scheme:

(define (websocketd-loop n)
"Count from 1 to n, pausing
for a second between each iteration"
  (if (zero? n)
      'done!
      (begin
        (display n)
        (display "\n")
        (sleep 1)
        (websocketd-loop (- n 1)))))