- {_t("Your membership of this group is public")}
+ {_t("This group is published on your profile")}
@@ -749,11 +747,11 @@ export default React.createClass({
publicisedButton =
- {_t("Your membership of this group is private")}
+ {_t("This group is not published on your profile")}
{publicisedButton}
diff --git a/src/components/views/elements/AppTile.js b/src/components/views/elements/AppTile.js
index 7436f84f69..f4e4702989 100644
--- a/src/components/views/elements/AppTile.js
+++ b/src/components/views/elements/AppTile.js
@@ -19,6 +19,7 @@ limitations under the License.
import url from 'url';
import React from 'react';
import MatrixClientPeg from '../../../MatrixClientPeg';
+import PlatformPeg from '../../../PlatformPeg';
import ScalarAuthClient from '../../../ScalarAuthClient';
import SdkConfig from '../../../SdkConfig';
import Modal from '../../../Modal';
@@ -127,6 +128,30 @@ export default React.createClass({
loading: false,
});
});
+ window.addEventListener('message', this._onMessage, false);
+ },
+
+ componentWillUnmount() {
+ window.removeEventListener('message', this._onMessage);
+ },
+
+ _onMessage(event) {
+ if (this.props.type !== 'jitsi') {
+ return;
+ }
+ if (!event.origin) {
+ event.origin = event.originalEvent.origin;
+ }
+
+ if (!this.state.widgetUrl.startsWith(event.origin)) {
+ return;
+ }
+
+ if (event.data.widgetAction === 'jitsi_iframe_loaded') {
+ const iframe = this.refs.appFrame.contentWindow
+ .document.querySelector('iframe[id^="jitsiConferenceFrame"]');
+ PlatformPeg.get().setupScreenSharingForIframe(iframe);
+ }
},
_canUserModify: function() {
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json
index 2e7c6d513c..09b3f045df 100644
--- a/src/i18n/strings/en_EN.json
+++ b/src/i18n/strings/en_EN.json
@@ -884,12 +884,12 @@
"The user '%(displayName)s' could not be removed from the summary.": "The user '%(displayName)s' could not be removed from the summary.",
"Failed to add the following rooms to the summary of %(groupId)s:": "Failed to add the following rooms to the summary of %(groupId)s:",
"The room '%(roomName)s' could not be removed from the summary.": "The room '%(roomName)s' could not be removed from the summary.",
- "Your membership of this group is public": "Your membership of this group is public",
- "Your membership of this group is private": "Your membership of this group is private",
- "Make private": "Make private",
- "Make public": "Make public",
"Add rooms to the group": "Add rooms to the group",
"Which rooms would you like to add to this group?": "Which rooms would you like to add to this group?",
"Add to group": "Add to group",
- "Failed to add the following rooms to %(groupId)s:": "Failed to add the following rooms to %(groupId)s:"
+ "Failed to add the following rooms to %(groupId)s:": "Failed to add the following rooms to %(groupId)s:",
+ "Unpublish": "Unpublish",
+ "This group is published on your profile": "This group is published on your profile",
+ "Publish": "Publish",
+ "This group is not published on your profile": "This group is not published on your profile"
}
diff --git a/src/stores/GroupSummaryStore.js b/src/stores/GroupSummaryStore.js
index 170a1ec11e..aa6e74529b 100644
--- a/src/stores/GroupSummaryStore.js
+++ b/src/stores/GroupSummaryStore.js
@@ -68,4 +68,10 @@ export default class GroupSummaryStore extends EventEmitter {
.removeUserFromGroupSummary(this._groupId, userId)
.then(this._fetchSummary.bind(this));
}
+
+ setGroupPublicity(isPublished) {
+ return this._matrixClient
+ .setGroupPublicity(this._groupId, isPublished)
+ .then(this._fetchSummary.bind(this));
+ }
}