Subj : exec/dorkit/ansi_input.js jsexec_input.js local_console.js sbbs_input. To : Git commit to main/sbbs/master From : Deucе Date : Tue Mar 09 2021 03:27 pm https://gitlab.synchro.net/main/sbbs/-/commit/9a89f8c97776107f1d19e52a Modified Files: exec/dorkit/ansi_input.js jsexec_input.js local_console.js sbbs_input.js socket_input.js exec/load/dorkit.js src/conio/ciolib.h Log Message: Deal with dorkit hangup issues... commit #1 1) Ciolib CIO_KEY_QUIT and CIO_KEY_MOUSE conflicted with ALT_7 and ALT_6 respectively, change these to use \xE0 prefixes. 2) Add a new dorkit key "CONNECTION_CLOSED" which is returned by getkey() after the connection is closed. 3) Have the various connection back-ends send a CONNECTION_CLOSED key to the keyboard buffer when the connection is closed. 4) Have the local console send a CONNECTION_CLOSED key when the window is closed. 5) Disable auto_terminate in dorkit. 6) Introduce dk.connection.disconnect_timeout variable (defaults to 30 seconds). After a CONNECTION_CLOSED key is received, dorkit will immediately set js.terminated, then after disconnect_timeout seconds, will enable js.auto_terminate. 7) After a CONNECTION_CLOSED key, waitkey() always returns true, getkey() always returns a CONNECTION_CLOSED key, and getbyte() always returns undefined. 8) To prevent a poorly written door from hogging 100% CPU for the whole 30 seconds, put an mswait(1) in the connection check when the inactivity timer is running. .