After setting up a peer connection handshake with data channels, if I send a message while offline, then come back online, I will never be able to send messages ever again

NEW
Assigned to

Status

()

Core
WebRTC: Networking
P5
normal
Rank:
55
5 years ago
3 years ago

People

(Reporter: jsmith, Assigned: jesup)

Tracking

Trunk
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

5 years ago
STR:

1. Load the attached test case while online
2. Setup the handshake online
3. Kill the network
4. Send a message with one character for the local DC
5. Come back online
6. Try sending a message again with one character

Expected:

Debatable. If the connection between two data channels is lost, I'd potentialy expect onclose to fire to indicate that the channels have been closed due to loss of network connectivity temporarily. If it's possible technically to still continue, then I'd expect the message to be sent when you come back online.

Actual:

All sent messages are lost when you come back online. No onclose event fires either. So if a user loses network connectivity after a handshake is established between a local and remote peer with data channels, the connection is permanently lost when we lose connectivity. 

So why aren't we telling the developer the connection was lost permanently? Why can't we send messages again when we come back online?
(Reporter)

Comment 1

5 years ago
Created attachment 737335 [details]
Test Case
(Assignee)

Comment 2

5 years ago
How are you going offline?  Removing the cable, or using the OS to disable the network connection?  Or by selecting the browser menu item "Work offline"?  If the latter, I believe that calls close() on all PeerConnections (connected or not!)  Whether it should (and what errors should be thrown) is a question for discussion.
(Reporter)

Comment 3

5 years ago
(In reply to Randell Jesup [:jesup] from comment #2)
> How are you going offline?  Removing the cable, or using the OS to disable
> the network connection?  Or by selecting the browser menu item "Work
> offline"?  If the latter, I believe that calls close() on all
> PeerConnections (connected or not!)  Whether it should (and what errors
> should be thrown) is a question for discussion.

I chose work offline to move to go offline during this test case.
(Assignee)

Updated

5 years ago
Assignee: nobody → rjesup
Priority: -- → P5
Whiteboard: [WebRTC] [blocking-webrtc-]

Updated

3 years ago
backlog: --- → webRTC+
Rank: 55
Whiteboard: [WebRTC] [blocking-webrtc-]
You need to log in before you can comment on or make changes to this bug.