Fergo / fcdu-bugtracker

Bugtracking for Fergo Virtual CDU
0 stars 0 forks source link

Button click with Ipad Pro not always responding #1

Closed magicnorm closed 2 years ago

magicnorm commented 2 years ago

I am using Safari on a Ipad Pro and often when I click on buttons the application does not respond to keys and I need to do a refresh. Also the button click sound often disappears.

Fergo commented 2 years ago

Hi Magicnorm,

I'll investigate this issue further. Another user with an ipad pro is also experiencing the issue.

magicnorm commented 2 years ago

FYI, I tried with a friends regular Ipad and I did not have any problems. Also, concerning the button click sound, It works only on the first click and this on both Ipad.

Fergo commented 2 years ago

FYI, I tried with a friends regular Ipad and I did not have any problems.

Also, concerning the button click sound, It works only on the first click and this on both Ipad.

Are you using Safari on the iPad pro? Would you mind testing with another browser like Chrome or Firefox, just to help me pin down if the issue is browser related or not? Unfortunately I don't own an iPad Pro (only a regular iPad), so I need to rely on feedback to troubleshoot the issue.

magicnorm commented 2 years ago

Sorry, I should of mention it, I did test with Chrome on Ipad Pro and I had the same problem..

Fergo commented 2 years ago

Ok. I removed the sound thing for the moment (I suspect it might be related to the problem), along with some other tweaks on the client side. I've zipped the client files again for you to test.

http://fcdu.fergonez.net/tests/WebClient.zip

If you don't mind please follow these steps to guarantee that all the files will be replaced:

1) Go to the directory you installed Fergo Virtual CDU 2) Delete the folder named "WebClient" 3) Extract the contents of the zip file above into the Fergo CDU directory from step 1. It should recreate the WebClient directory with the new files. 4) Test

KR, Fergo

Fergo commented 2 years ago

magicnorm,

I think I managed to reproduce the issue you are having. As I said, I don't have an iPad Pro, but I have the 2019 7th generation version with iPadOS 15.5 and I managed to experience something similar about it not registering the clicks.

Can you please enable the "Verbose log" on the server, and check if it is at least receiving the clicks from the client? It should display messages like Received CDU update #... every time you press a button. Also, please check that if it displays Connection closed from [IP] (this shouldn't happen, but on specific scenario it does, and that's my main focus at the moment)

A regular session log, when you click the buttons on the client, should look something like this:

image

magicnorm commented 2 years ago

To clarify, do you want me to do the test with the old or the new version?

Fergo commented 2 years ago

With the new version: 1.0.8230 I did some more testing, and the audio click seems to be the culprit. If you spam the keys with the audio click enabled, it eventually lags for quite a few seconds to respond to new clicks or stops responding completely. With audio disabled, the issue seems to be gone.

magicnorm commented 2 years ago

I did not see any keys reported in the log. After refreshing my browser I saw this: "[12:43:05] <- New connection from: 192.168.2.47" in the log. BTW I still can ear the first key click.

PrtScr: IMG_2492

