agora-appbuilder-core 4.0.0-beta.29 → 4.0.0-beta.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agora-appbuilder-core",
3
- "version": "4.0.0-beta.29",
3
+ "version": "4.0.0-beta.30",
4
4
  "description": "React Native template for RTE app builder",
5
5
  "main": "index.js",
6
6
  "files": [
@@ -18,9 +18,12 @@ export interface IconsInterface {
18
18
  'turn-off-stt': string;
19
19
  'live-caption-mode': string;
20
20
  done: string;
21
+ warning: string;
21
22
  }
22
23
 
23
24
  const icons: IconsInterface = {
25
+ warning:
26
+ 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAACXBIWXMAACE4AAAhOAFFljFgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAM1SURBVHgB7Zo9TBNhGMefUoUiPT+iEXAgDshGtAEXbWKiJCVxAxZd2sWpLrrIYuLA4Ohg4qiTUxlNWNy6oQnRTZ1Y0EGl9IDWD/B9Ds9ctPd+Pu+LXO+XvM2lfZvev89zz9dd5srE8C50ET3QZaSCk04qOOmkgpNOKtgF+b7dYO0Hh8AxlWKTLT84flbPs+WBS5xaeHp8649YBI8vjHwDlzgVHBUbcu/6ulP3diYYXXno2M9/3h9m781d9MEVTgSj0LnJzdjPZye2nFnZiWC0bj4XL8jr34HqVANcYF0wWnd6fFu4D/e4CGDWBT+6+VlqX4atMvME21gVjGmoU6CKo8AsjN+xiTXBKLRTGhJRvdq0GsCsCVa1bggGMJtpyopgXeuGzE7q/VkyWBFcMQw+Xm4nqMBsQC4YXVkmDYnAFGUjTZELNnHlKJimbFiZVDCWjzLXXv1dLlgi9ursTaCErB8ekjy5xy+PQm15IDhGlxUVJuVLPiy9OQJ+OwMUkFk4rhv6Gzz5kJXVXuF+TFOUFRiJYNl6GdGxFHoOVQAjEbww8wVsQllnGwvGNDQ6+ANsgxYunmuBKcaCqdKQCLRydWrDuM42EiwbqKigGAdpCzatl3UxrbO1BVccNOudwDr79rUN0EVL8Ojgd5J6WZfLYy3tNKUleGHmK+gSPVFd18QAputhyoJ1G/uQedYQFEbawTL943Tq7IzKUzwoFGtfl5GZR7PVAzeenFaq3pQsLNsNyUAxtcIAppqmpAXLdkMi1hpZePjiONxfPBEcm1JmqVHFCNKCqdLQnecnYeltP9Tf5+DW01Pgt8zaPvz2vMKgQEow1dgG+Rixqs+uQb9t3r+cVxgHSf0aZUVViJwYlooUMUFlHJQ9e8Z7wNuArlwcawMV6CkoEi1yt9SAXqKZi/f7Zt3Kah93H/fnVBp7FWxVaVhn15bz3DTFdWnX3ZApQZ0tuO0aK9iWdW1TEtx2jRXMu2P/P4POXOLcgYwVTDUW3Q/87fgrNfaT2quBoBLC2HdgFntZW8/C4uu9uXcnhM2D6+eoTECv/PDpMHePMAvKDMsPEunDpUknFZx0UsFJp+sE/wKxVEJyoyLawQAAAABJRU5ErkJggg==',
24
27
  vb: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAEfSURBVHgB7VNbEcIwELwwCCgOkIADggMcgAQcVAI4KBJAARLAQeugdXBc6KVzpE2a5Ls7szNtsrebywNgQSoQsSWe+XtLrIlvYsFjJ+xhNQXPD5q5gJD5kfgKmZsFxISMzD26cqq7LHNe7YVYmQ6Mzo5Lc9tdKGDK3IZK1CIkzpzFsmVrUOE0Xjx/k+cyF2DNS1HkQ+vU/A4dIroo2UDzfxsKkOazAcL8LMbunoDKNY/ZosGcCwth8Lf/YmuyHpo1vYg5jf0V1W4NJj40e+c1JAAnHpqaKTCrOhL3xB1xSzRjHbEhfohPpdSD9dpo6P8OER2UgdvjojZ6SGi1wjxcXS/lCUDIQ0fbs5EDK58Q8jC6pmuP8AD9oaaigQWp+AKsAoDF7uWeIAAAAABJRU5ErkJggg==',
25
28
  'vb-image':
26
29
  'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAAB20lEQVRIie2UPWsUURSGn2siwcRsdgU/EkjnT5BgsZVgxCaNCiqIIi4WRrD1F6RQxMKAgTRWahkIikktRtzSD1IpCIIEsfAjCQQei5zRyZDdmVjnheHcc+5733fuzLkXdrFTqJ/UEzE+pLbVp+reqF1Rv6rjkTfUl+ozdV8Vg4mIh9W36kK2UG2qi+qZnHhbfaXWona5iskR9V1evANvqiiurlcRf18UV/vVlno3Yr/aow7kxdULZQYfthEfVpfdxK+Iy+pwzF+qJB7k/DcfjPhE/aE2I29G/jjyO5m42igzyMSvqedjvKJOF3jT6kr2+SLW1Td53p6iQUppVW0BD4CPUV4DagVqDViNNb/VOrAAWLaDlrqWtWvU7qsb6g31aMQN9V7MD6mv46mXGfwVjz4/qA6o827FfNR74qAtqUNdxUM0L95WJ3NzY9ExY4U1FzNx9VwVk/3qLePKqAr1bPGgpQ7ElFIyOuo0cAo4BowAfcA68AVoAy+A59EcJ4GRlNKjMoM+4DZwEzgAfAeWgM8xbgCjwPEYf2Oz66ZSSt2vijCYiR85p06ovR14vTE/F/yHRU6nHfwEFoGrpW/zD7PAeEppsIpB98PSBSmlLZrbbh24/r8Gu9gx/gBohhCCgI16xQAAAABJRU5ErkJggg==',
@@ -103,11 +103,10 @@ interface ConfigInterface {
103
103
  ENABLE_IDP_AUTH: boolean;
104
104
  PROJECT_ID: string;
105
105
  ENABLE_STT: boolean;
106
- ENABLE_AINS: boolean;
106
+ ENABLE_NOISE_CANCELLATION: boolean;
107
107
  ENABLE_VIRTUAL_BACKGROUND: boolean;
108
108
  ENABLE_WHITEBOARD: boolean;
109
- ENABLE_CHAT_NOTIFICATION: boolean;
110
- WAITING_ROOM: boolean;
109
+ ENABLE_WAITING_ROOM: boolean;
111
110
  WHITEBOARD_APPIDENTIFIER: string;
112
111
  WHITEBOARD_REGION: string;
113
112
  }
@@ -21,7 +21,7 @@ export function NoiseSupressionProvider(props) {
21
21
  );
22
22
 
23
23
  useEffect(() => {
24
- if ($config.ENABLE_AINS) {
24
+ if ($config.ENABLE_NOISE_CANCELLATION) {
25
25
  }
26
26
  }, []);
27
27
 
@@ -33,7 +33,7 @@ export function NoiseSupressionProvider(props) {
33
33
  let processor = useRef(null);
34
34
 
35
35
  useEffect(() => {
36
- if ($config.ENABLE_AINS) {
36
+ if ($config.ENABLE_NOISE_CANCELLATION) {
37
37
  const denoiserExtension = new AIDenoiserExtension({assetsPath: 'wasm'});
38
38
  AgoraRTC.registerExtensions([denoiserExtension]);
39
39
  processor.current = denoiserExtension.createProcessor();
@@ -42,7 +42,7 @@ export function NoiseSupressionProvider(props) {
42
42
  }, []);
43
43
 
44
44
  const enableNoiseSuppression = async () => {
45
- if (!$config.ENABLE_AINS) {
45
+ if (!$config.ENABLE_NOISE_CANCELLATION) {
46
46
  throw new Error('AINS disabled in config');
47
47
  }
48
48
  //@ts-ignore
@@ -116,7 +116,7 @@ const MoreButton = () => {
116
116
  const {isNoiseSupressionEnabled, setNoiseSupression} = useNoiseSupression();
117
117
 
118
118
  //AINS
119
- if ($config.ENABLE_AINS) {
119
+ if ($config.ENABLE_NOISE_CANCELLATION) {
120
120
  actionMenuitems.push({
121
121
  toggleStatus: isNoiseSupressionEnabled === ToggleState.enabled,
122
122
  disabled:
@@ -148,7 +148,7 @@ const MoreButton = () => {
148
148
  }
149
149
  setIsVBActive(prev => !prev);
150
150
  };
151
- if ($config.ENABLE_VIRTUAL_BACKGROUND) {
151
+ if ($config.ENABLE_VIRTUAL_BACKGROUND && !$config.AUDIO_ROOM) {
152
152
  actionMenuitems.push({
153
153
  isBase64Icon: true,
154
154
  //@ts-ignore
@@ -185,13 +185,13 @@ const MoreButton = () => {
185
185
  useEffect(() => {
186
186
  whiteboardActive && currentLayout !== 'pinned' && setLayout('pinned');
187
187
 
188
- // if (!$config.WAITING_ROOM) {
188
+ // if (!$config.ENABLE_WAITING_ROOM) {
189
189
  // events.on('WhiteBoardStopped', WhiteboardStoppedCallBack);
190
190
  // events.on('WhiteBoardStarted', WhiteboardStartedCallBack);
191
191
  // }
192
192
 
193
193
  // return () => {
194
- // if (!$config.WAITING_ROOM) {
194
+ // if (!$config.ENABLE_WAITING_ROOM) {
195
195
  // events.off('WhiteBoardStopped', WhiteboardStoppedCallBack);
196
196
  // events.off('WhiteBoardStarted', WhiteboardStartedCallBack);
197
197
  // }
@@ -659,7 +659,7 @@ export const MoreButtonToolbarItem = () => {
659
659
  return (
660
660
  (width < BREAKPOINTS.md ||
661
661
  $config.ENABLE_STT ||
662
- $config.ENABLE_AINS ||
662
+ $config.ENABLE_NOISE_CANCELLATION ||
663
663
  $config.ENABLE_VIRTUAL_BACKGROUND ||
664
664
  $config.ENABLE_WHITEBOARD) && (
665
665
  <ToolbarItem testID="more-btn">
@@ -117,7 +117,11 @@ const ParticipantView = props => {
117
117
  */
118
118
  <>
119
119
  {/* c) Waiting Room View */}
120
- {$config.WAITING_ROOM ? <WaitingRoomParticipants /> : <></>}
120
+ {$config.ENABLE_WAITING_ROOM ? (
121
+ <WaitingRoomParticipants />
122
+ ) : (
123
+ <></>
124
+ )}
121
125
  {/* a) Live streaming view */}
122
126
 
123
127
  <CurrentLiveStreamRequestsView userList={liveStreamData} />
@@ -218,7 +222,7 @@ const ParticipantView = props => {
218
222
  </>
219
223
  ) : (
220
224
  <>
221
- {$config.WAITING_ROOM && isHost ? (
225
+ {$config.ENABLE_WAITING_ROOM && isHost ? (
222
226
  <WaitingRoomParticipants />
223
227
  ) : (
224
228
  <></>
@@ -109,7 +109,8 @@ const JoinRoomInputView = ({isDesktop}) => {
109
109
  ? style.btnContainerStyle
110
110
  : {width: '100%'}
111
111
  }>
112
- {$config.WAITING_ROOM && rtcProps.role === ClientRole.Audience ? (
112
+ {$config.ENABLE_WAITING_ROOM &&
113
+ rtcProps.role === ClientRole.Audience ? (
113
114
  <JoinWaitingRoomBtn />
114
115
  ) : (
115
116
  <JoinButton />
@@ -114,7 +114,8 @@ const JoinRoomInputView = ({isDesktop}) => {
114
114
  ? style.btnContainerStyle
115
115
  : {width: '100%'}
116
116
  }>
117
- {$config.WAITING_ROOM && rtcProps.role === ClientRole.Audience ? (
117
+ {$config.ENABLE_WAITING_ROOM &&
118
+ rtcProps.role === ClientRole.Audience ? (
118
119
  <JoinWaitingRoomBtn />
119
120
  ) : (
120
121
  <JoinButton />
@@ -201,7 +202,8 @@ const JoinRoomButton = () => {
201
202
  return components;
202
203
  });
203
204
 
204
- return $config.WAITING_ROOM && rtcProps.role === ClientRole.Audience ? (
205
+ return $config.ENABLE_WAITING_ROOM &&
206
+ rtcProps.role === ClientRole.Audience ? (
205
207
  <JoinWaitingRoomBtn />
206
208
  ) : (
207
209
  <JoinButton />
@@ -503,7 +503,7 @@ const RtmConfigure = (props: any) => {
503
503
 
504
504
  useAsyncEffect(async () => {
505
505
  //waiting room attendee -> rtm login will happen on page load
506
- if ($config.WAITING_ROOM) {
506
+ if ($config.ENABLE_WAITING_ROOM) {
507
507
  //attendee
508
508
  if (!isHost && !callActive) {
509
509
  await init();
@@ -513,7 +513,7 @@ const RtmConfigure = (props: any) => {
513
513
  await init();
514
514
  }
515
515
  }
516
- if (!$config.WAITING_ROOM) {
516
+ if (!$config.ENABLE_WAITING_ROOM) {
517
517
  //host and attendee
518
518
  if (callActive) {
519
519
  await init();
@@ -156,9 +156,6 @@ const ChatMessagesProvider = (props: ChatMessagesProviderProps) => {
156
156
  isPrivateMessage: boolean = false,
157
157
  forceStop: boolean = false,
158
158
  ) => {
159
- if (!$config.ENABLE_CHAT_NOTIFICATION) {
160
- return;
161
- }
162
159
  //don't show group message notification if group chat is open
163
160
  if (!isPrivateMessage && groupActiveRef.current) {
164
161
  return;
@@ -209,7 +206,7 @@ const ChatMessagesProvider = (props: ChatMessagesProviderProps) => {
209
206
  EventNames.PUBLIC_CHAT_MESSAGE,
210
207
  data => {
211
208
  const forceStop =
212
- $config.WAITING_ROOM &&
209
+ $config.ENABLE_WAITING_ROOM &&
213
210
  !isHostRef.current.isHost &&
214
211
  !callActiveRef.current.callActive;
215
212
  const payload = JSON.parse(data.payload);
@@ -187,46 +187,6 @@ export default function UserActionMenuOptionsOptions(
187
187
  },
188
188
  });
189
189
  }
190
-
191
- if ($config.DISABLE_CHAT_OPTION) {
192
- console.log('disable chat uids', disableChatUids);
193
- const isDisableChat = disableChatUids[user.uid]?.disableChat || false;
194
- items.push({
195
- icon: 'chat-outlined',
196
- onHoverIcon: 'chat-filled',
197
- iconColor: $config.SECONDARY_ACTION_COLOR,
198
- textColor: $config.SECONDARY_ACTION_COLOR,
199
- title: `${isDisableChat ? 'Enable' : 'Disable'} Chat`,
200
- callback: () => {
201
- // send l2 custom events
202
- console.warn('sending1 custom events for disable-chat');
203
- // setDisableChat(prev => !prev); // for local user
204
-
205
- setDisableChatUids(prevState => {
206
- // upate disable uids
207
- const isDisabled = prevState[user.uid]
208
- ? prevState[user.uid].disableChat
209
- : false;
210
- return {
211
- ...prevState,
212
- [user.uid]: {
213
- disableChat: !isDisableChat,
214
- },
215
- };
216
- });
217
- setActionMenuVisible(false);
218
- customEvents.send(
219
- 'DisableChat',
220
- JSON.stringify({
221
- disableChatUid: user.uid,
222
- disableChat: !isDisableChat,
223
- }), // uid for chat disabled user
224
- PersistanceLevel.Session,
225
- );
226
- },
227
- });
228
- }
229
-
230
190
  /**
231
191
  * Only host can see this menu item - request/mute - video/audio, promote to co host,demote to audience,remove form meeting
232
192
  */
@@ -135,21 +135,26 @@ const PreCallLocalMute = (props: PreCallProps) => {
135
135
  <PreCallSettings />
136
136
  </>
137
137
  )}
138
- {$config.ENABLE_VIRTUAL_BACKGROUND && !isMobileUA() && (
139
- <>
140
- <Spacer size={isMobileView ? 24 : 16} horizontal={true} />{' '}
141
- <VBButton isVBOpen={isVBOpen} setIsVBOpen={setIsVBOpen} />
142
- </>
143
- )}
144
- {$config.ENABLE_VIRTUAL_BACKGROUND && !isMobileView && !isNative && (
145
- <>
146
- <Spacer size={isMobileView ? 24 : 16} horizontal={true} />{' '}
147
- <SettingsButton
148
- isSettingsOpen={isSettingsOpen}
149
- setIsSettingsOpen={setIsSettingsOpen}
150
- />
151
- </>
152
- )}
138
+ {$config.ENABLE_VIRTUAL_BACKGROUND &&
139
+ !isMobileUA() &&
140
+ !$config.AUDIO_ROOM && (
141
+ <>
142
+ <Spacer size={isMobileView ? 24 : 16} horizontal={true} />{' '}
143
+ <VBButton isVBOpen={isVBOpen} setIsVBOpen={setIsVBOpen} />
144
+ </>
145
+ )}
146
+ {$config.ENABLE_VIRTUAL_BACKGROUND &&
147
+ !$config.AUDIO_ROOM &&
148
+ !isMobileView &&
149
+ !isNative && (
150
+ <>
151
+ <Spacer size={isMobileView ? 24 : 16} horizontal={true} />{' '}
152
+ <SettingsButton
153
+ isSettingsOpen={isSettingsOpen}
154
+ setIsSettingsOpen={setIsSettingsOpen}
155
+ />
156
+ </>
157
+ )}
153
158
  </View>
154
159
  );
155
160
  };
@@ -72,7 +72,7 @@ const JoinWaitingRoomBtn = (props: PreCallJoinWaitingRoomBtnProps) => {
72
72
  } = useRoomInfo();
73
73
 
74
74
  useEffect(() => {
75
- if ($config.WAITING_ROOM && !isHost && token) {
75
+ if ($config.ENABLE_WAITING_ROOM && !isHost && token) {
76
76
  setCallActive(true);
77
77
  }
78
78
  }, [token]);
@@ -85,7 +85,7 @@ const JoinWaitingRoomBtn = (props: PreCallJoinWaitingRoomBtnProps) => {
85
85
  } = useRoomInfo();
86
86
 
87
87
  useEffect(() => {
88
- if ($config.WAITING_ROOM && !isHost && token) {
88
+ if ($config.ENABLE_WAITING_ROOM && !isHost && token) {
89
89
  setCallActive(true);
90
90
  }
91
91
  }, [token]);
@@ -152,7 +152,7 @@ const RecordingProvider = (props: RecordingProviderProps) => {
152
152
  if (prevRecordingState) {
153
153
  if (prevRecordingState?.isRecordingActive === isRecordingActive) return;
154
154
 
155
- if ($config.WAITING_ROOM && !isHost && !callActive) {
155
+ if ($config.ENABLE_WAITING_ROOM && !isHost && !callActive) {
156
156
  return;
157
157
  }
158
158
 
@@ -70,7 +70,7 @@ export default function useJoinRoom() {
70
70
  const {client} = useContext(GraphQLContext);
71
71
  const username = useGetName();
72
72
  const {request: requestToJoin} = useWaitingRoomAPI();
73
- const isWaitingRoomEnabled = $config.WAITING_ROOM;
73
+ const isWaitingRoomEnabled = $config.ENABLE_WAITING_ROOM;
74
74
 
75
75
  return async (phrase: string) => {
76
76
  setRoomInfo(prevState => {