Coder Social home page Coder Social logo

Comments (10)

Bellisario avatar Bellisario commented on May 23, 2024 2

Not sure about this but my explanation is that while the offline/online messages are shown because of an event of the web browser detecting you're online, the transfer keeps going (theoretically) because both devices are in the same network (if not using the pair functionality for transfers over network) and transfer is handled locally by your router.

from pairdrop.

schlagmichdoch avatar schlagmichdoch commented on May 23, 2024 1

Perfect! I guess we should add that information to the faq. Didn’t know about windows native possibility to open a hotspot.

The files are unzipped automatically if the device is an Android or an iOS device and it is possible to share them via the devices native share menu. If not, the files are zipped before downloading
Does that not work with your Android device?

can you please check, if this demo of NoSleep.js is working for you:
https://richtr.github.io/NoSleep.js/example/

from pairdrop.

MrPropre avatar MrPropre commented on May 23, 2024

Thank you for your message. I guess the big transfer takes at least 10min. None of the devices became stale, Wake Lock API is working. So, both screens stay on during transfer.

I tried multiple times, even with pairing system (using wifi for my laptop and 4g data for my phone). It can happen at any time during the process, even a few second after sending files. Everything disappear then it shows "You are back online" and devices are back again, but the transfer is lost. I also tried with different photos, variable amounts, etc.

The longer it takes to transfer, the more the risk that the connection will be interrupted.

from pairdrop.

MrPropre avatar MrPropre commented on May 23, 2024

I tried with my school's wifi and it worked. I had this "You are back online" message on my phone but the transfer didn't abort. My appartement wifi is a shared wifi, maybe there's some kind of protection which automatically interrupt connection idk. Also it's set as a public wifi in my windows settings.

from pairdrop.

MrPropre avatar MrPropre commented on May 23, 2024

Thanks, it fixed the problem. But I can't figure why my residence's wifi is so slow, and it doesn't allow using Snapdrop or any wireless file transfer that use wifi p2p. You did a good job with PairDrop but I guess I have to stick with a cable to transfer files at my appartement, wifi transfer is as slow as Bluetooth transfer there. But Pairdrop anywhere else is perfect!

Also, I notice that Wake Lock didn't work on my phone (Chrome, Android). After a few minutes my phone started to sleep. Maybe Wake Lock is released when connection to the server is lost or something.

Finally, I notice when the download button on the popup is pressed, the popup doesn't disappear. Idk if that's an intended behavior.

from pairdrop.

schlagmichdoch avatar schlagmichdoch commented on May 23, 2024

Not only does every device in a university Wi-Fi have a different public IP address (which prevents discovery without pairing devices) but the devices are not allowed to talk to each other through the router. Therefore, traffic is routed through the turn server which decreases transfer speed.

You could try opening a hotspot using Connectify or using your phone. It should not charge your data volume as it is not leaving your phone, but use Connectify to be sure.

NoSleep.js behavior is probably overwritten if your device is in low energy mode. Could that be the case?

The popup not closing is intended for now. If more users find that unintuitive I will change that

from pairdrop.

schlagmichdoch avatar schlagmichdoch commented on May 23, 2024

Alternatively, you could try connecting to PairDrop with IPv6 address only by switching off your IPv4 address. Theoretically, this should make the turn server unnecessary.

from pairdrop.

MrPropre avatar MrPropre commented on May 23, 2024

Using a hotspot as a bridge solve all the problems and now transfers are way faster. On Windows you don't need a third-party app to open a hotspot, there is already a native hotspot feature. Thank you!

One last thing I notice is that PairDrop doesn't unzip files before saving on the device. Especially on smartphones where zip manipulation isn't always intuitive

NoSleep.js behavior is probably overwritten if your device is in low energy mode. Could that be the case?

Hm no that's weird

from pairdrop.

schlagmichdoch avatar schlagmichdoch commented on May 23, 2024

I will close this for now. If the demo for NoSleep.js is working for you but not when transfering files via PairDrop, please open another issue.

from pairdrop.

schlagmichdoch avatar schlagmichdoch commented on May 23, 2024

The following comments were deleted by GitHub (via hubot) as part of mistakenly marking this account as spam on 17th February 2024. The correct thread order and the creation date is unclear. I decided to manually restore them anyway in order to complete the information this issue holds even though the restored information might be outdated:

Comment by @schlagmichdoch:

You're welcome! I had some issues with Snapdrop myself, mainly stability and not being able to discover my iPhone when Private Relay was enabled. Good to hear that it is helping others as well.

You are right about multifile transfer: Files are zipped before transfer and unzipped after receival. This not only improves the user experience but preserves metadata as well.

How long does your big transfer appr. take? Can it be, that one of your devices simply becomes stale after a while without user action? Does your screen switch off during tranfers?
In order to prevent screens from sleeping during transfer I implemented a library called NoSleep.js. Can you confirm that your screen stays on all the time during transfers?

Have you tried it multiple times? Earlier today I updated PairDrop to add a feature. Maybe the connection loss was occuring during that time. When did it happen exactly?

To prevent that from happening we should prevent the transfer abortion when the server connection is lost and instead abort only when the connection to the other device is lost, I guess.

Comment by @schlagmichdoch:

I have rewritten a substantial part of the connectivity logic implementing this:

To prevent that from happening we should prevent the transfer abortion when the server connection is lost and instead abort only when the connection to the other device is lost, I guess.

Connected devices now operate completely independent of the PairDrop server. Once a connection is successfully created it is only closed if a peer is closing the tab, so file transfers will not be aborted if the connection to the server is lost.

This also fixed #8 and increases stability a lot 🥳


I tried with my school's wifi and it worked.

When you did this, some of the changes were already live. Before the changes, your transfer would have been disconnected on you school's wifi as well.

So please try again to transfer lots of files at once to check if this issue is resolved!

from pairdrop.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.