Closed Bug 1277316 Opened 8 years ago Closed 8 years ago

Don't initiate WebRTC when an Akita room is opened - wait for initiation from the user

Categories

(Hello (Loop) :: Client, defect, P1)

defect

Tracking

(Not tracked)

RESOLVED FIXED
Iteration:
50.1 - Jun 20

People

(Reporter: standard8, Assigned: standard8)

References

Details

(Whiteboard: [akita-alpha])

User Story

Expected UX for this bug:

- When opening a room the WebRTC connection is not initiated. The user is not prompted for Camera/Microphone access.
- The camera and microphone buttons appear initially muted (we can do icon changes in a follow-up later).
- Selecting the camera or microphone starts the WebRTC connection and assumes audio+video (or mutes/unmutes if already started).

Note: some of this UX may change again later, this bug is just to use the existing UI parts to speed development of the basic changes.

PR 484 Tech checklist:

- Find the existing JoinRoom action dispatch locations and disable them.
- Make the JoinRoom happen on clicking the unmute camera or microphone buttons.
- serverConnectionStore should now store the room information (url, name etc), so maybe move where UpdateRoomInfo is received.

Todo checklist:

- Change the serverConnectionStore to do `loop.request("Rooms:Join"...` on receiving setupWindowData and fetchServerData actions.
-- Sidenote: the refresh should start when that Rooms:Join is successful.
- Need to also hook up sharing of webrtc session tokens from the serverConnectionStore to activeRoomStore (for now).

Attachments

(2 files)

See the user story for details.

Depends on the work in bug 1277089.
Rank: 12
Initially assigning to Dave as its likely to be him or myself working on this.
Assignee: nobody → dcritchley
Assignee: dcritchley → standard8
Work in progress branch here:

https://github.com/Standard8/loop/tree/bug-1277316-initchanges

Its based on top of Dave's branch from bug 1277089.
Attachment #8760440 - Flags: review?(dcritchley)
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Status: REOPENED → NEW
User Story: (updated)
Attachment #8760440 - Flags: review?(dcritchley) → review+
Blocks: 1279033
Blocks: 1279037
Comment on attachment 8760914 [details] [review]
[loop] Standard8:bug-1277316-joinchanges > mozilla:akita

This is ready for review. Summary of changes:

- Allow max clients for the async part of the room to be "999" (for now at least).
- Makes POST /rooms/:token with action=join/leave triggered when the page is loaded or unloaded.
- Initiating WebRTC is now separate from the POST /rooms/:token functionality. Hence a person can join a room, and the owner be notified, outside of WebRTC connections.

Follow-up bugs to file / check we have (not doing today as its the weekend):

- Decide on Max clients.
- Check action names for otSdkDriver & serverConnectionStore still make sense.
- Go through the error handling cases and update actions/UI, decide on how these should be managed.
- Stop the Room ToC joining the room as well (currently both the sidebar + ToC join the room, needs the backend hook so that data can be obtained for the ToC from the sidebar)
Attachment #8760914 - Flags: review?(fernando.campo)
Attachment #8760914 - Flags: review?(edilee)
Attachment #8760914 - Flags: review?(dmose)
Attachment #8760914 - Flags: review?(dcritchley)
If anyone is testing this with a local server, they'll need to add the following to their server's config file:

{
  "rooms": {
    "maxSize": 999
  }
}

(or combine that into their existing config).
Attachment #8760914 - Flags: review?(fernando.campo)
Attachment #8760914 - Flags: review?(edilee)
Attachment #8760914 - Flags: review?(dmose)
Attachment #8760914 - Flags: review?(dcritchley) → review+
https://github.com/mozilla/loop/commit/df922a37f78fcb8a50c3321fbc5d292dc036fe40
Status: NEW → RESOLVED
Iteration: --- → 50.1
Closed: 8 years ago8 years ago
Flags: needinfo?(standard8)
Resolution: --- → FIXED
(In reply to Mark Banner (:standard8) from comment #6)
> Follow-up bugs to file / check we have (not doing today as its the weekend):
> 
> - Decide on Max clients.

Bug 1281141

> - Check action names for otSdkDriver & serverConnectionStore still make
> sense.

Bug 1281142

> - Go through the error handling cases and update actions/UI, decide on how
> these should be managed.

Bug 1281145

> - Stop the Room ToC joining the room as well (currently both the sidebar +
> ToC join the room, needs the backend hook so that data can be obtained for
> the ToC from the sidebar)

Bug 1281146
Flags: needinfo?(standard8)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: