Select box in web page not working
- @cghague
Great product!
A web page I developed has a select box that won't work via tinyPilot, but fine otherwise.
Using svelte and https://github.com/rob-balfre/svelte-select
If you like, I could build a minimal example with source code.
- CCharles Hague @cghague2023-06-13 13:50:17.489Z
Hi Darrell, thanks for your message and your kind feedback!
TinyPilot works by capturing the video output of a system via HDMI and sending keyboard and mouse input back over USB. There isn't any other connection to the target operating system other than this, so I'm unsure why a specific feature on a web page wouldn't work. This isn't an issue we've seen before, so we'll need to investigate.
Can you please provide a few more details so I can look into this further? For example, what happens vs. what you expect to happen, what operating system and browser you use on the target system, what operating system and browser you use on the client system, and so on.
- DDarrell Gallion @dgallion1
Expect the select to work, as in drop down when clicked.
Os: Linux peppermint
Browser: Web 3.38.2Created a test case for it here.
https://github.com/dgallion1/testCasePilot1- CCharles Hague @cghague2023-06-15 15:12:09.743Z
Thanks for getting back to me! Unfortunately, I've not been able to reproduce this issue using the resources provided. Would you be able to capture a video or screenshots showing what you see outside of TinyPilot vs what you see through TinyPilot? Any additional context you can supply, such as step-by-step reproduction instructions, would also be helpful.
- DDarrell Gallion @dgallion1
Here's a GIF that shows it.
Where you able to run the example?
If not, I can build an exe to do it.https://drive.google.com/file/d/18SyrO9-IEJ7x1bh-YtTSSEZu3y_x2tJU/view?usp=sharing
- CCharles Hague @cghague2023-06-16 17:47:33.775Z
Thanks for getting back to me and for providing the recording.
It looks like you are testing your code both on a browser locally, and on a browser on the system your TinyPilot device is controlling. If this is correct, the reason for the different behaviour is most likely the result of the two systems using different browsers and/or operating systems, rather than as a result of one being viewed through TinyPilot and one being viewed directly.
It would be good to confirm that the theory above is correct. Can you try connecting a monitor, keyboard, and mouse to the target machine and checking if the same issue happens when you’re working on it directly rather than through TinyPilot?
- DDarrell Gallion @dgallion1
https://photos.app.goo.gl/E8MMSCkNFrfwNJW17
I should have moved the mouse off the tab to get "Restore" out of there.
I had been using remote desktop for testing, so I was confident it usually works.Another clue. Hovering the tab in tinyPilot doesn't trigger the little popup "Restore" to show up.
- CCharles Hague @cghague2023-06-19 12:56:42.560Z
Thanks for getting back to me! I appreciate it’s an unusual question, but do either of the machines involved have a touchscreen? The reason I ask is that operating systems and browsers handle touchscreen events in a different way to mouse events. This difference is most noticeable with mouse-over/pen-hover events, such as the one that would have triggered the “Restore” pop up, so if a touchscreen is involved it could be worth investigating further.
- DDarrell Gallion @dgallion1
No touch screen.
- CCharles Hague @cghague2023-06-20 16:46:39.388Z
Thank you for confirming. I’m looking into this with the team and I’ll let you know as soon as I have an update.
- In reply todgallion1⬆:CCharles Hague @cghague2023-06-21 13:02:25.792Z
Thanks for waiting while I checked this with the team.
We attempted to reproduce this using the hosted examples at https://github.com/rob-balfre/svelte-select, but the select boxes worked as expected in our tests. This result suggests that this is an issue with either Peppermint OS, the browser it ships with, or this specific implementation of the select.
We're unable to run the test case code sample or Peppermint OS at the moment, so a good next step is for you to test each individually. Can you please confirm that the same issue occurs with the hosted examples at https://github.com/rob-balfre/svelte-select?
If the same issue occurs, could you please connect your TinyPilot device to a computer running a more mainstream operating system and browser combination (for example, Ubuntu and Firefox) and then check if the issue occurs for both the hosted examples and your test case code sample?
- DDarrell Gallion @dgallion1
It works via remote desktop and on the local box.
Not working with tinyPilot.
Also, I wasn't able to paste the URL into tinyPilot.Ubuntu works, but I still couldn't paste the URL.
Note: The two screens aren't in sync because the remote desktop just signs in with another instance.
- Michael Lynch @michael2023-06-22 13:26:52.117Z
@dgallion1 - Sorry you're having trouble with this!
It's unlikely that this is a TinyPilot issue. TinyPilot acts as a display device, so it would be unusual for there to be differences at this fine a level. We would expect dropdown lists to have different behavior across different OSes or web browsers, but behavior doesn't generally change like this across different display devices.
Several members of the team have tried to reproduce the behavior you're describing on different OSes and browsers with TinyPilot, and we can't trigger the behavior you're seeing. It seems more likely that this is a bug with the OS or web browser you're using.
- DDarrell Gallion @dgallion1
It must be a tinyPilot issue.
Every other way to interact with this page works.
Only when using tinyPilot does it fail.Unplug tinyPilot hookup a keyboard/monitor, and it works great.
Connect remote desktop works great.- Michael Lynch @michael2023-06-23 19:16:09.505Z
Can you share a video like the one I shared above of this problem occurring when the host OS on the target system is Ubuntu and the browser is Firefox and you visit https://svelte-select-examples.vercel.app/examples/props/class from within TinyPilot?
That would eliminate Linux Peppermint and Web 3.38.2 as potential sources of this behavior.
- DDarrell Gallion @dgallion1
As you know, when it's Ubuntu and Firefox, it works, per my post above.
I assume it also works with Windows and Chrome.
Odd request.
Guess you want to prove that tinyPilot works in the normal greased path scenario.
It does.
I thought I was helping you guys out by tieing this issue up.
Looks like you've given up.- Michael Lynch @michael2023-06-26 13:05:59.431Z
Oh, I wasn't sure from the previous post whether everything worked on Ubuntu. You mentioned being unable to paste the URL, so I wasn't sure if you were able to test the scenario without it.
If it works on other systems but not on Peppermint, I think this is a Peppermint bug or a bug with its browser. I understand that the behavior only occurs with Peppermint + TinyPilot, but if it works with other OSes, that suggests the bug is on the Peppermint side.
Investigating a bug like this is a huge undertaking, as we'd have to dig into HTML rendering code for Peppermint's browser, which nobody on the TinyPilot team has ever worked with. We try to help out even when the bug is outside of TinyPilot, but we're a small team, so this is much more than we have capacity to fix.