Comments (10)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
- Remove extra back quote (`) from the command in documentation HOT 1
- [Bug] URL not clickable HOT 3
- [Enhancement] Automatic reconnect on error
- [enhancement] Add environment variable to set manifest variable `"display": "standalone"`
- [Enhancement] Enable adding new translations on Hosted Weblate HOT 2
- [Enhancement] If using client mode, do not send peers from another ws-domain
- [Question] HOT 1
- [Enhancement] Correct spelling error HOT 1
- Why did this repository disappear? HOT 12
- [Enhancement] Bring back the water ripples background animation HOT 1
- [Enhancement] Option: do not zip files and send them all individually HOT 1
- [Enhancement] Make sending and drag'n'drop of folders possible
- [Enhancement] If pasting or sharing text, make clearer what is shared
- [Enhancement] Native clients via Flutter HOT 1
- [Enhancement] Change font to Open Sans
- [Enhancement] Increase limit for sending to iPhones (200MB) by rewriting FileChunker / FileDigester HOT 1
- [Enhancement] Add Kannada language HOT 1
- [Bug] Buttons do not change color on hover
- [Enhancement] Add in-app QR-code scanner
- [Bug] Switching public rooms does not disconnect from devices in old public room
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pairdrop.