Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
[BUG] [Safari] Form Auto Fill messes up terminal input field #1875
What were you doing?
After first command, Safari (may be other browsers with autofill enabled) tries to auto-fill the form based on previous input. This does put text in, but does NOT produce keyUp and keyDown events, where octoprint terminal form relies on.
What did you expect to happen and what happened instead?
I am not quite sure how this field internally works, but I would assume this should not rely on keyUp and keyDown as this would theoretically get messed up for copy-pasting too.
Input field in question is the one on the terminal page with id="terminal-command".
Branch & Commit or Version of OctoPrint
OctoPrint 1.3.2 (master branch)
Operating System running OctoPrint
Server runs Raspbian, most likely irrelevant.
Printer model & used firmware incl. version
FIRMWARE_NAME: RepRapFirmware for RADDS FIRMWARE_VERSION: 1.17d ELECTRONICS: RADDS 1.5 FIRMWARE_DATE: 2017-01-28
Browser and Version of Browser, Operating System running Browser
MacOS 10.12.3 (16D32), Safari 10.0.3 (12602.4.8)
Link to octoprint.log
Link to contents of terminal tab or serial.log
Screenshot(s) or video(s) showing the problem:
I have read the FAQ.
Macs using Safari (10.1.1) have "Autofill>Other forms" enabled by default which insists on altering the gcodes entered in the terminal tab. Adding a space to the end of newly entered text to make it a unique entry will allow the gcode to be sent/read properly. I pulled the few hairs that I have left out trying to figure out why the M119 gcode entries were not being sent to the terminal. Disabling "Autofill>Other forms" in Safari preferences fixes the problem.
Edit: Clearing the Autofill>Other entries will also fix the problem.
Ah, that setting being at fault was a good hint. That's (still?) disabled by default on BrowserStack's Safari. Enabling it got me a reproduction, disabling auto completion on that input field indeed solved the issue. Pushed to