Textboxes no longer seem to accept tabs as input. I can observe this in our game CodeCombat Worlds, as well as @boatbomber’s popular education experience Lua Learning. This is a severe bug for both of these experiences as both of these programs rely on tabs for things like code block indentation.
To reproduce this, go into one of the experiences, find a code editor textbox, and then try typing a tab character and see nothing happens.
EDIT: This may have been the existing behavior. In addition, escape behavior has changed to pull up the menu. If you have a textbox focused and you hit escape, you need to hit escape once to unfocus the textbox and another time for the menu. I think this change might have been bundled together with it.
I thought this was a device issue, but I had another teammate repro it on their computer. It seems to have happened in the last day or two, and the bug does not seem to reproduce in Studio where tabs are still accepted inputs. I suspect this might be due to some kind of whitespace stripping going on, or some kind of input handling change.
I think we are talking about different things - I don’t mean that tab characters are inserting into the textbox, I mean that the production client actually doesn’t do anything when you hit tab when a Textbox is focused (no cursor movement, no inserted characters, etc.)
However, it does work as expected in Studio (hitting tab causes the cursor to move to the right.)
Ah, I think you may be right. I thought it might have been different on Mac, but maybe I just didn’t pay attention before to this behavior. I thought I reproduced a single escape opening up the Roblox menu while a textbox was focused, but perhaps I accidentally unfocused the textbox.
Any updates on this? We are going to try to work around this issue by looking at when the tab key is pressed but a new tab character is not inserted, though ideally we wouldn’t need to do that.
Yep, we have an elementary version of that working, though because it works on Windows but not Mac, we basically have to run a diff whenever the text changes and a tab input is received to see whether a tab was inserted or not, and insert it ourselves if it hasn’t.