Skip to content
This repository has been archived by the owner on Feb 12, 2024. It is now read-only.

Sharing "big" files in Chrome and Safari/Firefox over webrtc not working #1307

Closed
AquiGorka opened this issue Apr 12, 2018 · 7 comments
Closed
Assignees
Labels
exp/expert Having worked on the specific codebase is important kind/bug A bug in existing code (including security flaws) kind/resolved-in-helia P1 High: Likely tackled by core team if no one steps up status/ready Ready to be worked

Comments

@AquiGorka
Copy link
Member

AquiGorka commented Apr 12, 2018

  • Version: 0.28.2
  • Platform: tested with Chrome, Safari and Firefox on MacOS.

Type: Bug

Description & steps to reproduce:

https://github.com/AquiGorka/test-ipfs-file-sharing

I understand there are a couple of issues around that might relate to this, in that case this is just double checking you are aware of this behaviour and asking for an ETA–I did try to hack around to make this work modifying the MAX_MESSAGE_SIZE as discussed here but that did not work.

By "big" I mean: not able to share files bigger than 500Kb (actual limit might be different).

@AquiGorka AquiGorka changed the title Sharing with "big" files in Chrome and Safari not working Sharing "big" files in Chrome and Safari not working Apr 12, 2018
@daviddias daviddias added kind/bug A bug in existing code (including security flaws) P1 High: Likely tackled by core team if no one steps up exp/expert Having worked on the specific codebase is important status/ready Ready to be worked labels Jun 4, 2018
@daviddias
Copy link
Member

I've tested this with https://github.com/ipfs/js-ipfs/tree/master/examples/exchange-files-in-browser multiple times and I've been always successful. @AquiGorka can you check again if this is still a issue was it ever a issue?

@AquiGorka
Copy link
Member Author

AquiGorka commented Jul 2, 2018

@diasdavid thanks for the reply, it is an issue.

I wrote a more detailed explanation here: https://github.com/AquiGorka/test-ipfs-file-sharing

There are two configurations for the signaling server:

  • webocket
  • webrtc

The example you mention uses websocket:

config: {
  Addresses: {
    Swarm: ['/dns4/ws-star.discovery.libp2p.io/tcp/443/wss/p2p-websocket-star']
  }
}

which will always work well. In my test scenario if the signaling server is set to use webrtc the problems with "big files" appear.

My test uses a "private" IPFS network where the only nodes connecting are the browser nodes, I am aware there are some implementations off cli/daemon nodes to help transfer data.

@AquiGorka
Copy link
Member Author

AquiGorka commented Jul 2, 2018

I developed a GIF sharing app that uses IPFS and implemented cross-browser e2e tests, if the settings use webrtc (either local or IPFS) the tests fail, when using local websocket the tests always pass and when using the IPFS websocket signaling server, the tests sometimes pass and other times they don't (could never tell why, maybe a traffic throttle for connections on the signaling server).

You can check out the app & tests here:

@alanshaw alanshaw changed the title Sharing "big" files in Chrome and Safari not working Sharing "big" files in Chrome and Safari over webrtc not working Feb 6, 2019
@AquiGorka
Copy link
Member Author

@jacobheun this is the issue I was telling you about after your talk at IPFS camp.

@AquiGorka AquiGorka changed the title Sharing "big" files in Chrome and Safari over webrtc not working Sharing "big" files in Chrome and Safari/Firefox over webrtc not working Jul 1, 2019
@jacobheun
Copy link
Contributor

@AquiGorka thank for pinging me here. I'll be looking into this as a part of #2161 (comment), as I believe the underlying issue has to do with a bug in Chrome and the max 64k webrtc message/chunk size.

@SgtPooki
Copy link
Member

js-ipfs is being deprecated in favor of Helia. You can #4336 and read the migration guide.

Please feel to reopen with any comments by 2023-06-02. We will do a final pass on reopened issues afterwards (see #4336).

This is something we should have a test for in libp2p if we don't already. re-assigning to @achingbrain as he has more context.

@SgtPooki SgtPooki assigned achingbrain and unassigned SgtPooki May 26, 2023
@achingbrain
Copy link
Member

This is fixed in @libp2p/webrtc - please upgrade to Helia to use the new transports!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
exp/expert Having worked on the specific codebase is important kind/bug A bug in existing code (including security flaws) kind/resolved-in-helia P1 High: Likely tackled by core team if no one steps up status/ready Ready to be worked
Projects
No open projects
Status: Done
Development

No branches or pull requests

5 participants