What happens when Socket.IO loses focus (for web) - javascript

My app works all fine, till the user on mobile (iOS iPad in my case) disconnect due to app change and come back. I have no idea what happens next, if the socket tries to reconnect. I would debug this myself, but I don't have Mac to debug this nor Android (I have WP).
I need the reconnect client to get all the changes that happened between his reconnection and reconnection.
Is there any event called?
Should I call one? When?
I only do care about few browsers: Chrome (desctop, Mac, iOS) and Safary (Mac, iOS)
Site (just for debugging purposes): study.eise.cz

Related

Server issue with iFrame on Apple device?

I'm trying to add iFrame to my Next.js app. It works well on Window, Android; however, on Apple devices, it shows server error: 500 Internal Server Error or Your sessions is not available on the server side anymore.
As far as I have tested, this happens on:
Phone browsers (Safari, Chrome)
Mac Safari
Chrome on Mac is fine
Does anyone have a fix?
I can't copy on Browser Stack, so here is the screenshot.
I guess the problem is that Apple block cookies. Anyway to bypass this?

Android Chrome Browser casting to Chromecast - if I unplug chromecast (or unplug network), then the Chrome Browser page crashes

I have replicated the issue on Chrome and Edge (on Android). Although don't appear to have the issue on Chrome and Edge (Windows). I have tried Chrome v83 and latest v98.0.4758.101 - same issue. I can successfully cast and disconnect.
However, if the network drops, router powers off, wifi unit powers off, cast receiver is unplugged - then the browser window on the Android also crashes (closes). We have included further debugging, android debugging, usb debuggin but there is no evidence of why the browser is crashing / closing.
What can I try to resolve this?
We use Google Chromecast session.sendMessage to communicate from our web app to our casted web app.
I found when there was a network issue on an Android device using google chrome, calling session.sendMessage would crash Chrome.
No errors or events received the webrowser would just exit.
There were 3 separate instances;
Internet outage,
chromeCast powered off,
wifi was turned off.
The workaround was to run some basic checks before sending a message to the API.
The casting session is alive
The status of navigator.onLine is true
and a simple network check (API Call) == 200
all 3 checks must pass before sending a message.
If one or more checks failed kill the session.
This does result in slightly slower cast speeds.

iOS Safari Won't Refresh Javascript Content

I just created this Awesome Website with some interactions, but I found a bug on iOS Safari about the 'Firebase' Animation (it won't work). So I connected my iPhone(iPhone 6, iOS 12) to my Mac with a cable to use the Safari Web Inspector.
But then even when I reload the page or open it again, the JavaScript content won't reload. However, on desktop browsers, the changes have been applied.
The bad thing is that I'm a student and there's this stupid thing about screen time that blocks private mode and history&cache delete.
I really need to fix this bug and there's a bunch of other bugs to fix, so probably waiting until the page fully reloads will drive me nuts. Is there any way to do a 'hard' reload, or is there any other ways to fetch data from the server again?
Just found the answer.
Connect the iPhone to your Mac via USB cable, open the web inspector, then press ⌥⌘R.
The keyboard shortcut also works for iOS safari.

WebUSB disconnects on Android after a while

I have implemented the web USB API for the USB-to-TTL chip CH340. It works pretty good on the PC but when I connect my phone to the chip (using direct cable and/or OTG cable) the API will disconnect after a minute or two. This doesn't happen if I use a Serial Terminal App on the same phone. Same will happen on multiple Chromium based browsers.
And as soon as I physically disconnect the chip from the phone it will freeze and restart the phone.
Here's my beta test site: https://grovkillen.com/webusb/
This behavior shouldn't happen (especially the freezing and crashing part) and is likely a Chromium or Android bug. Please open an issue on crbug.com and include any crash IDs from chrome://crashes in the report. Reply here with the bug link so I'm sure to see it.

Problem with DWR and Android-Browser

I am experiencing a problem with accessing an application from the Android-browser.
The application uses DWR to persist connections to the clients that are connected with it.
Everything works fine for me, except that if the application does not send any data to the client on the Android-phone for 2 minutes, the connection seems to be lost and no data arrive at the client. The same scenario works just fine on Firefox, Opera and Chrome. If the pause between two data transfers is less than 2 minutes, it works just fine.
So, now my question:
Is there some timeout setting for the android browser that I am missing? Or is this some built-in bug/feature/whatever that I cannot circumvent?
I know that I could prevent this from happening with some sort of heartbeat, I would just like to why this is happening.
Thanks in advance, Max
btw: Everything (server, clients) runs on my machine and I am testing this on the android emulator with Windows XP
Android emulator version 1.10 (build_id CUPCAKE-150240)
Could it be that the Android system is garbage collecting your activity and thus loosing your web browser and closing the persistent connection?
Perhaps you could check this by looking in you logcat (on android end) or webserver logs (on remote end)?
if this is the case, you would need to add reconnect code into the onresume/onstart method in android.

Categories