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

Add support for video calls when requesting the password for a share #1123

Commits on Aug 8, 2018

  1. Revert "Open the call in a new tab for now"

    This reverts commit 112c73b.
    nickvergessen committed Aug 8, 2018
    Configuration menu
    Copy the full SHA
    135c823 View commit details
    Browse the repository at this point in the history
  2. Setup signaling event handlers only once

    Every time that a conversation to request a password was successfully
    created a new handler for the signaling event was registered. Thus, if a
    password was requested, the conversation ended, and the password was
    requested again from the same page then each event had two handlers.
    
    Until now, due to the behaviour of the handlers, even if incorrect it
    was not a problem. However, in preparation for changes to the "joinRoom"
    handler now a single handler is registered for each signaling event, no
    matter how many passwords were requested.
    
    Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
    danxuliu authored and nickvergessen committed Aug 8, 2018
    Configuration menu
    Copy the full SHA
    5ac52f8 View commit details
    Browse the repository at this point in the history
  3. Replace call to "connection.joinRoom" with custom implementation

    The implementation of "connection.joinRoom" calls
    "app.syncAndSetActiveRoom", which performs several actions needed when
    the full Talk UI is used, but unneeded when the embedded Talk sidebar is
    used.
    
    Moreover, as it is not possible to know when the rooms were synced,
    joining the call after joining the room could lead to UI issues due to
    the order in which elements were setup (for example, the empty content
    message "waiting for permissions" could be shown instead of "waiting for
    XXX to join the call"), so this is also a needed change to be able to
    add support for video calls.
    
    Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
    danxuliu authored and nickvergessen committed Aug 8, 2018
    Configuration menu
    Copy the full SHA
    76c99ee View commit details
    Browse the repository at this point in the history
  4. Add notification container to the page

    This is needed to show notifications using the standard
    "OC.Notification.show" function, which is used by some Talk functions.
    
    Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
    danxuliu authored and nickvergessen committed Aug 8, 2018
    Configuration menu
    Copy the full SHA
    68045d0 View commit details
    Browse the repository at this point in the history
  5. Add basic support for video calls

    When a password is requested now the guest automatically joins the call,
    and once the sharer joins the call too a video call view appears in the
    Talk sidebar.
    
    Although it is not currently shown, the empty content message for guest
    users was set, as it is expected to be set by some event handlers.
    
    In a similar way the "#screens" element was also added, but there is no
    support yet for screensharing and thus the element is kept always
    hidden.
    
    Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
    danxuliu authored and nickvergessen committed Aug 8, 2018
    Configuration menu
    Copy the full SHA
    e8410d5 View commit details
    Browse the repository at this point in the history
  6. Add proper layout for screensharing

    When a screen is shared it takes the upper area of the call container,
    and the videos are shown below it in a 200px high row, just like in the
    normal Talk UI.
    
    Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
    danxuliu authored and nickvergessen committed Aug 8, 2018
    Configuration menu
    Copy the full SHA
    c113242 View commit details
    Browse the repository at this point in the history
  7. Add local video and media controls

    The local video (or avatar) and the media controls to mute own audio,
    disable own video or share own screen are now included in the main view
    of the sidebar, just like in the normal Talk UI.
    
    Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
    danxuliu authored and nickvergessen committed Aug 8, 2018
    Configuration menu
    Copy the full SHA
    69e61fe View commit details
    Browse the repository at this point in the history
  8. Prevent shadows of videos from leaking on other elements

    Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
    danxuliu authored and nickvergessen committed Aug 8, 2018
    Configuration menu
    Copy the full SHA
    31039b8 View commit details
    Browse the repository at this point in the history
  9. Show empty content message when not in a call

    The empty content message informs the user when the app is waiting for
    the media permissions and then when it is waiting for the sharer to join
    the call. Thus it is now shown above the chat view, in the place that
    will be occupied by the call container once the call starts.
    
    Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
    danxuliu authored and nickvergessen committed Aug 8, 2018
    Configuration menu
    Copy the full SHA
    0ddf012 View commit details
    Browse the repository at this point in the history
  10. Do not try to sync rooms before requesting the password

    In the public page for a conversation the token is always defined, so
    the signaling can be initialized as soon as the app starts. However, in
    the public share auth page the token is only available once the password
    is requested and the room created, so trying to initialize the signaling
    when the app starts ends in failed requests to the room endpoint.
    
    Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
    danxuliu authored and nickvergessen committed Aug 8, 2018
    Configuration menu
    Copy the full SHA
    4666973 View commit details
    Browse the repository at this point in the history
  11. Make the events consistent

    Signed-off-by: Joas Schilling <coding@schilljs.com>
    nickvergessen committed Aug 8, 2018
    Configuration menu
    Copy the full SHA
    1002981 View commit details
    Browse the repository at this point in the history