log: [12:37:01] HTTP server started on *:8080 [12:37:01] WebSocket server started on ws://0.0.0.0:8081 [12:37:01] WebSocket server started on ws://0.0.0.0:8082 [12:37:01] Servers are running! Go to 'http://192.168.2.45:8080' to access the web CDU [12:37:01] Connecting to the simulator... [12:37:01] Conected to the simulator [12:37:08] <- New connection from: 192.168.2.47 [12:37:08] <- Received CDU update #0 from the sim (2578 bytes) [12:37:08] -> Sent CDU update #0 to the clients (2578 bytes) [12:37:08] <- Received CDU update #1 from the sim (59 bytes) [12:37:08] -> Sent CDU update #1 to the clients (59 bytes) [12:37:12] -> Button 'EVT_CDU_L_R5' sent to the simulator [12:37:12] <- Received CDU update #2 from the sim (929 bytes) [12:37:12] -> Sent CDU update #2 to the clients (929 bytes) [12:37:12] <- Received CDU update #3 from the sim (31 bytes) [12:37:12] -> Sent CDU update #3 to the clients (31 bytes) [12:37:21] -> Sent CDU update #14 to the clients (1228 bytes) [12:37:23] -> Button 'EVT_CDU_L_5' sent to the simulator [12:37:23] -> Button 'EVT_CDU_L_2' sent to the simulator [12:37:23] <- Received CDU update #15 from the sim (14 bytes) [12:37:23] -> Sent CDU update #15 to the clients (14 bytes) [12:37:24] -> Button 'EVT_CDU_L_8' sent to the simulator [12:37:24] <- Received CDU update #16 from the sim (7 bytes) [12:37:24] -> Sent CDU update #16 to the clients (7 bytes) [12:37:25] <- Received CDU update #17 from the sim (14 bytes) [12:37:25] -> Sent CDU update #17 to the clients (14 bytes) [12:37:25] <- Received CDU update #18 from the sim (122 bytes) [12:37:25] -> Sent CDU update #18 to the clients (122 bytes) [12:37:26] -> Button 'EVT_CDU_L_DOT' sent to the simulator [12:37:26] <- Received CDU update #19 from the sim (122 bytes) [12:37:26] -> Sent CDU update #19 to the clients (122 bytes) [12:43:05] <- New connection from: 192.168.2.47 [12:43:05] <- Received CDU update #20 from the sim (2578 bytes) [12:43:05] -> Sent CDU update #20 to the clients (2578 bytes) [12:43:05] -> Sent CDU update #20 to the clients (2578 bytes) [12:43:05] <- Received CDU update #21 from the sim (59 bytes) [12:43:05] -> Sent CDU update #21 to the clients (59 bytes) [12:43:05] -> Sent CDU update #21 to the clients (59 bytes) [12:43:17] -> Button 'EVT_CDU_L_CLR' sent to the simulator [12:43:17] <- Received CDU update #22 from the sim (14 bytes) [12:43:17] -> Sent CDU update #22 to the clients (14 bytes) [12:43:17] -> Sent CDU update #22 to the clients (14 bytes) [12:43:18] -> Button 'EVT_CDU_L_CLR' sent to the simulator

Fergo commented 2 years ago

Did you still experience the issue with the client stop responding? By looking at the log, it seems that it's registering the clicks and responding accordingly:

[12:37:12] -> Button 'EVT_CDU_L_R5' sent to the simulator
[12:37:12] <- Received CDU update #2 from the sim (929 bytes)
[12:37:12] -> Sent CDU update #2 to the clients (929 bytes)

In this example, you pressed RSK5 (first line), the sim updated the screen (second line) and the server sent the updated screen to the client (third line)

magicnorm commented 2 years ago

It stop responding at [12:37:26], I did a refresh at [12:43:05], and it was OK after. Between that no keys were registered. [12:37:26] -> Button 'EVT_CDU_L_DOT' sent to the simulator [12:37:26] <- Received CDU update #19 from the sim (122 bytes) [12:37:26] -> Sent CDU update #19 to the clients (122 bytes) [12:43:05] <- New connection from: 192.168.2.47 [12:43:05] <- Received CDU update #20 from the sim (2578 bytes) [12:43:05] -> Sent CDU update #20 to the clients (2578 bytes)

Fergo commented 2 years ago

Ok, I see. As you mentioned that you could still hear the first click sound, I'm guessing the browser is still using the page from the Chrome/Safari cache instead of requesting a new one from the server.

If you don't mind, I'm preparing a whole new release with quite a few changes in the communication and I hope they will solve the issue (including the audio lag, the cache, etc). I think I can send you a preliminar version of it by the end of the day.

magicnorm commented 2 years ago

Great Thank You

Fergo commented 2 years ago

Hey magicnorm,

Here's a preview of the next release, with quite a few bug fixes.

fcdu_20220716_160414.zip

