You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@guacamole.apache.org by "ciroiriarte (via GitHub)" <gi...@apache.org> on 2026/07/17 22:49:17 UTC
[PR] GUACAMOLE-2301: Add serial console protocol support (web client) [guacamole-client]
ciroiriarte opened a new pull request, #1230:
URL: https://github.com/apache/guacamole-client/pull/1230
## Summary
Web-client support for the new `serial` console protocol ([GUACAMOLE-2301](https://issues.apache.org/jira/browse/GUACAMOLE-2301)), the companion to the guacamole-server PR. Adds the connection form, translations, and protocol registration so serial connections can be created and used from the Guacamole web interface.
### Changes
- Serial connection parameter form (`serial.json`) covering connection type and network protocol (`raw`/`rfc2217`/`telnet`), local device, network host/port, reverse-mode (`reverse-connect`, `bind-address`, `listen-timeout`), serial line settings (baud, data/stop bits, parity, flow control, line ending), features (break duration, paste delay, local echo, hangup-on-close), display, clipboard, recording, and typescript sections.
- English translation strings for all serial fields and options.
- Registration of `serial` in `LocalEnvironment`'s known protocols so the connection editor lists it.
- Client-side controls for Send Break and DTR/RTS.
### Testing
The serial connection form was exercised in the administration interface (all sections render; the network-protocol list includes Raw/RFC 2217/Telnet; the reverse-mode fields appear), and connections were driven end-to-end through the browser against real hardware and a QEMU virtual serial console. Evidence is attached to GUACAMOLE-2301.
### Coordinated PRs
- guacamole-server: __SERVER_URL__
- **guacamole-client** (this PR)
- guacamole-manual: __MANUAL_URL__
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] GUACAMOLE-2301: Add serial console protocol support (web client) [guacamole-client]
Posted by "ciroiriarte (via GitHub) via dev" <de...@guacamole.apache.org>.
ciroiriarte commented on PR #1230:
URL: https://github.com/apache/guacamole-client/pull/1230#issuecomment-6604617849
@necouchman The review comments are addressed in f07be986e. Ready for another look when you have time.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] GUACAMOLE-2301: Add serial console protocol support (web client) [guacamole-client]
Posted by "ciroiriarte (via GitHub) via dev" <de...@guacamole.apache.org>.
ciroiriarte commented on code in PR #1230:
URL: https://github.com/apache/guacamole-client/pull/1230#discussion_r4445197338
##########
guacamole/src/main/frontend/src/app/client/types/ManagedClient.js:
##########
@@ -934,6 +943,43 @@ angular.module('client').factory('ManagedClient', ['$rootScope', '$injector',
});
};
+ /**
+ * Sends the given out-of-band control command (e.g. "break", "dtr-on",
+ * "rts-off") to the serial device associated with the given
+ * ManagedClient, over the dedicated "serial-control" pipe stream. Has no
+ * effect if the underlying Guacamole client is not yet connected.
Review Comment:
It now returns early unless the connection uses `serial` and is connected. The previous `!managedClient.client` check never blocked anything because the client object always exists. Fixed in f07be986e.
##########
guacamole/src/main/frontend/src/translations/en.json:
##########
@@ -157,6 +158,13 @@
"SECTION_HEADER_INPUT_METHOD" : "Input method",
"SECTION_HEADER_MOUSE_MODE" : "Mouse emulation mode",
+ "SECTION_HEADER_SERIAL" : "Serial Console",
Review Comment:
Aligned in f07be986e.
##########
guacamole/src/main/frontend/src/translations/en.json:
##########
@@ -765,6 +773,136 @@
},
+ "PROTOCOL_SERIAL" : {
+ "FIELD_HEADER_AUTO_RECONNECT": "Reconnect automatically if the connection drops:",
+ "FIELD_HEADER_BACKSPACE": "Backspace key sends:",
+ "FIELD_HEADER_BAUD_RATE": "Baud rate:",
+ "FIELD_HEADER_BIND_ADDRESS": "Listen address:",
+ "FIELD_HEADER_BREAK_DURATION": "Break signal duration (ms):",
+ "FIELD_HEADER_CLIPBOARD_BUFFER_SIZE": "Clipboard data size limit:",
+ "FIELD_HEADER_COLOR_SCHEME": "Color scheme:",
+ "FIELD_HEADER_CREATE_RECORDING_PATH": "Automatically create recording path:",
+ "FIELD_HEADER_CREATE_TYPESCRIPT_PATH": "Automatically create typescript path:",
+ "FIELD_HEADER_DATA_BITS": "Data bits:",
+ "FIELD_HEADER_DEVICE": "Serial device path:",
+ "FIELD_HEADER_DISABLE_COPY": "Disable copying from terminal:",
+ "FIELD_HEADER_DISABLE_PASTE": "Disable pasting from client:",
+ "FIELD_HEADER_FLOW_CONTROL": "Flow control:",
+ "FIELD_HEADER_FONT_NAME": "Font name:",
+ "FIELD_HEADER_FONT_SIZE": "Font size:",
+ "FIELD_HEADER_HANGUP_ON_CLOSE": "Drop DTR on disconnect (hangup):",
+ "FIELD_HEADER_HOSTNAME": "Hostname:",
+ "FIELD_HEADER_LINE_ENDING": "Line ending:",
+ "FIELD_HEADER_LISTEN_TIMEOUT": "Listen timeout (seconds):",
+ "FIELD_HEADER_LOCAL_ECHO": "Local echo (show typed characters):",
+ "FIELD_HEADER_NETWORK_PROTOCOL": "Network protocol:",
+ "FIELD_HEADER_PARITY": "Parity:",
+ "FIELD_HEADER_PASTE_DELAY": "Paste delay (ms):",
+ "FIELD_HEADER_PORT": "Port:",
+ "FIELD_HEADER_READ_ONLY": "Read-only:",
+ "FIELD_HEADER_RECORDING_EXCLUDE_MOUSE": "Exclude mouse:",
+ "FIELD_HEADER_RECORDING_EXCLUDE_OUTPUT": "Exclude graphics/streams:",
+ "FIELD_HEADER_RECORDING_INCLUDE_CLIPBOARD": "Include clipboard events:",
+ "FIELD_HEADER_RECORDING_INCLUDE_KEYS": "Include key events:",
+ "FIELD_HEADER_RECORDING_NAME": "Recording name:",
+ "FIELD_HEADER_RECORDING_PATH": "Recording path:",
+ "FIELD_HEADER_RECORDING_WRITE_EXISTING": "@:APP.FIELD_HEADER_RECORDING_WRITE_EXISTING",
+ "FIELD_HEADER_REVERSE_CONNECT": "Listen for an inbound connection (reverse mode):",
+ "FIELD_HEADER_SCROLLBACK": "Maximum scrollback size:",
+ "FIELD_HEADER_SERIAL_TYPE": "Connection type:",
+ "FIELD_HEADER_STOP_BITS": "Stop bits:",
+ "FIELD_HEADER_TERMINAL_TYPE": "Terminal type:",
+ "FIELD_HEADER_TIMEOUT": "Connection timeout:",
+ "FIELD_HEADER_TYPESCRIPT_NAME": "Typescript name:",
+ "FIELD_HEADER_TYPESCRIPT_PATH": "Typescript path:",
+ "FIELD_HEADER_TYPESCRIPT_WRITE_EXISTING": "@:APP.FIELD_HEADER_TYPESCRIPT_WRITE_EXISTING",
+ "FIELD_OPTION_BACKSPACE_127": "Delete (Ctrl-?)",
+ "FIELD_OPTION_BACKSPACE_8": "Backspace (Ctrl-H)",
+ "FIELD_OPTION_BACKSPACE_EMPTY": "",
+ "FIELD_OPTION_BAUD_RATE_115200": "115200",
+ "FIELD_OPTION_BAUD_RATE_1200": "1200",
+ "FIELD_OPTION_BAUD_RATE_19200": "19200",
+ "FIELD_OPTION_BAUD_RATE_230400": "230400",
+ "FIELD_OPTION_BAUD_RATE_2400": "2400",
+ "FIELD_OPTION_BAUD_RATE_300": "300",
+ "FIELD_OPTION_BAUD_RATE_38400": "38400",
+ "FIELD_OPTION_BAUD_RATE_4800": "4800",
+ "FIELD_OPTION_BAUD_RATE_57600": "57600",
+ "FIELD_OPTION_BAUD_RATE_600": "600",
+ "FIELD_OPTION_BAUD_RATE_9600": "9600",
+ "FIELD_OPTION_BAUD_RATE_EMPTY": "",
+ "FIELD_OPTION_CLIPBOARD_BUFFER_SIZE_1048576": "1MB",
+ "FIELD_OPTION_CLIPBOARD_BUFFER_SIZE_10485760": "10MB",
+ "FIELD_OPTION_CLIPBOARD_BUFFER_SIZE_262144": "256KB",
+ "FIELD_OPTION_CLIPBOARD_BUFFER_SIZE_EMPTY": "",
+ "FIELD_OPTION_COLOR_SCHEME_BLACK_WHITE": "Black on white",
+ "FIELD_OPTION_COLOR_SCHEME_EMPTY": "",
+ "FIELD_OPTION_COLOR_SCHEME_GRAY_BLACK": "Gray on black",
+ "FIELD_OPTION_COLOR_SCHEME_GREEN_BLACK": "Green on black",
+ "FIELD_OPTION_COLOR_SCHEME_WHITE_BLACK": "White on black",
+ "FIELD_OPTION_DATA_BITS_5": "5",
+ "FIELD_OPTION_DATA_BITS_6": "6",
+ "FIELD_OPTION_DATA_BITS_7": "7",
+ "FIELD_OPTION_DATA_BITS_8": "8",
+ "FIELD_OPTION_DATA_BITS_EMPTY": "",
+ "FIELD_OPTION_FLOW_CONTROL_EMPTY": "",
+ "FIELD_OPTION_FLOW_CONTROL_NONE": "None",
+ "FIELD_OPTION_FLOW_CONTROL_RTS_CTS": "RTS/CTS (hardware)",
+ "FIELD_OPTION_FLOW_CONTROL_XON_XOFF": "XON/XOFF (software)",
+ "FIELD_OPTION_FONT_SIZE_10": "10",
+ "FIELD_OPTION_FONT_SIZE_11": "11",
+ "FIELD_OPTION_FONT_SIZE_12": "12",
+ "FIELD_OPTION_FONT_SIZE_14": "14",
+ "FIELD_OPTION_FONT_SIZE_18": "18",
+ "FIELD_OPTION_FONT_SIZE_24": "24",
+ "FIELD_OPTION_FONT_SIZE_30": "30",
+ "FIELD_OPTION_FONT_SIZE_36": "36",
+ "FIELD_OPTION_FONT_SIZE_48": "48",
+ "FIELD_OPTION_FONT_SIZE_60": "60",
+ "FIELD_OPTION_FONT_SIZE_72": "72",
+ "FIELD_OPTION_FONT_SIZE_8": "8",
+ "FIELD_OPTION_FONT_SIZE_9": "9",
+ "FIELD_OPTION_FONT_SIZE_96": "96",
+ "FIELD_OPTION_FONT_SIZE_EMPTY": "",
+ "FIELD_OPTION_LINE_ENDING_CR": "Carriage return (CR)",
+ "FIELD_OPTION_LINE_ENDING_CRLF": "CR+LF",
+ "FIELD_OPTION_LINE_ENDING_EMPTY": "",
+ "FIELD_OPTION_LINE_ENDING_LF": "Line feed (LF)",
+ "FIELD_OPTION_NETWORK_PROTOCOL_EMPTY": "",
+ "FIELD_OPTION_NETWORK_PROTOCOL_RAW": "Raw TCP",
+ "FIELD_OPTION_NETWORK_PROTOCOL_RFC2217": "RFC 2217 (Telnet COM Port Control)",
+ "FIELD_OPTION_NETWORK_PROTOCOL_TELNET": "Telnet",
+ "FIELD_OPTION_PARITY_EMPTY": "",
+ "FIELD_OPTION_PARITY_EVEN": "Even",
+ "FIELD_OPTION_PARITY_MARK": "Mark",
+ "FIELD_OPTION_PARITY_NONE": "None",
+ "FIELD_OPTION_PARITY_ODD": "Odd",
+ "FIELD_OPTION_PARITY_SPACE": "Space",
+ "FIELD_OPTION_SERIAL_TYPE_EMPTY": "",
+ "FIELD_OPTION_SERIAL_TYPE_LOCAL": "Local device",
+ "FIELD_OPTION_SERIAL_TYPE_NETWORK": "Network",
+ "FIELD_OPTION_STOP_BITS_1": "1",
+ "FIELD_OPTION_STOP_BITS_2": "2",
+ "FIELD_OPTION_STOP_BITS_EMPTY": "",
+ "FIELD_OPTION_TERMINAL_TYPE_ANSI": "ansi",
+ "FIELD_OPTION_TERMINAL_TYPE_EMPTY": "",
+ "FIELD_OPTION_TERMINAL_TYPE_LINUX": "linux",
+ "FIELD_OPTION_TERMINAL_TYPE_VT100": "vt100",
+ "FIELD_OPTION_TERMINAL_TYPE_VT220": "vt220",
+ "FIELD_OPTION_TERMINAL_TYPE_XTERM": "xterm",
+ "FIELD_OPTION_TERMINAL_TYPE_XTERM_256COLOR": "xterm-256color",
+ "NAME": "Serial",
+ "SECTION_HEADER_CLIPBOARD": "Clipboard",
+ "SECTION_HEADER_CONNECTION": "Connection",
+ "SECTION_HEADER_DEVICE": "Device",
+ "SECTION_HEADER_DISPLAY": "Display",
+ "SECTION_HEADER_NETWORK": "Network",
+ "SECTION_HEADER_RECORDING": "Session recording",
+ "SECTION_HEADER_SERIAL_FEATURES": "Serial features",
+ "SECTION_HEADER_SERIAL_LINE": "Serial line",
+ "SECTION_HEADER_TYPESCRIPT": "Typescript (server-side logging)"
Review Comment:
Reformatted in f07be986e to match the telnet/SSH blocks: aligned colons per group, blank lines between the header, option and section groups, and numeric options in ascending order. The strings are unchanged.
##########
guacamole/src/main/frontend/src/translations/en.json:
##########
@@ -132,6 +132,7 @@
"HELP_MOUSE_MODE" : "Determines how the remote mouse behaves with respect to touches.",
"HELP_MOUSE_MODE_ABSOLUTE" : "Tap to click. The click occurs at the location of the touch.",
"HELP_MOUSE_MODE_RELATIVE" : "Drag to move the mouse pointer and tap to click. The click occurs at the location of the pointer.",
+ "HELP_SERIAL" : "Sends a break signal to the connected serial device. Useful for interrupting boot (e.g. ROMMON, U-Boot) or triggering password recovery on network device consoles.",
Review Comment:
Right, it only described Send Break. I reworded it in f07be986e to cover the whole section: break plus the DTR/RTS controls.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] GUACAMOLE-2301: Add serial console protocol support (web client) [guacamole-client]
Posted by "necouchman (via GitHub) via dev" <de...@guacamole.apache.org>.
necouchman commented on code in PR #1230:
URL: https://github.com/apache/guacamole-client/pull/1230#discussion_r4444557400
##########
guacamole/src/main/frontend/src/app/client/types/ManagedClient.js:
##########
@@ -934,6 +943,43 @@ angular.module('client').factory('ManagedClient', ['$rootScope', '$injector',
});
};
+ /**
+ * Sends the given out-of-band control command (e.g. "break", "dtr-on",
+ * "rts-off") to the serial device associated with the given
+ * ManagedClient, over the dedicated "serial-control" pipe stream. Has no
+ * effect if the underlying Guacamole client is not yet connected.
Review Comment:
...or if a protocol other than `serial` is in use?
##########
guacamole/src/main/frontend/src/translations/en.json:
##########
@@ -157,6 +158,13 @@
"SECTION_HEADER_INPUT_METHOD" : "Input method",
"SECTION_HEADER_MOUSE_MODE" : "Mouse emulation mode",
+ "SECTION_HEADER_SERIAL" : "Serial Console",
Review Comment:
This should be aligned with the line above.
##########
guacamole/src/main/frontend/src/translations/en.json:
##########
@@ -132,6 +132,7 @@
"HELP_MOUSE_MODE" : "Determines how the remote mouse behaves with respect to touches.",
"HELP_MOUSE_MODE_ABSOLUTE" : "Tap to click. The click occurs at the location of the touch.",
"HELP_MOUSE_MODE_RELATIVE" : "Drag to move the mouse pointer and tap to click. The click occurs at the location of the pointer.",
+ "HELP_SERIAL" : "Sends a break signal to the connected serial device. Useful for interrupting boot (e.g. ROMMON, U-Boot) or triggering password recovery on network device consoles.",
Review Comment:
Is this really the correct help string for a generic `SERIAL` option or field? This seems more specific...
##########
guacamole/src/main/frontend/src/translations/en.json:
##########
@@ -765,6 +773,136 @@
},
+ "PROTOCOL_SERIAL" : {
+ "FIELD_HEADER_AUTO_RECONNECT": "Reconnect automatically if the connection drops:",
+ "FIELD_HEADER_BACKSPACE": "Backspace key sends:",
+ "FIELD_HEADER_BAUD_RATE": "Baud rate:",
+ "FIELD_HEADER_BIND_ADDRESS": "Listen address:",
+ "FIELD_HEADER_BREAK_DURATION": "Break signal duration (ms):",
+ "FIELD_HEADER_CLIPBOARD_BUFFER_SIZE": "Clipboard data size limit:",
+ "FIELD_HEADER_COLOR_SCHEME": "Color scheme:",
+ "FIELD_HEADER_CREATE_RECORDING_PATH": "Automatically create recording path:",
+ "FIELD_HEADER_CREATE_TYPESCRIPT_PATH": "Automatically create typescript path:",
+ "FIELD_HEADER_DATA_BITS": "Data bits:",
+ "FIELD_HEADER_DEVICE": "Serial device path:",
+ "FIELD_HEADER_DISABLE_COPY": "Disable copying from terminal:",
+ "FIELD_HEADER_DISABLE_PASTE": "Disable pasting from client:",
+ "FIELD_HEADER_FLOW_CONTROL": "Flow control:",
+ "FIELD_HEADER_FONT_NAME": "Font name:",
+ "FIELD_HEADER_FONT_SIZE": "Font size:",
+ "FIELD_HEADER_HANGUP_ON_CLOSE": "Drop DTR on disconnect (hangup):",
+ "FIELD_HEADER_HOSTNAME": "Hostname:",
+ "FIELD_HEADER_LINE_ENDING": "Line ending:",
+ "FIELD_HEADER_LISTEN_TIMEOUT": "Listen timeout (seconds):",
+ "FIELD_HEADER_LOCAL_ECHO": "Local echo (show typed characters):",
+ "FIELD_HEADER_NETWORK_PROTOCOL": "Network protocol:",
+ "FIELD_HEADER_PARITY": "Parity:",
+ "FIELD_HEADER_PASTE_DELAY": "Paste delay (ms):",
+ "FIELD_HEADER_PORT": "Port:",
+ "FIELD_HEADER_READ_ONLY": "Read-only:",
+ "FIELD_HEADER_RECORDING_EXCLUDE_MOUSE": "Exclude mouse:",
+ "FIELD_HEADER_RECORDING_EXCLUDE_OUTPUT": "Exclude graphics/streams:",
+ "FIELD_HEADER_RECORDING_INCLUDE_CLIPBOARD": "Include clipboard events:",
+ "FIELD_HEADER_RECORDING_INCLUDE_KEYS": "Include key events:",
+ "FIELD_HEADER_RECORDING_NAME": "Recording name:",
+ "FIELD_HEADER_RECORDING_PATH": "Recording path:",
+ "FIELD_HEADER_RECORDING_WRITE_EXISTING": "@:APP.FIELD_HEADER_RECORDING_WRITE_EXISTING",
+ "FIELD_HEADER_REVERSE_CONNECT": "Listen for an inbound connection (reverse mode):",
+ "FIELD_HEADER_SCROLLBACK": "Maximum scrollback size:",
+ "FIELD_HEADER_SERIAL_TYPE": "Connection type:",
+ "FIELD_HEADER_STOP_BITS": "Stop bits:",
+ "FIELD_HEADER_TERMINAL_TYPE": "Terminal type:",
+ "FIELD_HEADER_TIMEOUT": "Connection timeout:",
+ "FIELD_HEADER_TYPESCRIPT_NAME": "Typescript name:",
+ "FIELD_HEADER_TYPESCRIPT_PATH": "Typescript path:",
+ "FIELD_HEADER_TYPESCRIPT_WRITE_EXISTING": "@:APP.FIELD_HEADER_TYPESCRIPT_WRITE_EXISTING",
+ "FIELD_OPTION_BACKSPACE_127": "Delete (Ctrl-?)",
+ "FIELD_OPTION_BACKSPACE_8": "Backspace (Ctrl-H)",
+ "FIELD_OPTION_BACKSPACE_EMPTY": "",
+ "FIELD_OPTION_BAUD_RATE_115200": "115200",
+ "FIELD_OPTION_BAUD_RATE_1200": "1200",
+ "FIELD_OPTION_BAUD_RATE_19200": "19200",
+ "FIELD_OPTION_BAUD_RATE_230400": "230400",
+ "FIELD_OPTION_BAUD_RATE_2400": "2400",
+ "FIELD_OPTION_BAUD_RATE_300": "300",
+ "FIELD_OPTION_BAUD_RATE_38400": "38400",
+ "FIELD_OPTION_BAUD_RATE_4800": "4800",
+ "FIELD_OPTION_BAUD_RATE_57600": "57600",
+ "FIELD_OPTION_BAUD_RATE_600": "600",
+ "FIELD_OPTION_BAUD_RATE_9600": "9600",
+ "FIELD_OPTION_BAUD_RATE_EMPTY": "",
+ "FIELD_OPTION_CLIPBOARD_BUFFER_SIZE_1048576": "1MB",
+ "FIELD_OPTION_CLIPBOARD_BUFFER_SIZE_10485760": "10MB",
+ "FIELD_OPTION_CLIPBOARD_BUFFER_SIZE_262144": "256KB",
+ "FIELD_OPTION_CLIPBOARD_BUFFER_SIZE_EMPTY": "",
+ "FIELD_OPTION_COLOR_SCHEME_BLACK_WHITE": "Black on white",
+ "FIELD_OPTION_COLOR_SCHEME_EMPTY": "",
+ "FIELD_OPTION_COLOR_SCHEME_GRAY_BLACK": "Gray on black",
+ "FIELD_OPTION_COLOR_SCHEME_GREEN_BLACK": "Green on black",
+ "FIELD_OPTION_COLOR_SCHEME_WHITE_BLACK": "White on black",
+ "FIELD_OPTION_DATA_BITS_5": "5",
+ "FIELD_OPTION_DATA_BITS_6": "6",
+ "FIELD_OPTION_DATA_BITS_7": "7",
+ "FIELD_OPTION_DATA_BITS_8": "8",
+ "FIELD_OPTION_DATA_BITS_EMPTY": "",
+ "FIELD_OPTION_FLOW_CONTROL_EMPTY": "",
+ "FIELD_OPTION_FLOW_CONTROL_NONE": "None",
+ "FIELD_OPTION_FLOW_CONTROL_RTS_CTS": "RTS/CTS (hardware)",
+ "FIELD_OPTION_FLOW_CONTROL_XON_XOFF": "XON/XOFF (software)",
+ "FIELD_OPTION_FONT_SIZE_10": "10",
+ "FIELD_OPTION_FONT_SIZE_11": "11",
+ "FIELD_OPTION_FONT_SIZE_12": "12",
+ "FIELD_OPTION_FONT_SIZE_14": "14",
+ "FIELD_OPTION_FONT_SIZE_18": "18",
+ "FIELD_OPTION_FONT_SIZE_24": "24",
+ "FIELD_OPTION_FONT_SIZE_30": "30",
+ "FIELD_OPTION_FONT_SIZE_36": "36",
+ "FIELD_OPTION_FONT_SIZE_48": "48",
+ "FIELD_OPTION_FONT_SIZE_60": "60",
+ "FIELD_OPTION_FONT_SIZE_72": "72",
+ "FIELD_OPTION_FONT_SIZE_8": "8",
+ "FIELD_OPTION_FONT_SIZE_9": "9",
+ "FIELD_OPTION_FONT_SIZE_96": "96",
+ "FIELD_OPTION_FONT_SIZE_EMPTY": "",
+ "FIELD_OPTION_LINE_ENDING_CR": "Carriage return (CR)",
+ "FIELD_OPTION_LINE_ENDING_CRLF": "CR+LF",
+ "FIELD_OPTION_LINE_ENDING_EMPTY": "",
+ "FIELD_OPTION_LINE_ENDING_LF": "Line feed (LF)",
+ "FIELD_OPTION_NETWORK_PROTOCOL_EMPTY": "",
+ "FIELD_OPTION_NETWORK_PROTOCOL_RAW": "Raw TCP",
+ "FIELD_OPTION_NETWORK_PROTOCOL_RFC2217": "RFC 2217 (Telnet COM Port Control)",
+ "FIELD_OPTION_NETWORK_PROTOCOL_TELNET": "Telnet",
+ "FIELD_OPTION_PARITY_EMPTY": "",
+ "FIELD_OPTION_PARITY_EVEN": "Even",
+ "FIELD_OPTION_PARITY_MARK": "Mark",
+ "FIELD_OPTION_PARITY_NONE": "None",
+ "FIELD_OPTION_PARITY_ODD": "Odd",
+ "FIELD_OPTION_PARITY_SPACE": "Space",
+ "FIELD_OPTION_SERIAL_TYPE_EMPTY": "",
+ "FIELD_OPTION_SERIAL_TYPE_LOCAL": "Local device",
+ "FIELD_OPTION_SERIAL_TYPE_NETWORK": "Network",
+ "FIELD_OPTION_STOP_BITS_1": "1",
+ "FIELD_OPTION_STOP_BITS_2": "2",
+ "FIELD_OPTION_STOP_BITS_EMPTY": "",
+ "FIELD_OPTION_TERMINAL_TYPE_ANSI": "ansi",
+ "FIELD_OPTION_TERMINAL_TYPE_EMPTY": "",
+ "FIELD_OPTION_TERMINAL_TYPE_LINUX": "linux",
+ "FIELD_OPTION_TERMINAL_TYPE_VT100": "vt100",
+ "FIELD_OPTION_TERMINAL_TYPE_VT220": "vt220",
+ "FIELD_OPTION_TERMINAL_TYPE_XTERM": "xterm",
+ "FIELD_OPTION_TERMINAL_TYPE_XTERM_256COLOR": "xterm-256color",
+ "NAME": "Serial",
+ "SECTION_HEADER_CLIPBOARD": "Clipboard",
+ "SECTION_HEADER_CONNECTION": "Connection",
+ "SECTION_HEADER_DEVICE": "Device",
+ "SECTION_HEADER_DISPLAY": "Display",
+ "SECTION_HEADER_NETWORK": "Network",
+ "SECTION_HEADER_RECORDING": "Session recording",
+ "SECTION_HEADER_SERIAL_FEATURES": "Serial features",
+ "SECTION_HEADER_SERIAL_LINE": "Serial line",
+ "SECTION_HEADER_TYPESCRIPT": "Typescript (server-side logging)"
Review Comment:
These need to follow style as in the other sections:
* Try to align the `:` for adjacent or related items.
* Use line breaks to break up the various types of translation strings (`FIELD_HEADER_*`, `FIELD_OPTION_*`, etc.).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] GUACAMOLE-2301: Add serial console protocol support (web client) [guacamole-client]
Posted by "ciroiriarte (via GitHub) via dev" <de...@guacamole.apache.org>.
ciroiriarte commented on PR #1230:
URL: https://github.com/apache/guacamole-client/pull/1230#issuecomment-6547527291
Pushed bcf904540: the serial connection form now offers `terminal-type`, which guacd's serial plugin already accepts (default `linux`, used to choose the key sequences the terminal sends). It has the same options as SSH and telnet. The form's fields now match the server's argument list after the apache/guacamole-server#695 review changes. `allowed-devices`, which was removed there, was never part of this form.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org