Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Waves stopping, files not transferring #9

Closed
gitwittidbit opened this issue Jan 21, 2023 · 9 comments
Closed

Waves stopping, files not transferring #9

gitwittidbit opened this issue Jan 21, 2023 · 9 comments
Labels
bug Something isn't working

Comments

@gitwittidbit
Copy link

Hi,

I wanted to try out PairDrop because I was having an issue with SnapDrop (and then I saw that PairDrop will also work across networks - which I think is a great improvement!): After a couple of seconds the "waves" (or whatever they are) stop moving and a file will not transfer (no error message).

Unfortunately, I am having the same issue with PairDrop.

Might this have to do with my running docker rootless?

Or do you maybe have another idea what the issue might be?

Thanks!

@schlagmichdoch schlagmichdoch added the bug Something isn't working label Jan 22, 2023
@schlagmichdoch
Copy link
Owner

I have rewritten a substantial part of the logic. Please test again!

@gitwittidbit
Copy link
Author

Oh, thanks. I had snapdrop working long ago and I never realized that the circles stopped when another peer showed up. And now I thought something was wrong when this happened. Great to see that this is not the case. But the file transfer (or even mere messaging) doesn't work anyway.

Yes, the peer shows up and I get to pick and choose a file but it doesn't transfer over. The same applies to sending a message. Nothing goes through.

I am running PairDrop in (rootless) docker on Debian 11 in a VM on Proxmox. The peers are mobile phones (iOS and Android).

The server was set up using docker-compose. But TBH, I did tinker a bit with the compose file and removed the nginx service because the VM is already running behind a HAProxy. So I am connecting directly to port 3000.

There was an issue (because of the rootless docker) with write permissions but I chowned the directory to the user inside docker and now PairDrop is able to write to it and it does install node modules there.

I will update to the new version of PairDrop, test again and report back.

Thanks!

@schlagmichdoch
Copy link
Owner

I often thought Snapdrop has crashed because the circles have stopped, but that was because they didn't start again when a peer left again. Once stopped they would stay stopped forever.
With PairDrop circles restart when the last peer lefts and stop when any peer joines. They also stop, when the connection to the server is lost / the device is offline.

It should not matter how you run PairDrop as it is only a tool for discovering and signaling. Once the connection is successfully up (which is the case the devices are shown to each other) the connection is going peer to peer with webrtc. Once connected you can even shut down the PairDrop docker and the connection is still up.

Weird, that it does not work for you. Do you get any error messages on the javascript console?
Have you tried opening PairDrop on the same device on two tabs? Does that work?

@gitwittidbit
Copy link
Author

Strange. I don't think I already upgraded to the newest version but somehow - without any further changes that I am aware of - it started working. Now I can send files and messages through between desktop and phones etc.

Bit what I am now struggling with is finding paired devices that are not on the same network: So I have to devices see each other on the same network and I pair them (by clicking on the pair symbol on both of them, entering the number one presents to me in the dialogue on the other and get a confirmation that they are now paired). But when I then move one to another network (e.g. on the phone disable wifi), they stop seeing each other. Is there another step involved to make them find each other across networks (or did I misunderstand what this does)?

Thanks!

@schlagmichdoch
Copy link
Owner

Do you still use your own dockerized version of PairDrop or do you use pairdrop.net?
You did everything correctly. Are you sure you can still reach your PairDrop server after you switched off wifi?
For example, If you use a local IP address to connect to your PairDrop instance and then switch off WiFi, obviously it will stop working.

I suggest you try to make it work with pairdrop.net first and only if that works you try out your own version.

@gitwittidbit
Copy link
Author

yes, this is still the dockerized version in my home lab that originally was acting up - but that now is performing beautifully as long as both clients are on the same network.

And yes, I can reach the PairDrop server also from outside my home network (because I have exposed it on a subdomain).

I tried on paridrop.net, both devices could see each other on the same net, I paired them and moved one off my home net. Both devices are showing on the bottom of the browser windows that I can be discovered on the same network and by paired devices. But the paired device does not show up.

So my dockerized version might be working fine and I just don't understand how to use it correctly...

@schlagmichdoch
Copy link
Owner

What browsers and devices are you using? Does the javascript console show any errors?
Devices do not have to be on the same network to be paired, devices always need internet connection for discovery though.

If your javascript console shows the following message, your browser does not support persistent paired devices.

This browser does not support IndexedDB. Paired devices will be gone after the browser is closed.

You are however still able to pair devices temporarily: Simply pair devices again after moving one off your home device.

If PairDrop says "You can be discovered by everyone on this network and by paired devices" the above should not be the issue. Please proveide some screenshots for better understanding.

@schlagmichdoch
Copy link
Owner

I‘ll close this for now as the original issue is resolved. If you have any other issue with pairing devices it would b great, if you could create a new issue with more information.

Repository owner deleted a comment from schlagmichdoch Feb 17, 2024
@schlagmichdoch
Copy link
Owner

schlagmichdoch commented Apr 30, 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 preserve the information they hold:

Comment by @schlagmichdoch:

Hi @gitwittidbit,
Probably with "waves" you mean circles. They are programmatically stopped some seconds after a peer joins or when the connection to the server is stopped. In the case of a connection loss to the server all peers are cleared as well so I guess in your case the circles stop as intended because another peer joines.

Can you describe your issue further:

  • Do you see the other peer?
  • What exactly do you do?
  • What browsers and platforms are you using?
  • Is your issue also present, when using PairDrop under https://pairdrop.net/ or is it a problem with your dockered PairDrop only?
    • If yes, do you use docker or docker-compose?
    • What host system do you use? Linux?
    • Please run docker-compose without -d to see all logs in the cli:
      • Does npm successfully install the modules?

My best guess is that you are running your docker without proper write access to the directory.
Docker should not be run with root but with a user that has permissions to write to the PairDrop directory in order to install node modules. You can also install them manually with npm install and run PairDrop afterwords with npm run start or npm run start:prod.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants