You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

actions.web.js 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // @flow
  2. import type { Dispatch } from 'redux';
  3. declare var APP: Object;
  4. declare var config: Object;
  5. const logger = require('jitsi-meet-logger').getLogger(__filename);
  6. export {
  7. connectionEstablished,
  8. connectionFailed,
  9. setLocationURL
  10. } from './actions.native';
  11. /**
  12. * Opens new connection.
  13. *
  14. * @returns {Promise<JitsiConnection>}
  15. */
  16. export function connect() {
  17. return (dispatch: Dispatch<*>, getState: Function) => {
  18. const state = getState();
  19. // XXX Lib-jitsi-meet does not accept uppercase letters.
  20. const room = state['features/base/conference'].room.toLowerCase();
  21. // XXX For web based version we use conference initialization logic
  22. // from the old app (at the moment of writing).
  23. return APP.conference.init({
  24. roomName: room
  25. }).catch(error => {
  26. APP.API.notifyConferenceLeft(APP.conference.roomName);
  27. logger.error(error);
  28. });
  29. };
  30. }
  31. /**
  32. * Closes connection.
  33. *
  34. * @param {boolean} [requestFeedback] - Whether or not to attempt showing a
  35. * request for call feedback.
  36. * @returns {Function}
  37. */
  38. export function disconnect(requestFeedback: boolean = false) {
  39. // XXX For web based version we use conference hanging up logic from the old
  40. // app.
  41. return () => APP.conference.hangup(requestFeedback);
  42. }