The click audio in this one is also disabled by default (if you still hear it on the client, make sure to clean the browser's cache)

Please let me know how it goes.

magicnorm commented 2 years ago

Fergo, there is still a problem. When I type, sometime, I do not see the log registering the keys. After a few seconds I see the keys registering in the log. Like you said in a earlier post it looks like it's lagging. At other times nothing. I refresh the browser and I have control again.

One thing I noticed is that it often the problem starts when I hit the PREV PAGE or the EXEC button. I don't know if this helps.

Since I cleared the cache I do not ear button click anymore. But I would like to see this work, at least you know you've click the button. ;)

Also, I tested with a Ipad (Not a Pro) and everything was OK.

OK [12:21:31] <- Received CDU update #128 from the sim (71 bytes) [12:21:31] -> Sent CDU update #128 to the clients (71 bytes) Trouble started [12:21:54] <- Received CDU update #129 from the sim (8 bytes) [12:21:54] -> Sent CDU update #129 to the clients (8 bytes) Noticed time between events [12:22:14] <- Received CDU update #130 from the sim (8 bytes) [12:22:14] -> Sent CDU update #130 to the clients (8 bytes) Again, noticed time between events [12:22:36] <- Received CDU update #131 from the sim (8 bytes) [12:22:36] -> Sent CDU update #131 to the clients (8 bytes) [12:22:48] <- Connection closed from: 192.168.2.47 [12:22:48] <- New connection from: 192.168.2.47 Trouble fixed after a refresh [12:22:48] <- Received CDU update #132 from the sim (2578 bytes) [12:22:48] -> Sent CDU update #132 to the clients (2578 bytes) [12:22:48] <- Received CDU update #133 from the sim (59 bytes) [12:22:48] -> Sent CDU update #133 to the clients (59 bytes) [12:22:50] -> Button 'EVT_CDU_L_INIT_REF' sent to the simulator [12:22:51] <- Received CDU update #134 from the sim (1796 bytes) [12:22:51] -> Sent CDU update #134 to the clients (1796 bytes) [12:22:51] <- Received CDU update #135 from the sim (591 bytes) [12:22:51] -> Sent CDU update #135 to the clients (591 bytes)

Fergo commented 2 years ago

Hey magicnorm,

Another user with an iPad Pro mentioned that it registers fine when using an Apple Pen, but not with your fingers, so I think these iPad treat touch gestures differently than other devices. I intend to push another update tomorrow with changes on how the button presses are detected, hoping it will fix the issue.

magicnorm commented 2 years ago

Hi Fergo, Sorry to say, but the problem is still there. Can you check with the other Ipad Pro user if he still has the problem.

Fergo commented 2 years ago

He'll be out of town until mid-week. Can you test clearing Safari's cache and trying again?

You can do this in the following menu:

Settings -> Safari -> Advanced (last item) -> Website Data -> Search for the IP address and swipe left on it to clear the cache

magicnorm commented 2 years ago

I did do it before testing.

Fergo commented 2 years ago

When I get back home I'll take another look into it.

Fergo commented 2 years ago

What version of iPad OS are you running on your iPad Pro?

magicnorm commented 2 years ago

The latest 15.6

Fergo commented 2 years ago

Managed to borrow an iPad Pro 11" on 15.6 from a friend. Confirmed the issue with the buttons not responding properly, specially Prev/Next page.

I rewrote quite a lot of the code and now it's working fine on the iPad Pro and all other previous devices that I had already tested on. I've pushed it to flightsim.to, but you can download it here too:

https://fcdu.fergonez.net/tests/fcdu_20220728_114805.zip

Please do a fresh install (delete the old version and extract this new one)

magicnorm commented 2 years ago

Did a fast check and everything seams to be working great. Will test more tomorrow. Would like to try with the button click sound. Is it possible to add it?

Thank You.

Fergo commented 2 years ago

I left it temporarily disabled for the moment so I could better tackle one issue at the time. You can still enable it by editing the file WebClient\cdu\js\config.js and setting ENABLE_AUDIO to true, but it will probably still have the problem of only playing once.

After I confirm the button issue is definitely fixed, I'll get back into these other bugs.

magicnorm commented 2 years ago

FYI Did a full flight today. Everything when well.

Fergo commented 2 years ago

Great! Thank you very much. I'm gonna mark this issue as closed.