Merge remote-tracking branch 'upstream/v2.6.x-release' into v2.6-tests-fixes
This commit is contained in:
commit
282a81b0e9
@ -11,7 +11,7 @@ stages:
|
|||||||
|
|
||||||
# define which docker image to use for builds
|
# define which docker image to use for builds
|
||||||
default:
|
default:
|
||||||
image: gitlab.senfcall.de:5050/senfcall-public/docker-bbb-build:v2022-07-12
|
image: gitlab.senfcall.de:5050/senfcall-public/docker-bbb-build:v2022-12-08-meteor-290
|
||||||
|
|
||||||
# This stage uses git to find out since when each package has been unmodified.
|
# This stage uses git to find out since when each package has been unmodified.
|
||||||
# it then checks an API endpoint on the package server to find out for which of
|
# it then checks an API endpoint on the package server to find out for which of
|
||||||
|
@ -47,6 +47,7 @@ import org.bigbluebutton.api.domain.BreakoutRoomsParams;
|
|||||||
import org.bigbluebutton.api.domain.LockSettingsParams;
|
import org.bigbluebutton.api.domain.LockSettingsParams;
|
||||||
import org.bigbluebutton.api.domain.Meeting;
|
import org.bigbluebutton.api.domain.Meeting;
|
||||||
import org.bigbluebutton.api.domain.Group;
|
import org.bigbluebutton.api.domain.Group;
|
||||||
|
import org.bigbluebutton.api.service.ServiceUtils;
|
||||||
import org.bigbluebutton.api.util.ParamsUtil;
|
import org.bigbluebutton.api.util.ParamsUtil;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@ -685,7 +686,7 @@ public class ParamsProcessorUtil {
|
|||||||
String parentMeetingId = "";
|
String parentMeetingId = "";
|
||||||
if (isBreakout) {
|
if (isBreakout) {
|
||||||
internalMeetingId = params.get(ApiParams.MEETING_ID);
|
internalMeetingId = params.get(ApiParams.MEETING_ID);
|
||||||
parentMeetingId = params.get(ApiParams.PARENT_MEETING_ID);
|
parentMeetingId = ServiceUtils.findMeetingFromMeetingID(params.get(ApiParams.PARENT_MEETING_ID)).getInternalId();
|
||||||
// We rebuild the the external meeting using the has of the parent
|
// We rebuild the the external meeting using the has of the parent
|
||||||
// meeting, the shared timestamp and the sequence number
|
// meeting, the shared timestamp and the sequence number
|
||||||
String timeStamp = StringUtils.substringAfter(internalMeetingId, "-");
|
String timeStamp = StringUtils.substringAfter(internalMeetingId, "-");
|
||||||
|
@ -1 +1 @@
|
|||||||
BIGBLUEBUTTON_RELEASE=2.6.0-beta.2
|
BIGBLUEBUTTON_RELEASE=2.6.0-beta.3
|
||||||
|
@ -5,20 +5,20 @@
|
|||||||
|
|
||||||
meteor-base@1.5.1
|
meteor-base@1.5.1
|
||||||
mobile-experience@1.1.0
|
mobile-experience@1.1.0
|
||||||
mongo@1.15.0
|
mongo@1.16.3
|
||||||
reactive-var@1.0.11
|
reactive-var@1.0.12
|
||||||
|
|
||||||
standard-minifier-css@1.8.1
|
standard-minifier-css@1.8.3
|
||||||
standard-minifier-js@2.8.0
|
standard-minifier-js@2.8.1
|
||||||
es5-shim@4.8.0
|
es5-shim@4.8.0
|
||||||
ecmascript@0.16.2
|
ecmascript@0.16.4
|
||||||
shell-server@0.5.0
|
shell-server@0.5.0
|
||||||
|
|
||||||
static-html@1.3.2
|
static-html@1.3.2
|
||||||
react-meteor-data
|
react-meteor-data
|
||||||
session@1.2.0
|
session@1.2.1
|
||||||
tracker@1.2.0
|
tracker@1.2.1
|
||||||
check@1.3.1
|
check@1.3.2
|
||||||
|
|
||||||
rocketchat:streamer
|
rocketchat:streamer
|
||||||
meteortesting:mocha
|
meteortesting:mocha
|
||||||
|
@ -1 +1 @@
|
|||||||
METEOR@2.7.3
|
METEOR@2.9.0
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
allow-deny@1.1.1
|
allow-deny@1.1.1
|
||||||
autoupdate@1.8.0
|
autoupdate@1.8.0
|
||||||
babel-compiler@7.9.0
|
babel-compiler@7.10.1
|
||||||
babel-runtime@1.5.1
|
babel-runtime@1.5.1
|
||||||
base64@1.0.12
|
base64@1.0.12
|
||||||
binary-heap@1.0.11
|
binary-heap@1.0.11
|
||||||
@ -9,21 +9,21 @@ boilerplate-generator@1.7.1
|
|||||||
caching-compiler@1.2.2
|
caching-compiler@1.2.2
|
||||||
caching-html-compiler@1.2.1
|
caching-html-compiler@1.2.1
|
||||||
callback-hook@1.4.0
|
callback-hook@1.4.0
|
||||||
check@1.3.1
|
check@1.3.2
|
||||||
ddp@1.4.0
|
ddp@1.4.1
|
||||||
ddp-client@2.5.0
|
ddp-client@2.6.1
|
||||||
ddp-common@1.4.0
|
ddp-common@1.4.0
|
||||||
ddp-server@2.5.0
|
ddp-server@2.6.0
|
||||||
diff-sequence@1.1.1
|
diff-sequence@1.1.2
|
||||||
dynamic-import@0.7.2
|
dynamic-import@0.7.2
|
||||||
ecmascript@0.16.2
|
ecmascript@0.16.4
|
||||||
ecmascript-runtime@0.8.0
|
ecmascript-runtime@0.8.0
|
||||||
ecmascript-runtime-client@0.12.1
|
ecmascript-runtime-client@0.12.1
|
||||||
ecmascript-runtime-server@0.11.0
|
ecmascript-runtime-server@0.11.0
|
||||||
ejson@1.1.2
|
ejson@1.1.3
|
||||||
es5-shim@4.8.0
|
es5-shim@4.8.0
|
||||||
fetch@0.1.1
|
fetch@0.1.2
|
||||||
geojson-utils@1.0.10
|
geojson-utils@1.0.11
|
||||||
hot-code-push@1.0.4
|
hot-code-push@1.0.4
|
||||||
html-tools@1.1.3
|
html-tools@1.1.3
|
||||||
htmljs@1.1.1
|
htmljs@1.1.1
|
||||||
@ -33,46 +33,46 @@ inter-process-messaging@0.1.1
|
|||||||
launch-screen@1.3.0
|
launch-screen@1.3.0
|
||||||
lmieulet:meteor-coverage@4.1.0
|
lmieulet:meteor-coverage@4.1.0
|
||||||
logging@1.3.1
|
logging@1.3.1
|
||||||
meteor@1.10.0
|
meteor@1.10.3
|
||||||
meteor-base@1.5.1
|
meteor-base@1.5.1
|
||||||
meteortesting:browser-tests@1.3.5
|
meteortesting:browser-tests@1.3.5
|
||||||
meteortesting:mocha@2.0.3
|
meteortesting:mocha@2.0.3
|
||||||
meteortesting:mocha-core@8.1.2
|
meteortesting:mocha-core@8.1.2
|
||||||
minifier-css@1.6.0
|
minifier-css@1.6.2
|
||||||
minifier-js@2.7.4
|
minifier-js@2.7.5
|
||||||
minimongo@1.8.0
|
minimongo@1.9.1
|
||||||
mobile-experience@1.1.0
|
mobile-experience@1.1.0
|
||||||
mobile-status-bar@1.1.0
|
mobile-status-bar@1.1.0
|
||||||
modern-browsers@0.1.8
|
modern-browsers@0.1.9
|
||||||
modules@0.18.0
|
modules@0.19.0
|
||||||
modules-runtime@0.13.0
|
modules-runtime@0.13.1
|
||||||
mongo@1.15.0
|
mongo@1.16.3
|
||||||
mongo-decimal@0.1.3
|
mongo-decimal@0.1.3
|
||||||
mongo-dev-server@1.1.0
|
mongo-dev-server@1.1.0
|
||||||
mongo-id@1.0.8
|
mongo-id@1.0.8
|
||||||
npm-mongo@4.3.1
|
npm-mongo@4.12.1
|
||||||
ordered-dict@1.1.0
|
ordered-dict@1.1.0
|
||||||
promise@0.12.0
|
promise@0.12.2
|
||||||
random@1.2.0
|
random@1.2.1
|
||||||
react-fast-refresh@0.2.3
|
react-fast-refresh@0.2.3
|
||||||
react-meteor-data@2.5.1
|
react-meteor-data@2.5.1
|
||||||
reactive-dict@1.3.0
|
reactive-dict@1.3.1
|
||||||
reactive-var@1.0.11
|
reactive-var@1.0.12
|
||||||
reload@1.3.1
|
reload@1.3.1
|
||||||
retry@1.1.0
|
retry@1.1.0
|
||||||
rocketchat:streamer@1.1.0
|
rocketchat:streamer@1.1.0
|
||||||
routepolicy@1.1.1
|
routepolicy@1.1.1
|
||||||
session@1.2.0
|
session@1.2.1
|
||||||
shell-server@0.5.0
|
shell-server@0.5.0
|
||||||
socket-stream-client@0.5.0
|
socket-stream-client@0.5.0
|
||||||
spacebars-compiler@1.3.1
|
spacebars-compiler@1.3.1
|
||||||
standard-minifier-css@1.8.1
|
standard-minifier-css@1.8.3
|
||||||
standard-minifier-js@2.8.0
|
standard-minifier-js@2.8.1
|
||||||
static-html@1.3.2
|
static-html@1.3.2
|
||||||
templating-tools@1.2.2
|
templating-tools@1.2.2
|
||||||
tracker@1.2.0
|
tracker@1.2.1
|
||||||
typescript@4.5.4
|
typescript@4.6.4
|
||||||
underscore@1.0.10
|
underscore@1.0.11
|
||||||
url@1.3.2
|
url@1.3.2
|
||||||
webapp@1.13.1
|
webapp@1.13.2
|
||||||
webapp-hashing@1.1.0
|
webapp-hashing@1.1.1
|
||||||
|
@ -27,74 +27,52 @@ import Users, { CurrentUser } from '/imports/api/users';
|
|||||||
import { Slides, SlidePositions } from '/imports/api/slides';
|
import { Slides, SlidePositions } from '/imports/api/slides';
|
||||||
|
|
||||||
// Custom Publishers
|
// Custom Publishers
|
||||||
export const localCurrentPollSync = new AbstractCollection(CurrentPoll, CurrentPoll);
|
export const localCollectionRegistry = {
|
||||||
export const localCurrentUserSync = new AbstractCollection(CurrentUser, CurrentUser);
|
localCurrentPollSync: new AbstractCollection(CurrentPoll, CurrentPoll),
|
||||||
export const localSlidesSync = new AbstractCollection(Slides, Slides);
|
localCurrentUserSync: new AbstractCollection(CurrentUser, CurrentUser),
|
||||||
export const localSlidePositionsSync = new AbstractCollection(SlidePositions, SlidePositions);
|
localSlidesSync: new AbstractCollection(Slides, Slides),
|
||||||
export const localPollsSync = new AbstractCollection(Polls, Polls);
|
localSlidePositionsSync: new AbstractCollection(SlidePositions, SlidePositions),
|
||||||
export const localPresentationsSync = new AbstractCollection(Presentations, Presentations);
|
localPollsSync: new AbstractCollection(Polls, Polls),
|
||||||
export const localPresentationPodsSync = new AbstractCollection(PresentationPods, PresentationPods);
|
localPresentationsSync: new AbstractCollection(Presentations, Presentations),
|
||||||
export const localPresentationUploadTokenSync = new AbstractCollection(PresentationUploadToken, PresentationUploadToken);
|
localPresentationPodsSync: new AbstractCollection(PresentationPods, PresentationPods),
|
||||||
export const localScreenshareSync = new AbstractCollection(Screenshare, Screenshare);
|
localPresentationUploadTokenSync: new AbstractCollection(
|
||||||
export const localUserInfosSync = new AbstractCollection(UserInfos, UserInfos);
|
PresentationUploadToken,
|
||||||
export const localUsersPersistentDataSync = new AbstractCollection(UsersPersistentData, UsersPersistentData);
|
PresentationUploadToken,
|
||||||
export const localUserSettingsSync = new AbstractCollection(UserSettings, UserSettings);
|
),
|
||||||
export const localVideoStreamsSync = new AbstractCollection(VideoStreams, VideoStreams);
|
localScreenshareSync: new AbstractCollection(Screenshare, Screenshare),
|
||||||
export const localVoiceUsersSync = new AbstractCollection(VoiceUsers, VoiceUsers);
|
localUserInfosSync: new AbstractCollection(UserInfos, UserInfos),
|
||||||
export const localWhiteboardMultiUserSync = new AbstractCollection(WhiteboardMultiUser, WhiteboardMultiUser);
|
localUsersPersistentDataSync: new AbstractCollection(UsersPersistentData, UsersPersistentData),
|
||||||
export const localGroupChatSync = new AbstractCollection(GroupChat, GroupChat);
|
localUserSettingsSync: new AbstractCollection(UserSettings, UserSettings),
|
||||||
export const localConnectionStatusSync = new AbstractCollection(ConnectionStatus, ConnectionStatus);
|
localVideoStreamsSync: new AbstractCollection(VideoStreams, VideoStreams),
|
||||||
export const localCaptionsSync = new AbstractCollection(Captions, Captions);
|
localVoiceUsersSync: new AbstractCollection(VoiceUsers, VoiceUsers),
|
||||||
export const localPadsSync = new AbstractCollection(Pads, Pads);
|
localWhiteboardMultiUserSync: new AbstractCollection(WhiteboardMultiUser, WhiteboardMultiUser),
|
||||||
export const localPadsSessionsSync = new AbstractCollection(PadsSessions, PadsSessions);
|
localGroupChatSync: new AbstractCollection(GroupChat, GroupChat),
|
||||||
export const localPadsUpdatesSync = new AbstractCollection(PadsUpdates, PadsUpdates);
|
localConnectionStatusSync: new AbstractCollection(ConnectionStatus, ConnectionStatus),
|
||||||
export const localAuthTokenValidationSync = new AbstractCollection(AuthTokenValidation, AuthTokenValidation);
|
localCaptionsSync: new AbstractCollection(Captions, Captions),
|
||||||
export const localAnnotationsSync = new AbstractCollection(Annotations, Annotations);
|
localPadsSync: new AbstractCollection(Pads, Pads),
|
||||||
export const localRecordMeetingsSync = new AbstractCollection(RecordMeetings, RecordMeetings);
|
localPadsSessionsSync: new AbstractCollection(PadsSessions, PadsSessions),
|
||||||
export const localExternalVideoMeetingsSync = new AbstractCollection(ExternalVideoMeetings, ExternalVideoMeetings);
|
localPadsUpdatesSync: new AbstractCollection(PadsUpdates, PadsUpdates),
|
||||||
export const localMeetingTimeRemainingSync = new AbstractCollection(MeetingTimeRemaining, MeetingTimeRemaining);
|
localAuthTokenValidationSync: new AbstractCollection(AuthTokenValidation, AuthTokenValidation),
|
||||||
export const localUsersTypingSync = new AbstractCollection(UsersTyping, UsersTyping);
|
localAnnotationsSync: new AbstractCollection(Annotations, Annotations),
|
||||||
export const localBreakoutsSync = new AbstractCollection(Breakouts, Breakouts);
|
localRecordMeetingsSync: new AbstractCollection(RecordMeetings, RecordMeetings),
|
||||||
export const localBreakoutsHistorySync = new AbstractCollection(BreakoutsHistory, BreakoutsHistory);
|
localExternalVideoMeetingsSync: new AbstractCollection(
|
||||||
export const localGuestUsersSync = new AbstractCollection(guestUsers, guestUsers);
|
ExternalVideoMeetings,
|
||||||
export const localMeetingsSync = new AbstractCollection(Meetings, Meetings);
|
ExternalVideoMeetings,
|
||||||
export const localUsersSync = new AbstractCollection(Users, Users);
|
),
|
||||||
export const localNotificationsSync = new AbstractCollection(Notifications, Notifications);
|
localMeetingTimeRemainingSync: new AbstractCollection(MeetingTimeRemaining, MeetingTimeRemaining),
|
||||||
|
localUsersTypingSync: new AbstractCollection(UsersTyping, UsersTyping),
|
||||||
|
localBreakoutsSync: new AbstractCollection(Breakouts, Breakouts),
|
||||||
|
localBreakoutsHistorySync: new AbstractCollection(BreakoutsHistory, BreakoutsHistory),
|
||||||
|
localGuestUsersSync: new AbstractCollection(guestUsers, guestUsers),
|
||||||
|
localMeetingsSync: new AbstractCollection(Meetings, Meetings),
|
||||||
|
localUsersSync: new AbstractCollection(Users, Users),
|
||||||
|
localNotificationsSync: new AbstractCollection(Notifications, Notifications),
|
||||||
|
};
|
||||||
|
|
||||||
const collectionMirrorInitializer = () => {
|
const collectionMirrorInitializer = () => {
|
||||||
localCurrentPollSync.setupListeners();
|
Object.values(localCollectionRegistry).forEach((localCollection) => {
|
||||||
localCurrentUserSync.setupListeners();
|
localCollection.setupListeners();
|
||||||
localSlidesSync.setupListeners();
|
});
|
||||||
localSlidePositionsSync.setupListeners();
|
|
||||||
localPollsSync.setupListeners();
|
|
||||||
localPresentationsSync.setupListeners();
|
|
||||||
localPresentationPodsSync.setupListeners();
|
|
||||||
localPresentationUploadTokenSync.setupListeners();
|
|
||||||
localScreenshareSync.setupListeners();
|
|
||||||
localUserInfosSync.setupListeners();
|
|
||||||
localUsersPersistentDataSync.setupListeners();
|
|
||||||
localUserSettingsSync.setupListeners();
|
|
||||||
localVideoStreamsSync.setupListeners();
|
|
||||||
localVoiceUsersSync.setupListeners();
|
|
||||||
localWhiteboardMultiUserSync.setupListeners();
|
|
||||||
localGroupChatSync.setupListeners();
|
|
||||||
localConnectionStatusSync.setupListeners();
|
|
||||||
localCaptionsSync.setupListeners();
|
|
||||||
localPadsSync.setupListeners();
|
|
||||||
localPadsSessionsSync.setupListeners();
|
|
||||||
localPadsUpdatesSync.setupListeners();
|
|
||||||
localAuthTokenValidationSync.setupListeners();
|
|
||||||
localAnnotationsSync.setupListeners();
|
|
||||||
localRecordMeetingsSync.setupListeners();
|
|
||||||
localExternalVideoMeetingsSync.setupListeners();
|
|
||||||
localMeetingTimeRemainingSync.setupListeners();
|
|
||||||
localUsersTypingSync.setupListeners();
|
|
||||||
localBreakoutsSync.setupListeners();
|
|
||||||
localBreakoutsHistorySync.setupListeners();
|
|
||||||
localGuestUsersSync.setupListeners();
|
|
||||||
localMeetingsSync.setupListeners();
|
|
||||||
localUsersSync.setupListeners();
|
|
||||||
localNotificationsSync.setupListeners();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export default collectionMirrorInitializer;
|
export default collectionMirrorInitializer;
|
||||||
|
@ -228,6 +228,7 @@ class App extends Component {
|
|||||||
layoutContextDispatch,
|
layoutContextDispatch,
|
||||||
numCameras,
|
numCameras,
|
||||||
presentationIsOpen,
|
presentationIsOpen,
|
||||||
|
ignorePollNotifications,
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
this.renderDarkMode();
|
this.renderDarkMode();
|
||||||
|
@ -311,5 +311,6 @@ export default injectIntl(withModalMounter(withTracker(({ intl, baseControls })
|
|||||||
hidePresentation: getFromUserSettings('bbb_hide_presentation', LAYOUT_CONFIG.hidePresentation),
|
hidePresentation: getFromUserSettings('bbb_hide_presentation', LAYOUT_CONFIG.hidePresentation),
|
||||||
hideActionsBar: getFromUserSettings('bbb_hide_actions_bar', false),
|
hideActionsBar: getFromUserSettings('bbb_hide_actions_bar', false),
|
||||||
isModalOpen: !!getModal(),
|
isModalOpen: !!getModal(),
|
||||||
|
ignorePollNotifications: Session.get('ignorePollNotifications'),
|
||||||
};
|
};
|
||||||
})(AppContainer)));
|
})(AppContainer)));
|
||||||
|
@ -10,6 +10,7 @@ import { stripTags, unescapeHtml } from '/imports/utils/string-utils';
|
|||||||
import Service from '../service';
|
import Service from '../service';
|
||||||
import Styled from './styles';
|
import Styled from './styles';
|
||||||
import { usePreviousValue } from '/imports/ui/components/utils/hooks';
|
import { usePreviousValue } from '/imports/ui/components/utils/hooks';
|
||||||
|
import { Session } from 'meteor/session';
|
||||||
|
|
||||||
const CHAT_CONFIG = Meteor.settings.public.chat;
|
const CHAT_CONFIG = Meteor.settings.public.chat;
|
||||||
const PUBLIC_CHAT_CLEAR = CHAT_CONFIG.chat_clear;
|
const PUBLIC_CHAT_CLEAR = CHAT_CONFIG.chat_clear;
|
||||||
@ -193,9 +194,11 @@ const ChatAlert = (props) => {
|
|||||||
const mappedMessage = Service.mapGroupMessage(timeWindow);
|
const mappedMessage = Service.mapGroupMessage(timeWindow);
|
||||||
|
|
||||||
let content = null;
|
let content = null;
|
||||||
|
let isPollResult = false;
|
||||||
if (mappedMessage) {
|
if (mappedMessage) {
|
||||||
if (mappedMessage.id.includes(POLL_RESULT_KEY)) {
|
if (mappedMessage.id.includes(POLL_RESULT_KEY)) {
|
||||||
content = createPollMessage();
|
content = createPollMessage();
|
||||||
|
isPollResult = true;
|
||||||
} else {
|
} else {
|
||||||
content = createMessage(mappedMessage.sender.name, mappedMessage.content.slice(-5));
|
content = createMessage(mappedMessage.sender.name, mappedMessage.content.slice(-5));
|
||||||
}
|
}
|
||||||
@ -218,10 +221,22 @@ const ChatAlert = (props) => {
|
|||||||
: <span>{intl.formatMessage(intlMessages.appToastChatPrivate)}</span>
|
: <span>{intl.formatMessage(intlMessages.appToastChatPrivate)}</span>
|
||||||
}
|
}
|
||||||
onOpen={
|
onOpen={
|
||||||
() => setUnreadMessages(newUnreadMessages)
|
() => {
|
||||||
|
if (isPollResult) {
|
||||||
|
Session.set('ignorePollNotifications', true);
|
||||||
|
}
|
||||||
|
|
||||||
|
setUnreadMessages(newUnreadMessages);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
onClose={
|
onClose={
|
||||||
() => setUnreadMessages(newUnreadMessages)
|
() => {
|
||||||
|
if (isPollResult) {
|
||||||
|
Session.set('ignorePollNotifications', false);
|
||||||
|
}
|
||||||
|
|
||||||
|
setUnreadMessages(newUnreadMessages);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
alertDuration={timeWindow.durationDiff}
|
alertDuration={timeWindow.durationDiff}
|
||||||
layoutContextDispatch={layoutContextDispatch}
|
layoutContextDispatch={layoutContextDispatch}
|
||||||
|
@ -8,11 +8,7 @@ import Users from '/imports/api/users';
|
|||||||
import AnnotationsTextService from '/imports/ui/components/whiteboard/annotations/text/service';
|
import AnnotationsTextService from '/imports/ui/components/whiteboard/annotations/text/service';
|
||||||
import { Annotations as AnnotationsLocal } from '/imports/ui/components/whiteboard/service';
|
import { Annotations as AnnotationsLocal } from '/imports/ui/components/whiteboard/service';
|
||||||
import {
|
import {
|
||||||
localBreakoutsSync,
|
localCollectionRegistry,
|
||||||
localBreakoutsHistorySync,
|
|
||||||
localGuestUsersSync,
|
|
||||||
localMeetingsSync,
|
|
||||||
localUsersSync,
|
|
||||||
} from '/client/collection-mirror-initializer';
|
} from '/client/collection-mirror-initializer';
|
||||||
import SubscriptionRegistry, { subscriptionReactivity } from '../../services/subscription-registry/subscriptionRegistry';
|
import SubscriptionRegistry, { subscriptionReactivity } from '../../services/subscription-registry/subscriptionRegistry';
|
||||||
import { isChatEnabled } from '/imports/ui/services/features';
|
import { isChatEnabled } from '/imports/ui/services/features';
|
||||||
@ -30,6 +26,13 @@ const SUBSCRIPTIONS = [
|
|||||||
'pads', 'pads-sessions', 'pads-updates', 'notifications', 'audio-captions',
|
'pads', 'pads-sessions', 'pads-updates', 'notifications', 'audio-captions',
|
||||||
'layout-meetings',
|
'layout-meetings',
|
||||||
];
|
];
|
||||||
|
const {
|
||||||
|
localBreakoutsSync,
|
||||||
|
localBreakoutsHistorySync,
|
||||||
|
localGuestUsersSync,
|
||||||
|
localMeetingsSync,
|
||||||
|
localUsersSync,
|
||||||
|
} = localCollectionRegistry;
|
||||||
|
|
||||||
const EVENT_NAME = 'bbb-group-chat-messages-subscription-has-stoppped';
|
const EVENT_NAME = 'bbb-group-chat-messages-subscription-has-stoppped';
|
||||||
const EVENT_NAME_SUBSCRIPTION_READY = 'bbb-group-chat-messages-subscriptions-ready';
|
const EVENT_NAME_SUBSCRIPTION_READY = 'bbb-group-chat-messages-subscriptions-ready';
|
||||||
@ -165,6 +168,10 @@ export default withTracker(() => {
|
|||||||
},
|
},
|
||||||
...subscriptionErrorHandler,
|
...subscriptionErrorHandler,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Object.values(localCollectionRegistry).forEach(
|
||||||
|
(localCollection) => localCollection.checkForStaleData(),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
@ -25,13 +25,17 @@ const intlMessages = defineMessages({
|
|||||||
|
|
||||||
let annotationsStreamListener = null;
|
let annotationsStreamListener = null;
|
||||||
|
|
||||||
|
export function addAnnotationToDiscardedList(annotation) {
|
||||||
|
if (!discardedList.includes(annotation)) discardedList.push(annotation);
|
||||||
|
}
|
||||||
|
|
||||||
const clearPreview = (annotation) => {
|
const clearPreview = (annotation) => {
|
||||||
UnsentAnnotations.remove({ id: annotation });
|
UnsentAnnotations.remove({ id: annotation });
|
||||||
};
|
};
|
||||||
|
|
||||||
const clearFakeAnnotations = () => {
|
const clearFakeAnnotations = () => {
|
||||||
UnsentAnnotations.remove({});
|
UnsentAnnotations.remove({});
|
||||||
Annotations.remove({ id: /-fake/g, annotationType: { $ne: 'text' } });
|
Annotations.remove({ id: /-fake/g });
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleAddedAnnotation({
|
function handleAddedAnnotation({
|
||||||
|
@ -238,6 +238,8 @@ export default class WhiteboardOverlay extends Component {
|
|||||||
setTextShapeActiveId,
|
setTextShapeActiveId,
|
||||||
contextMenuHandler,
|
contextMenuHandler,
|
||||||
clearPreview,
|
clearPreview,
|
||||||
|
addAnnotationToDiscardedList,
|
||||||
|
undoAnnotation,
|
||||||
updateCursor,
|
updateCursor,
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
@ -255,6 +257,8 @@ export default class WhiteboardOverlay extends Component {
|
|||||||
setTextShapeActiveId,
|
setTextShapeActiveId,
|
||||||
contextMenuHandler,
|
contextMenuHandler,
|
||||||
clearPreview,
|
clearPreview,
|
||||||
|
addAnnotationToDiscardedList,
|
||||||
|
undoAnnotation,
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@ -319,4 +323,6 @@ WhiteboardOverlay.propTypes = {
|
|||||||
setTextShapeActiveId: PropTypes.func.isRequired,
|
setTextShapeActiveId: PropTypes.func.isRequired,
|
||||||
// Defines a handler to publish cursor position to the server
|
// Defines a handler to publish cursor position to the server
|
||||||
updateCursor: PropTypes.func.isRequired,
|
updateCursor: PropTypes.func.isRequired,
|
||||||
|
addAnnotationToDiscardedList: PropTypes.func.isRequired,
|
||||||
|
undoAnnotation: PropTypes.func.isRequired,
|
||||||
};
|
};
|
||||||
|
@ -2,6 +2,7 @@ import React from 'react';
|
|||||||
import { withTracker } from 'meteor/react-meteor-data';
|
import { withTracker } from 'meteor/react-meteor-data';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import WhiteboardOverlayService from './service';
|
import WhiteboardOverlayService from './service';
|
||||||
|
import WhiteboardToolbarService from '../whiteboard-toolbar/service';
|
||||||
import WhiteboardOverlay from './component';
|
import WhiteboardOverlay from './component';
|
||||||
|
|
||||||
const WhiteboardOverlayContainer = (props) => {
|
const WhiteboardOverlayContainer = (props) => {
|
||||||
@ -15,10 +16,12 @@ const WhiteboardOverlayContainer = (props) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export default withTracker(() => ({
|
export default withTracker(() => ({
|
||||||
|
undoAnnotation: WhiteboardToolbarService.undoAnnotation,
|
||||||
clearPreview: WhiteboardOverlayService.clearPreview,
|
clearPreview: WhiteboardOverlayService.clearPreview,
|
||||||
contextMenuHandler: WhiteboardOverlayService.contextMenuHandler,
|
contextMenuHandler: WhiteboardOverlayService.contextMenuHandler,
|
||||||
sendAnnotation: WhiteboardOverlayService.sendAnnotation,
|
sendAnnotation: WhiteboardOverlayService.sendAnnotation,
|
||||||
sendLiveSyncPreviewAnnotation: WhiteboardOverlayService.sendLiveSyncPreviewAnnotation,
|
sendLiveSyncPreviewAnnotation: WhiteboardOverlayService.sendLiveSyncPreviewAnnotation,
|
||||||
|
addAnnotationToDiscardedList: WhiteboardOverlayService.addAnnotationToDiscardedList,
|
||||||
setTextShapeActiveId: WhiteboardOverlayService.setTextShapeActiveId,
|
setTextShapeActiveId: WhiteboardOverlayService.setTextShapeActiveId,
|
||||||
resetTextShapeSession: WhiteboardOverlayService.resetTextShapeSession,
|
resetTextShapeSession: WhiteboardOverlayService.resetTextShapeSession,
|
||||||
drawSettings: WhiteboardOverlayService.getWhiteboardToolbarValues(),
|
drawSettings: WhiteboardOverlayService.getWhiteboardToolbarValues(),
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import Storage from '/imports/ui/services/storage/session';
|
import Storage from '/imports/ui/services/storage/session';
|
||||||
import Auth from '/imports/ui/services/auth';
|
import Auth from '/imports/ui/services/auth';
|
||||||
import { sendAnnotation, sendLiveSyncPreviewAnnotation, clearPreview } from '/imports/ui/components/whiteboard/service';
|
import { sendAnnotation, sendLiveSyncPreviewAnnotation, clearPreview, addAnnotationToDiscardedList } from '/imports/ui/components/whiteboard/service';
|
||||||
import { publishCursorUpdate } from '/imports/ui/components/cursor/service';
|
import { publishCursorUpdate } from '/imports/ui/components/cursor/service';
|
||||||
|
|
||||||
const DRAW_SETTINGS = 'drawSettings';
|
const DRAW_SETTINGS = 'drawSettings';
|
||||||
@ -55,6 +55,7 @@ const updateCursor = (payload) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
addAnnotationToDiscardedList,
|
||||||
sendAnnotation,
|
sendAnnotation,
|
||||||
sendLiveSyncPreviewAnnotation,
|
sendLiveSyncPreviewAnnotation,
|
||||||
getWhiteboardToolbarValues,
|
getWhiteboardToolbarValues,
|
||||||
|
@ -218,11 +218,12 @@ export default class TextDrawListener extends Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// second case is when a user finished writing the text and publishes the final result
|
// second case is when a user finished writing the text and publishes the final result
|
||||||
} else if (isRightClick) {
|
|
||||||
this.discardAnnotation();
|
|
||||||
} else {
|
} else {
|
||||||
// publishing the final shape and resetting the state
|
// publishing the final shape and resetting the state
|
||||||
this.sendLastMessage();
|
this.sendLastMessage();
|
||||||
|
if (isRightClick) {
|
||||||
|
this.discardAnnotation();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -485,15 +486,18 @@ export default class TextDrawListener extends Component {
|
|||||||
discardAnnotation() {
|
discardAnnotation() {
|
||||||
const {
|
const {
|
||||||
actions,
|
actions,
|
||||||
|
whiteboardId,
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
const {
|
const {
|
||||||
getCurrentShapeId,
|
getCurrentShapeId,
|
||||||
clearPreview,
|
undoAnnotation,
|
||||||
|
addAnnotationToDiscardedList,
|
||||||
} = actions;
|
} = actions;
|
||||||
|
|
||||||
this.resetState();
|
this.resetState();
|
||||||
clearPreview(getCurrentShapeId());
|
undoAnnotation(whiteboardId);
|
||||||
|
addAnnotationToDiscardedList(getCurrentShapeId());
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
@ -598,5 +602,7 @@ TextDrawListener.propTypes = {
|
|||||||
resetTextShapeSession: PropTypes.func.isRequired,
|
resetTextShapeSession: PropTypes.func.isRequired,
|
||||||
// Defines a function that sets a session value for the current active text shape
|
// Defines a function that sets a session value for the current active text shape
|
||||||
setTextShapeActiveId: PropTypes.func.isRequired,
|
setTextShapeActiveId: PropTypes.func.isRequired,
|
||||||
|
undoAnnotation: PropTypes.func.isRequired,
|
||||||
|
addAnnotationToDiscardedList: PropTypes.func.isRequired,
|
||||||
}).isRequired,
|
}).isRequired,
|
||||||
};
|
};
|
||||||
|
@ -2,7 +2,7 @@ import SubscriptionRegistry from '/imports/ui/services/subscription-registry/sub
|
|||||||
import CollectionEventsBroker from '/imports/ui/services/LiveDataEventBroker/LiveDataEventBroker';
|
import CollectionEventsBroker from '/imports/ui/services/LiveDataEventBroker/LiveDataEventBroker';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
This class connects a local collection with the LiveDataEventBroker, propagating the changes of a server-side published cursor to a local collection.
|
This class connects a local collection with the LiveDataEventBroker, propagating the changes of a server-side published cursor to a local collection.
|
||||||
|
|
||||||
It also guarantee that in case of a reconnection or a re-subscription, the data is only removed after subscription is ready, avoiding the situation of missing data during re-synchronization.
|
It also guarantee that in case of a reconnection or a re-subscription, the data is only removed after subscription is ready, avoiding the situation of missing data during re-synchronization.
|
||||||
*/
|
*/
|
||||||
@ -15,6 +15,7 @@ class LocalCollectionSynchronizer {
|
|||||||
this.lastSubscriptionId = '';
|
this.lastSubscriptionId = '';
|
||||||
this.options = options;
|
this.options = options;
|
||||||
this.ignoreDeletes = false;
|
this.ignoreDeletes = false;
|
||||||
|
this.checkForStaleData = this.checkForStaleData.bind(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -31,26 +32,12 @@ class LocalCollectionSynchronizer {
|
|||||||
const self = this;
|
const self = this;
|
||||||
|
|
||||||
const addedCallback = function (item) {
|
const addedCallback = function (item) {
|
||||||
const subscription = SubscriptionRegistry
|
|
||||||
.getSubscription(self.serverCollection._name);
|
|
||||||
if (item.id === 'publication-stop-marker' && item.stopped) {
|
if (item.id === 'publication-stop-marker' && item.stopped) {
|
||||||
self.ignoreDeletes = true;
|
self.ignoreDeletes = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// If the subscriptionId changes means the subscriptions was redone
|
|
||||||
// or theres more than one subscription per collection
|
|
||||||
if (subscription && (self.lastSubscriptionId !== subscription.subscriptionId)) {
|
|
||||||
const wasEmpty = self.lastSubscriptionId === '';
|
|
||||||
self.lastSubscriptionId = subscription.subscriptionId;
|
|
||||||
if (!wasEmpty) {
|
|
||||||
self.callWhenSubscriptionReady(() => {
|
|
||||||
self.ignoreDeletes = false;
|
|
||||||
Session.set('globalIgnoreDeletes', false);
|
|
||||||
self.removeOldSubscriptionData();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
self.checkForStaleData();
|
||||||
const selector = { referenceId: item.referenceId };
|
const selector = { referenceId: item.referenceId };
|
||||||
const itemExistInCollection = self.localCollection.findOne(selector);
|
const itemExistInCollection = self.localCollection.findOne(selector);
|
||||||
|
|
||||||
@ -117,6 +104,24 @@ class LocalCollectionSynchronizer {
|
|||||||
return tempPromise;
|
return tempPromise;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
checkForStaleData() {
|
||||||
|
const subscription = SubscriptionRegistry.getSubscription(this.serverCollection._name);
|
||||||
|
|
||||||
|
// If the subscriptionId changes means the subscriptions was redone
|
||||||
|
// or theres more than one subscription per collection
|
||||||
|
if (subscription && (this.lastSubscriptionId !== subscription.subscriptionId)) {
|
||||||
|
const wasEmpty = this.lastSubscriptionId === '';
|
||||||
|
this.lastSubscriptionId = subscription.subscriptionId;
|
||||||
|
if (!wasEmpty) {
|
||||||
|
this.callWhenSubscriptionReady(() => {
|
||||||
|
this.ignoreDeletes = false;
|
||||||
|
Session.set('globalIgnoreDeletes', false);
|
||||||
|
this.removeOldSubscriptionData();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
This method removes data from previous subscriptions after the current one is ready.
|
This method removes data from previous subscriptions after the current one is ready.
|
||||||
*/
|
*/
|
||||||
|
@ -16,7 +16,7 @@ const SETTINGS = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
const CHANGED_SETTINGS = 'changed_settings';
|
const CHANGED_SETTINGS = 'changed_settings';
|
||||||
const DEFAULT_SETTINGS = 'dafault_settings';
|
const DEFAULT_SETTINGS = 'default_settings';
|
||||||
|
|
||||||
class Settings {
|
class Settings {
|
||||||
constructor(defaultValues = {}) {
|
constructor(defaultValues = {}) {
|
||||||
|
360
bigbluebutton-html5/package-lock.json
generated
360
bigbluebutton-html5/package-lock.json
generated
@ -1677,6 +1677,7 @@
|
|||||||
"version": "6.12.6",
|
"version": "6.12.6",
|
||||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
||||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||||
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"fast-deep-equal": "^3.1.1",
|
"fast-deep-equal": "^3.1.1",
|
||||||
"fast-json-stable-stringify": "^2.0.0",
|
"fast-json-stable-stringify": "^2.0.0",
|
||||||
@ -1739,11 +1740,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"any-promise": {
|
|
||||||
"version": "1.3.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
|
|
||||||
"integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8="
|
|
||||||
},
|
|
||||||
"argparse": {
|
"argparse": {
|
||||||
"version": "1.0.10",
|
"version": "1.0.10",
|
||||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
|
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
|
||||||
@ -2027,19 +2023,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"asn1": {
|
|
||||||
"version": "0.2.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
|
|
||||||
"integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
|
|
||||||
"requires": {
|
|
||||||
"safer-buffer": "~2.1.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"assert-plus": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
|
|
||||||
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
|
|
||||||
},
|
|
||||||
"assertion-error": {
|
"assertion-error": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
|
||||||
@ -2063,11 +2046,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
|
||||||
"integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g=="
|
"integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g=="
|
||||||
},
|
},
|
||||||
"asynckit": {
|
|
||||||
"version": "0.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
|
||||||
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
|
|
||||||
},
|
|
||||||
"attr-accept": {
|
"attr-accept": {
|
||||||
"version": "1.1.3",
|
"version": "1.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-1.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-1.1.3.tgz",
|
||||||
@ -2101,16 +2079,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/autosize/-/autosize-4.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/autosize/-/autosize-4.0.4.tgz",
|
||||||
"integrity": "sha512-5yxLQ22O0fCRGoxGfeLSNt3J8LB1v+umtpMnPW6XjkTWXKoN0AmXAIhelJcDtFT/Y/wYWmfE+oqU10Q0b8FhaQ=="
|
"integrity": "sha512-5yxLQ22O0fCRGoxGfeLSNt3J8LB1v+umtpMnPW6XjkTWXKoN0AmXAIhelJcDtFT/Y/wYWmfE+oqU10Q0b8FhaQ=="
|
||||||
},
|
},
|
||||||
"aws-sign2": {
|
|
||||||
"version": "0.7.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
|
|
||||||
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
|
|
||||||
},
|
|
||||||
"aws4": {
|
|
||||||
"version": "1.11.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
|
|
||||||
"integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
|
|
||||||
},
|
|
||||||
"axe-core": {
|
"axe-core": {
|
||||||
"version": "4.4.1",
|
"version": "4.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz",
|
||||||
@ -2169,14 +2137,6 @@
|
|||||||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"bcrypt-pbkdf": {
|
|
||||||
"version": "1.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
|
|
||||||
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
|
|
||||||
"requires": {
|
|
||||||
"tweetnacl": "^0.14.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bintrees": {
|
"bintrees": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.1.tgz",
|
||||||
@ -2286,11 +2246,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz",
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz",
|
||||||
"integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw=="
|
"integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw=="
|
||||||
},
|
},
|
||||||
"caseless": {
|
|
||||||
"version": "0.12.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
|
|
||||||
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
|
|
||||||
},
|
|
||||||
"chai": {
|
"chai": {
|
||||||
"version": "4.2.0",
|
"version": "4.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz",
|
||||||
@ -2421,14 +2376,6 @@
|
|||||||
"text-hex": "1.0.x"
|
"text-hex": "1.0.x"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"combined-stream": {
|
|
||||||
"version": "1.0.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
|
||||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
|
||||||
"requires": {
|
|
||||||
"delayed-stream": "~1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"commander": {
|
"commander": {
|
||||||
"version": "8.3.0",
|
"version": "8.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
|
||||||
@ -2463,11 +2410,6 @@
|
|||||||
"integrity": "sha512-Lb+/XT4WC4PaCWWtZpNPaXmjiNDUe5CJuUtbkMrIM1kb1T/jJoAIp+bkVP/r5lHzMr+ZAAF8XHp7+my6Ol0ysQ==",
|
"integrity": "sha512-Lb+/XT4WC4PaCWWtZpNPaXmjiNDUe5CJuUtbkMrIM1kb1T/jJoAIp+bkVP/r5lHzMr+ZAAF8XHp7+my6Ol0ysQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"core-util-is": {
|
|
||||||
"version": "1.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
|
||||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
|
|
||||||
},
|
|
||||||
"cosmiconfig": {
|
"cosmiconfig": {
|
||||||
"version": "5.2.1",
|
"version": "5.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
|
||||||
@ -2575,14 +2517,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/darkreader/-/darkreader-4.9.46.tgz",
|
"resolved": "https://registry.npmjs.org/darkreader/-/darkreader-4.9.46.tgz",
|
||||||
"integrity": "sha512-K+MG74C8mGXvrsY47geAQdAbKU2mw8zVCa/WT4vtW3UDgzYCmthCcLnY0+FR3RQRMOyY2fULxqREZhfVQ346AA=="
|
"integrity": "sha512-K+MG74C8mGXvrsY47geAQdAbKU2mw8zVCa/WT4vtW3UDgzYCmthCcLnY0+FR3RQRMOyY2fULxqREZhfVQ346AA=="
|
||||||
},
|
},
|
||||||
"dashdash": {
|
|
||||||
"version": "1.14.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
|
|
||||||
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
|
|
||||||
"requires": {
|
|
||||||
"assert-plus": "^1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"debug": {
|
"debug": {
|
||||||
"version": "2.6.9",
|
"version": "2.6.9",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||||
@ -2620,11 +2554,6 @@
|
|||||||
"object-keys": "^1.0.12"
|
"object-keys": "^1.0.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"delayed-stream": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
|
||||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
|
|
||||||
},
|
|
||||||
"denque": {
|
"denque": {
|
||||||
"version": "1.5.0",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz",
|
||||||
@ -2695,15 +2624,6 @@
|
|||||||
"domhandler": "^4.2.0"
|
"domhandler": "^4.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ecc-jsbn": {
|
|
||||||
"version": "0.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
|
|
||||||
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
|
|
||||||
"requires": {
|
|
||||||
"jsbn": "~0.1.0",
|
|
||||||
"safer-buffer": "^2.1.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"electron-to-chromium": {
|
"electron-to-chromium": {
|
||||||
"version": "1.4.117",
|
"version": "1.4.117",
|
||||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.117.tgz",
|
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.117.tgz",
|
||||||
@ -3392,25 +3312,17 @@
|
|||||||
"resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz",
|
||||||
"integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50="
|
"integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50="
|
||||||
},
|
},
|
||||||
"extend": {
|
|
||||||
"version": "3.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
|
|
||||||
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
|
|
||||||
},
|
|
||||||
"extsprintf": {
|
|
||||||
"version": "1.3.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
|
|
||||||
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
|
|
||||||
},
|
|
||||||
"fast-deep-equal": {
|
"fast-deep-equal": {
|
||||||
"version": "3.1.3",
|
"version": "3.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
||||||
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
|
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
|
||||||
|
"dev": true
|
||||||
},
|
},
|
||||||
"fast-json-stable-stringify": {
|
"fast-json-stable-stringify": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
|
||||||
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
|
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
|
||||||
|
"dev": true
|
||||||
},
|
},
|
||||||
"fast-levenshtein": {
|
"fast-levenshtein": {
|
||||||
"version": "2.0.6",
|
"version": "2.0.6",
|
||||||
@ -3536,21 +3448,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
|
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
|
||||||
"integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w=="
|
"integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w=="
|
||||||
},
|
},
|
||||||
"forever-agent": {
|
|
||||||
"version": "0.6.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
|
|
||||||
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
|
|
||||||
},
|
|
||||||
"form-data": {
|
|
||||||
"version": "2.3.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
|
|
||||||
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
|
|
||||||
"requires": {
|
|
||||||
"asynckit": "^0.4.0",
|
|
||||||
"combined-stream": "^1.0.6",
|
|
||||||
"mime-types": "^2.1.12"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"fraction.js": {
|
"fraction.js": {
|
||||||
"version": "4.2.0",
|
"version": "4.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
|
||||||
@ -3627,14 +3524,6 @@
|
|||||||
"get-intrinsic": "^1.1.1"
|
"get-intrinsic": "^1.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"getpass": {
|
|
||||||
"version": "0.1.7",
|
|
||||||
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
|
|
||||||
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
|
|
||||||
"requires": {
|
|
||||||
"assert-plus": "^1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"glob": {
|
"glob": {
|
||||||
"version": "7.1.7",
|
"version": "7.1.7",
|
||||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
|
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
|
||||||
@ -3675,20 +3564,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"har-schema": {
|
|
||||||
"version": "2.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
|
|
||||||
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
|
|
||||||
},
|
|
||||||
"har-validator": {
|
|
||||||
"version": "5.1.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
|
|
||||||
"integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
|
|
||||||
"requires": {
|
|
||||||
"ajv": "^6.12.3",
|
|
||||||
"har-schema": "^2.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hark": {
|
"hark": {
|
||||||
"version": "1.2.3",
|
"version": "1.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/hark/-/hark-1.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/hark/-/hark-1.2.3.tgz",
|
||||||
@ -3767,16 +3642,6 @@
|
|||||||
"entities": "^2.0.0"
|
"entities": "^2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"http-signature": {
|
|
||||||
"version": "1.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
|
|
||||||
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
|
|
||||||
"requires": {
|
|
||||||
"assert-plus": "^1.0.0",
|
|
||||||
"jsprim": "^1.2.2",
|
|
||||||
"sshpk": "^1.7.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"human-signals": {
|
"human-signals": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
|
||||||
@ -3859,6 +3724,14 @@
|
|||||||
"resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz",
|
||||||
"integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ=="
|
"integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ=="
|
||||||
},
|
},
|
||||||
|
"iconv-lite": {
|
||||||
|
"version": "0.4.24",
|
||||||
|
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
|
||||||
|
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
|
||||||
|
"requires": {
|
||||||
|
"safer-buffer": ">= 2.1.2 < 3"
|
||||||
|
}
|
||||||
|
},
|
||||||
"idb-keyval": {
|
"idb-keyval": {
|
||||||
"version": "6.2.0",
|
"version": "6.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.2.0.tgz",
|
||||||
@ -4111,11 +3984,6 @@
|
|||||||
"has-symbols": "^1.0.2"
|
"has-symbols": "^1.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"is-typedarray": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
|
|
||||||
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
|
|
||||||
},
|
|
||||||
"is-weakref": {
|
"is-weakref": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
|
||||||
@ -4131,11 +3999,6 @@
|
|||||||
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
|
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"isstream": {
|
|
||||||
"version": "0.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
|
|
||||||
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
|
|
||||||
},
|
|
||||||
"js-tokens": {
|
"js-tokens": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
|
||||||
@ -4151,11 +4014,6 @@
|
|||||||
"esprima": "^4.0.0"
|
"esprima": "^4.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jsbn": {
|
|
||||||
"version": "0.1.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
|
|
||||||
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
|
|
||||||
},
|
|
||||||
"jsesc": {
|
"jsesc": {
|
||||||
"version": "2.5.2",
|
"version": "2.5.2",
|
||||||
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
|
||||||
@ -4173,15 +4031,11 @@
|
|||||||
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
|
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"json-schema": {
|
|
||||||
"version": "0.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
|
|
||||||
"integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
|
|
||||||
},
|
|
||||||
"json-schema-traverse": {
|
"json-schema-traverse": {
|
||||||
"version": "0.4.1",
|
"version": "0.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
|
||||||
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
|
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
|
||||||
|
"dev": true
|
||||||
},
|
},
|
||||||
"json-stable-stringify-without-jsonify": {
|
"json-stable-stringify-without-jsonify": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
@ -4189,11 +4043,6 @@
|
|||||||
"integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
|
"integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"json-stringify-safe": {
|
|
||||||
"version": "5.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
|
|
||||||
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
|
|
||||||
},
|
|
||||||
"json5": {
|
"json5": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||||
@ -4203,17 +4052,6 @@
|
|||||||
"minimist": "^1.2.0"
|
"minimist": "^1.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jsprim": {
|
|
||||||
"version": "1.4.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
|
|
||||||
"integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
|
|
||||||
"requires": {
|
|
||||||
"assert-plus": "1.0.0",
|
|
||||||
"extsprintf": "1.3.0",
|
|
||||||
"json-schema": "0.4.0",
|
|
||||||
"verror": "1.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"jss": {
|
"jss": {
|
||||||
"version": "10.9.0",
|
"version": "10.9.0",
|
||||||
"resolved": "https://registry.npmjs.org/jss/-/jss-10.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/jss/-/jss-10.9.0.tgz",
|
||||||
@ -4521,8 +4359,7 @@
|
|||||||
"lodash.merge": {
|
"lodash.merge": {
|
||||||
"version": "4.6.2",
|
"version": "4.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
||||||
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
|
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"lodash.truncate": {
|
"lodash.truncate": {
|
||||||
"version": "4.4.2",
|
"version": "4.4.2",
|
||||||
@ -5402,19 +5239,6 @@
|
|||||||
"picomatch": "^2.2.3"
|
"picomatch": "^2.2.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mime-db": {
|
|
||||||
"version": "1.48.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz",
|
|
||||||
"integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ=="
|
|
||||||
},
|
|
||||||
"mime-types": {
|
|
||||||
"version": "2.1.31",
|
|
||||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz",
|
|
||||||
"integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==",
|
|
||||||
"requires": {
|
|
||||||
"mime-db": "1.48.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"mimic-fn": {
|
"mimic-fn": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
||||||
@ -5457,10 +5281,30 @@
|
|||||||
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
|
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"next-tick": {
|
"needle": {
|
||||||
"version": "1.1.0",
|
"version": "2.9.1",
|
||||||
"resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz",
|
||||||
"integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
|
"integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==",
|
||||||
|
"requires": {
|
||||||
|
"debug": "^3.2.6",
|
||||||
|
"iconv-lite": "^0.4.4",
|
||||||
|
"sax": "^1.2.4"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"debug": {
|
||||||
|
"version": "3.2.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
|
||||||
|
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
|
||||||
|
"requires": {
|
||||||
|
"ms": "^2.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ms": {
|
||||||
|
"version": "2.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||||
|
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"nice-try": {
|
"nice-try": {
|
||||||
"version": "1.0.5",
|
"version": "1.0.5",
|
||||||
@ -5513,11 +5357,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"oauth-sign": {
|
|
||||||
"version": "0.9.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
|
|
||||||
"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
|
|
||||||
},
|
|
||||||
"object-assign": {
|
"object-assign": {
|
||||||
"version": "4.1.1",
|
"version": "4.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||||
@ -5955,11 +5794,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/perfect-freehand/-/perfect-freehand-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/perfect-freehand/-/perfect-freehand-1.2.0.tgz",
|
||||||
"integrity": "sha512-h/0ikF1M3phW7CwpZ5MMvKnfpHficWoOEyr//KVNTxV4F6deRK1eYMtHyBKEAKFK0aXIEUK9oBvlF6PNXMDsAw=="
|
"integrity": "sha512-h/0ikF1M3phW7CwpZ5MMvKnfpHficWoOEyr//KVNTxV4F6deRK1eYMtHyBKEAKFK0aXIEUK9oBvlF6PNXMDsAw=="
|
||||||
},
|
},
|
||||||
"performance-now": {
|
|
||||||
"version": "2.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
|
|
||||||
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
|
|
||||||
},
|
|
||||||
"picocolors": {
|
"picocolors": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
|
||||||
@ -6024,15 +5858,12 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"probe-image-size": {
|
"probe-image-size": {
|
||||||
"version": "4.1.1",
|
"version": "7.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-4.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.2.3.tgz",
|
||||||
"integrity": "sha512-42LqKZqTLxH/UvAZ2/cKhAsR4G/Y6B7i7fI2qtQu9hRBK4YjS6gqO+QRtwTjvojUx4+/+JuOMzLoFyRecT9qRw==",
|
"integrity": "sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"any-promise": "^1.3.0",
|
"lodash.merge": "^4.6.2",
|
||||||
"deepmerge": "^4.0.0",
|
"needle": "^2.5.2",
|
||||||
"inherits": "^2.0.3",
|
|
||||||
"next-tick": "^1.0.0",
|
|
||||||
"request": "^2.83.0",
|
|
||||||
"stream-parser": "~0.3.1"
|
"stream-parser": "~0.3.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -6060,11 +5891,6 @@
|
|||||||
"react-is": "^16.13.1"
|
"react-is": "^16.13.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"psl": {
|
|
||||||
"version": "1.8.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
|
|
||||||
"integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
|
|
||||||
},
|
|
||||||
"pump": {
|
"pump": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
|
||||||
@ -6078,12 +5904,8 @@
|
|||||||
"punycode": {
|
"punycode": {
|
||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
|
||||||
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
|
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
|
||||||
},
|
"dev": true
|
||||||
"qs": {
|
|
||||||
"version": "6.5.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
|
|
||||||
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
|
|
||||||
},
|
},
|
||||||
"queue": {
|
"queue": {
|
||||||
"version": "6.0.2",
|
"version": "6.0.2",
|
||||||
@ -6408,33 +6230,6 @@
|
|||||||
"integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
|
"integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"request": {
|
|
||||||
"version": "2.88.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
|
|
||||||
"integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
|
|
||||||
"requires": {
|
|
||||||
"aws-sign2": "~0.7.0",
|
|
||||||
"aws4": "^1.8.0",
|
|
||||||
"caseless": "~0.12.0",
|
|
||||||
"combined-stream": "~1.0.6",
|
|
||||||
"extend": "~3.0.2",
|
|
||||||
"forever-agent": "~0.6.1",
|
|
||||||
"form-data": "~2.3.2",
|
|
||||||
"har-validator": "~5.1.3",
|
|
||||||
"http-signature": "~1.2.0",
|
|
||||||
"is-typedarray": "~1.0.0",
|
|
||||||
"isstream": "~0.1.2",
|
|
||||||
"json-stringify-safe": "~5.0.1",
|
|
||||||
"mime-types": "~2.1.19",
|
|
||||||
"oauth-sign": "~0.9.0",
|
|
||||||
"performance-now": "^2.1.0",
|
|
||||||
"qs": "~6.5.2",
|
|
||||||
"safe-buffer": "^5.1.2",
|
|
||||||
"tough-cookie": "~2.5.0",
|
|
||||||
"tunnel-agent": "^0.6.0",
|
|
||||||
"uuid": "^3.3.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"require-from-string": {
|
"require-from-string": {
|
||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
|
||||||
@ -6538,6 +6333,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"sax": {
|
||||||
|
"version": "1.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
|
||||||
|
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
|
||||||
|
},
|
||||||
"scheduler": {
|
"scheduler": {
|
||||||
"version": "0.20.2",
|
"version": "0.20.2",
|
||||||
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
|
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
|
||||||
@ -6728,22 +6528,6 @@
|
|||||||
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
|
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"sshpk": {
|
|
||||||
"version": "1.16.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
|
|
||||||
"integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
|
|
||||||
"requires": {
|
|
||||||
"asn1": "~0.2.3",
|
|
||||||
"assert-plus": "^1.0.0",
|
|
||||||
"bcrypt-pbkdf": "^1.0.0",
|
|
||||||
"dashdash": "^1.12.0",
|
|
||||||
"ecc-jsbn": "~0.1.1",
|
|
||||||
"getpass": "^0.1.1",
|
|
||||||
"jsbn": "~0.1.0",
|
|
||||||
"safer-buffer": "^2.0.2",
|
|
||||||
"tweetnacl": "~0.14.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"stack-trace": {
|
"stack-trace": {
|
||||||
"version": "0.0.10",
|
"version": "0.0.10",
|
||||||
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
|
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
|
||||||
@ -6752,7 +6536,7 @@
|
|||||||
"stream-parser": {
|
"stream-parser": {
|
||||||
"version": "0.3.1",
|
"version": "0.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz",
|
||||||
"integrity": "sha1-FhhUhpRCACGhGC/wrxkRwSl2F3M=",
|
"integrity": "sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"debug": "2"
|
"debug": "2"
|
||||||
}
|
}
|
||||||
@ -7090,15 +6874,6 @@
|
|||||||
"is-number": "^7.0.0"
|
"is-number": "^7.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tough-cookie": {
|
|
||||||
"version": "2.5.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
|
|
||||||
"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
|
|
||||||
"requires": {
|
|
||||||
"psl": "^1.1.28",
|
|
||||||
"punycode": "^2.1.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"triple-beam": {
|
"triple-beam": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz",
|
||||||
@ -7121,19 +6896,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
|
||||||
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
|
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
|
||||||
},
|
},
|
||||||
"tunnel-agent": {
|
|
||||||
"version": "0.6.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
|
|
||||||
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
|
|
||||||
"requires": {
|
|
||||||
"safe-buffer": "^5.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tweetnacl": {
|
|
||||||
"version": "0.14.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
|
|
||||||
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
|
|
||||||
},
|
|
||||||
"type-check": {
|
"type-check": {
|
||||||
"version": "0.4.0",
|
"version": "0.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
|
||||||
@ -7165,6 +6927,7 @@
|
|||||||
"version": "4.4.1",
|
"version": "4.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
|
||||||
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
|
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
|
||||||
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"punycode": "^2.1.0"
|
"punycode": "^2.1.0"
|
||||||
}
|
}
|
||||||
@ -7206,11 +6969,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||||
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
|
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
|
||||||
},
|
},
|
||||||
"uuid": {
|
|
||||||
"version": "3.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
|
|
||||||
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
|
|
||||||
},
|
|
||||||
"v8-compile-cache": {
|
"v8-compile-cache": {
|
||||||
"version": "2.3.0",
|
"version": "2.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
|
||||||
@ -7227,16 +6985,6 @@
|
|||||||
"spdx-expression-parse": "^3.0.0"
|
"spdx-expression-parse": "^3.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"verror": {
|
|
||||||
"version": "1.10.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
|
|
||||||
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
|
|
||||||
"requires": {
|
|
||||||
"assert-plus": "^1.0.0",
|
|
||||||
"core-util-is": "1.0.2",
|
|
||||||
"extsprintf": "^1.2.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"warning": {
|
"warning": {
|
||||||
"version": "4.0.3",
|
"version": "4.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
"meteor-node-stubs": "^1.2.1",
|
"meteor-node-stubs": "^1.2.1",
|
||||||
"postcss-nested": "^5.0.6",
|
"postcss-nested": "^5.0.6",
|
||||||
"mobx": "6.4.2",
|
"mobx": "6.4.2",
|
||||||
"probe-image-size": "^4.1.1",
|
"probe-image-size": "^7.2.3",
|
||||||
"prom-client": "^13.2.0",
|
"prom-client": "^13.2.0",
|
||||||
"prop-types": "^15.8.1",
|
"prop-types": "^15.8.1",
|
||||||
"queue": "^6.0.2",
|
"queue": "^6.0.2",
|
||||||
|
@ -654,7 +654,7 @@
|
|||||||
"app.toast.meetingMuteOn.label": "Alle Teilnehmer wurden stummgeschaltet",
|
"app.toast.meetingMuteOn.label": "Alle Teilnehmer wurden stummgeschaltet",
|
||||||
"app.toast.meetingMuteOff.label": "Konferenz-Stummschaltung ausgeschaltet",
|
"app.toast.meetingMuteOff.label": "Konferenz-Stummschaltung ausgeschaltet",
|
||||||
"app.toast.setEmoji.raiseHand": "Sie haben Ihre Hand gehoben",
|
"app.toast.setEmoji.raiseHand": "Sie haben Ihre Hand gehoben",
|
||||||
"app.toast.setEmoji.lowerHand": "Habe meine Hand gesenkt",
|
"app.toast.setEmoji.lowerHand": "Ihre Hand wurde gesenkt",
|
||||||
"app.toast.promotedLabel": "Zur Moderation ernannt worden",
|
"app.toast.promotedLabel": "Zur Moderation ernannt worden",
|
||||||
"app.toast.demotedLabel": "Nun wieder in der Rolle eine:r Teilnehmer:in",
|
"app.toast.demotedLabel": "Nun wieder in der Rolle eine:r Teilnehmer:in",
|
||||||
"app.notification.recordingStart": "Diese Konferenz wird jetzt aufgezeichnet",
|
"app.notification.recordingStart": "Diese Konferenz wird jetzt aufgezeichnet",
|
||||||
|
@ -1112,7 +1112,7 @@
|
|||||||
"app.layout.modal.confirm": "Confirm",
|
"app.layout.modal.confirm": "Confirm",
|
||||||
"app.layout.modal.cancel": "Cancel",
|
"app.layout.modal.cancel": "Cancel",
|
||||||
"app.layout.modal.layoutLabel": "Select your layout",
|
"app.layout.modal.layoutLabel": "Select your layout",
|
||||||
"app.layout.modal.keepPushingLayoutLabel": "Keep pushing to everyone",
|
"app.layout.modal.keepPushingLayoutLabel": "Push layout to all",
|
||||||
"app.layout.modal.pushLayoutLabel": "Push to everyone",
|
"app.layout.modal.pushLayoutLabel": "Push to everyone",
|
||||||
"app.layout.modal.layoutToastLabel": "Layout settings changed",
|
"app.layout.modal.layoutToastLabel": "Layout settings changed",
|
||||||
"app.layout.modal.layoutSingular": "Layout",
|
"app.layout.modal.layoutSingular": "Layout",
|
||||||
|
@ -92,3 +92,18 @@ sudo systemctl reload nginx
|
|||||||
Meteor messages for Big Blue Button sessions will now be recorded for later review.
|
Meteor messages for Big Blue Button sessions will now be recorded for later review.
|
||||||
|
|
||||||
It doesn't seem necessary to relay cookies, but that could be done by giving a `--ws-relay-header=Cookie` argument to `websockify`.
|
It doesn't seem necessary to relay cookies, but that could be done by giving a `--ws-relay-header=Cookie` argument to `websockify`.
|
||||||
|
|
||||||
|
You can print the browser console log to standard output by setting the environment variable `CONSOLE`:
|
||||||
|
```
|
||||||
|
$ CONSOLE= npm test chat -- --project=firefox
|
||||||
|
```
|
||||||
|
|
||||||
|
`CONSOLE` can be blank (as in the example), or can be a comma-separated list of the following options:
|
||||||
|
|
||||||
|
| Option | Meaning |
|
||||||
|
| ------ | ------- |
|
||||||
|
| color | (or "colour") colorize the output |
|
||||||
|
| label | label each line with the BigBlueButton user |
|
||||||
|
| norefs | remove JavaScript reference URLs |
|
||||||
|
| nots | remove timestamps |
|
||||||
|
| nocl | remove "clientLogger:" strings |
|
||||||
|
125
bigbluebutton-tests/playwright/api/api.js
Normal file
125
bigbluebutton-tests/playwright/api/api.js
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
// const util = require('node:util');
|
||||||
|
|
||||||
|
const { expect } = require("@playwright/test");
|
||||||
|
|
||||||
|
const Page = require('../core/page');
|
||||||
|
const parameters = require('../core/parameters');
|
||||||
|
const { apiCall, createMeeting } = require('../core/helpers');
|
||||||
|
const e = require('../core/elements');
|
||||||
|
|
||||||
|
function getMeetings() {
|
||||||
|
return apiCall('getMeetings', {});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getMeetingInfo(meetingID) {
|
||||||
|
return apiCall('getMeetingInfo', {meetingID: meetingID});
|
||||||
|
}
|
||||||
|
|
||||||
|
class API {
|
||||||
|
|
||||||
|
constructor(browser, context, page) {
|
||||||
|
this.modPage = new Page(browser, page);
|
||||||
|
this.browser = browser;
|
||||||
|
this.context = context;
|
||||||
|
this.userPages = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
async getNewPageTab() {
|
||||||
|
return this.browser.newPage();
|
||||||
|
}
|
||||||
|
|
||||||
|
async testGetMeetings() {
|
||||||
|
const meetingId = await createMeeting(parameters);
|
||||||
|
const modPage = new Page(this.browser, await this.getNewPageTab());
|
||||||
|
const userPage = new Page(this.browser, await this.getNewPageTab());
|
||||||
|
await Promise.all([
|
||||||
|
modPage.init(true, false, { meetingId, fullName: 'Moderator' }),
|
||||||
|
userPage.init(false, false, { meetingId, fullName: 'Attendee' }),
|
||||||
|
]);
|
||||||
|
await Promise.all([
|
||||||
|
modPage.joinMicrophone(),
|
||||||
|
userPage.joinMicrophone()
|
||||||
|
]);
|
||||||
|
|
||||||
|
/* hasJoinedVoice: ['true'] is not part of these expectedUser patterns because it isn't consistently true
|
||||||
|
* in the API's returned data structures. Is there something we can await on the browser page that
|
||||||
|
* should ensure that the API will report hasJoinedVoice?
|
||||||
|
*/
|
||||||
|
|
||||||
|
const expectedUsers = [expect.objectContaining({fullName: ['Moderator'],
|
||||||
|
role: ['MODERATOR'],
|
||||||
|
isPresenter: ['true'],
|
||||||
|
}),
|
||||||
|
expect.objectContaining({fullName: ['Attendee'],
|
||||||
|
role: ['VIEWER'],
|
||||||
|
isPresenter: ['false'],
|
||||||
|
})
|
||||||
|
];
|
||||||
|
const expectedMeeting = {meetingName : [meetingId],
|
||||||
|
running : ['true'],
|
||||||
|
participantCount : ['2'],
|
||||||
|
moderatorCount : ['1'],
|
||||||
|
isBreakout: ['false'],
|
||||||
|
attendees: [{ attendee: expect.arrayContaining(expectedUsers) }]
|
||||||
|
};
|
||||||
|
|
||||||
|
/* check that this meeting is in the server's list of all meetings */
|
||||||
|
const response = await getMeetings();
|
||||||
|
expect(response.response.returncode).toEqual(['SUCCESS']);
|
||||||
|
expect(response.response.meetings[0].meeting).toContainEqual(expect.objectContaining(expectedMeeting));
|
||||||
|
|
||||||
|
await modPage.page.close();
|
||||||
|
await userPage.page.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
async testGetMeetingInfo() {
|
||||||
|
const meetingId = await createMeeting(parameters);
|
||||||
|
const modPage = new Page(this.browser, await this.getNewPageTab());
|
||||||
|
const userPage = new Page(this.browser, await this.getNewPageTab());
|
||||||
|
await Promise.all([
|
||||||
|
modPage.init(true, false, { meetingId, fullName: 'Moderator' }),
|
||||||
|
userPage.init(false, false, { meetingId, fullName: 'Attendee' }),
|
||||||
|
]);
|
||||||
|
await Promise.all([
|
||||||
|
modPage.joinMicrophone(),
|
||||||
|
userPage.joinMicrophone()
|
||||||
|
]);
|
||||||
|
|
||||||
|
/* hasJoinedVoice: ['true'] is not part of these expectedUser patterns because it isn't consistently true
|
||||||
|
* in the API's returned data structures. Is there something we can await on the browser page that
|
||||||
|
* should ensure that the API will report hasJoinedVoice?
|
||||||
|
*/
|
||||||
|
|
||||||
|
const expectedUsers = [expect.objectContaining({fullName: ['Moderator'],
|
||||||
|
role: ['MODERATOR'],
|
||||||
|
isPresenter: ['true'],
|
||||||
|
}),
|
||||||
|
expect.objectContaining({fullName: ['Attendee'],
|
||||||
|
role: ['VIEWER'],
|
||||||
|
isPresenter: ['false'],
|
||||||
|
})
|
||||||
|
];
|
||||||
|
const expectedMeeting = {meetingName : [meetingId],
|
||||||
|
running : ['true'],
|
||||||
|
participantCount : ['2'],
|
||||||
|
moderatorCount : ['1'],
|
||||||
|
isBreakout: ['false'],
|
||||||
|
attendees: [{ attendee: expect.arrayContaining(expectedUsers) }]
|
||||||
|
};
|
||||||
|
|
||||||
|
/* check that we can retrieve this meeting by its meetingId */
|
||||||
|
const response2 = await getMeetingInfo(meetingId);
|
||||||
|
expect(response2.response.returncode).toEqual(['SUCCESS']);
|
||||||
|
expect(response2.response).toMatchObject(expectedMeeting);
|
||||||
|
|
||||||
|
/* check that we can retrieve this meeting by its internal meeting ID */
|
||||||
|
const response3 = await getMeetingInfo(response2.response.internalMeetingID[0]);
|
||||||
|
expect(response3.response.returncode).toEqual(['SUCCESS']);
|
||||||
|
expect(response3.response).toMatchObject(expectedMeeting);
|
||||||
|
|
||||||
|
await modPage.page.close();
|
||||||
|
await userPage.page.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.API = API;
|
16
bigbluebutton-tests/playwright/api/api.spec.js
Normal file
16
bigbluebutton-tests/playwright/api/api.spec.js
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
const { test } = require('@playwright/test');
|
||||||
|
const { API } = require('./api.js');
|
||||||
|
|
||||||
|
test.describe.parallel('API', () => {
|
||||||
|
|
||||||
|
test('getMeetings', async ({ browser, context, page }) => {
|
||||||
|
const api = new API(browser, context, page);
|
||||||
|
await api.testGetMeetings();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('getMeetingInfo', async ({ browser, context, page }) => {
|
||||||
|
const api = new API(browser, context, page);
|
||||||
|
await api.testGetMeetingInfo();
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
@ -2,6 +2,11 @@ require('dotenv').config();
|
|||||||
const sha1 = require('sha1');
|
const sha1 = require('sha1');
|
||||||
const axios = require('axios');
|
const axios = require('axios');
|
||||||
const { test } = require('@playwright/test');
|
const { test } = require('@playwright/test');
|
||||||
|
const xml2js = require('xml2js');
|
||||||
|
|
||||||
|
const { expect } = require("@playwright/test");
|
||||||
|
|
||||||
|
const parameters = require('./parameters');
|
||||||
|
|
||||||
function getRandomInt(min, max) {
|
function getRandomInt(min, max) {
|
||||||
min = Math.ceil(min);
|
min = Math.ceil(min);
|
||||||
@ -9,8 +14,21 @@ function getRandomInt(min, max) {
|
|||||||
return Math.floor(Math.random() * (max - min)) + min;
|
return Math.floor(Math.random() * (max - min)) + min;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function createMeeting(params, customParameter, customMeetingId) {
|
function apiCallUrl(name, callParams) {
|
||||||
const meetingID = (customMeetingId) ? customMeetingId : `random-${getRandomInt(1000000, 10000000).toString()}`;
|
const query = new URLSearchParams(callParams).toString();
|
||||||
|
const apicall = `${name}${query}${parameters.secret}`;
|
||||||
|
const checksum = sha1(apicall);
|
||||||
|
const url = `${parameters.server}/${name}?${query}&checksum=${checksum}`;
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
|
||||||
|
function apiCall(name, callParams) {
|
||||||
|
const url = apiCallUrl(name, callParams);
|
||||||
|
return axios.get(url, { adapter: 'http' }).then(response => xml2js.parseStringPromise(response.data));
|
||||||
|
}
|
||||||
|
|
||||||
|
function createMeetingUrl(params, customParameter) {
|
||||||
|
const meetingID = `random-${getRandomInt(1000000, 10000000).toString()}`;
|
||||||
const mp = params.moderatorPW;
|
const mp = params.moderatorPW;
|
||||||
const ap = params.attendeePW;
|
const ap = params.attendeePW;
|
||||||
const query = customParameter !== undefined ? `name=${meetingID}&meetingID=${meetingID}&attendeePW=${ap}&moderatorPW=${mp}`
|
const query = customParameter !== undefined ? `name=${meetingID}&meetingID=${meetingID}&attendeePW=${ap}&moderatorPW=${mp}`
|
||||||
@ -20,8 +38,20 @@ async function createMeeting(params, customParameter, customMeetingId) {
|
|||||||
const apicall = `create${query}${params.secret}`;
|
const apicall = `create${query}${params.secret}`;
|
||||||
const checksum = sha1(apicall);
|
const checksum = sha1(apicall);
|
||||||
const url = `${params.server}/create?${query}&checksum=${checksum}`;
|
const url = `${params.server}/create?${query}&checksum=${checksum}`;
|
||||||
await axios.get(url, { adapter: 'http' });
|
return url;
|
||||||
return meetingID;
|
}
|
||||||
|
|
||||||
|
function createMeetingPromise(params, customParameter) {
|
||||||
|
const url = createMeetingUrl(params, customParameter);
|
||||||
|
return axios.get(url, { adapter: 'http' });
|
||||||
|
}
|
||||||
|
|
||||||
|
async function createMeeting(params, customParameter) {
|
||||||
|
const promise = createMeetingPromise(params, customParameter);
|
||||||
|
const response = await promise;
|
||||||
|
expect(response.status).toEqual(200);
|
||||||
|
const xmlresponse = await xml2js.parseStringPromise(response.data);
|
||||||
|
return xmlresponse.response.meetingID[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
function getJoinURL(meetingID, params, moderator, customParameter) {
|
function getJoinURL(meetingID, params, moderator, customParameter) {
|
||||||
@ -47,6 +77,10 @@ function sleep(time) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
exports.getRandomInt = getRandomInt;
|
exports.getRandomInt = getRandomInt;
|
||||||
|
exports.apiCallUrl = apiCallUrl;
|
||||||
|
exports.apiCall = apiCall;
|
||||||
|
exports.createMeetingUrl = createMeetingUrl;
|
||||||
|
exports.createMeetingPromise = createMeetingPromise;
|
||||||
exports.createMeeting = createMeeting;
|
exports.createMeeting = createMeeting;
|
||||||
exports.getJoinURL = getJoinURL;
|
exports.getJoinURL = getJoinURL;
|
||||||
exports.linkIssue = linkIssue;
|
exports.linkIssue = linkIssue;
|
||||||
|
@ -1,13 +1,86 @@
|
|||||||
require('dotenv').config();
|
require('dotenv').config();
|
||||||
const { expect, default: test } = require('@playwright/test');
|
const { expect, default: test } = require('@playwright/test');
|
||||||
const { readFileSync } = require('fs');
|
const { readFileSync } = require('fs');
|
||||||
|
const { format } = require('node:util');
|
||||||
|
|
||||||
|
// This is version 4 of chalk, not version 5, which uses ESM
|
||||||
|
const chalk = require('chalk');
|
||||||
|
|
||||||
const parameters = require('./parameters');
|
const parameters = require('./parameters');
|
||||||
const helpers = require('./helpers');
|
const helpers = require('./helpers');
|
||||||
const e = require('./elements');
|
const e = require('./elements');
|
||||||
|
const { env } = require('node:process');
|
||||||
const { ELEMENT_WAIT_TIME, ELEMENT_WAIT_LONGER_TIME, VIDEO_LOADING_WAIT_TIME } = require('./constants');
|
const { ELEMENT_WAIT_TIME, ELEMENT_WAIT_LONGER_TIME, VIDEO_LOADING_WAIT_TIME } = require('./constants');
|
||||||
const { checkElement, checkElementLengthEqualTo } = require('./util');
|
const { checkElement, checkElementLengthEqualTo } = require('./util');
|
||||||
const { generateSettingsData, getSettings } = require('./settings');
|
const { generateSettingsData, getSettings } = require('./settings');
|
||||||
|
|
||||||
|
function formatWithCss(CONSOLE_options, ...args) {
|
||||||
|
// For Chrome, args[0] is a format string that we will process using
|
||||||
|
// node.js's util.format, but that function discards css style
|
||||||
|
// information from "%c" format specifiers. So first loop over the
|
||||||
|
// format string, replacing every "%c" with "%s" and replacing the
|
||||||
|
// corresponding css style with an ANSI color sequence.
|
||||||
|
//
|
||||||
|
// See https://console.spec.whatwg.org/ sections 2.2.1 and 2.3.4
|
||||||
|
|
||||||
|
let split_arg0 = args[0].split("%");
|
||||||
|
for (let i=1, j=1; i<split_arg0.length; i++, j++) {
|
||||||
|
if (split_arg0[i].startsWith('c')) {
|
||||||
|
split_arg0[i] = 's' + split_arg0[i].substr(1);
|
||||||
|
const styles = args[j].split(';');
|
||||||
|
args[j] = '';
|
||||||
|
for (const style of styles) {
|
||||||
|
const stdStyle = style.trim().toLowerCase();
|
||||||
|
if (stdStyle.startsWith('color:') && CONSOLE_options.colorize) {
|
||||||
|
const color = stdStyle.substr(6).trim();
|
||||||
|
args[j] = chalk.keyword(color)._styler.open;
|
||||||
|
} else if (stdStyle.startsWith('font-size:') && CONSOLE_options.drop_references) {
|
||||||
|
// For Chrome, we "drop references" by discarding everything after a font size change
|
||||||
|
split_arg0.length = i;
|
||||||
|
args.length = j;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (split_arg0[i] == "") {
|
||||||
|
// format is "%%", so don't do special processing for
|
||||||
|
// split_arg0[i+1], and only increment i, not j
|
||||||
|
i ++; // NOSONAR
|
||||||
|
}
|
||||||
|
}
|
||||||
|
args[0] = split_arg0.join('%');
|
||||||
|
return format(...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function console_format(msg, CONSOLE_options) {
|
||||||
|
// see playwright consoleMessage class documentation
|
||||||
|
const args = await Promise.all(msg.args().map(itm => itm.jsonValue()));
|
||||||
|
let result = formatWithCss(CONSOLE_options, ...args);
|
||||||
|
|
||||||
|
if (CONSOLE_options.drop_references) {
|
||||||
|
// For Firefox, we "drop references" by discarding a URL at the end of the line
|
||||||
|
result = result.replace(/https:\/\/\S*$/, '');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CONSOLE_options.noClientLogger) {
|
||||||
|
result = result.replace(/clientLogger: /, '');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CONSOLE_options.drop_timestamps) {
|
||||||
|
// timestamp formatting is a bit complicated, with four "%s" fields and corresponding arguments,
|
||||||
|
// so just filter them out (if requested) after all the other formatting is done
|
||||||
|
result = result.replace(/\[\d\d:\d\d:\d\d:\d\d\d\d\] /, '');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CONSOLE_options.line_label) {
|
||||||
|
if (CONSOLE_options.colorize) {
|
||||||
|
result = chalk.keyword('green')(CONSOLE_options.line_label) + result;
|
||||||
|
} else {
|
||||||
|
result = CONSOLE_options.line_label + result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
class Page {
|
class Page {
|
||||||
constructor(browser, page) {
|
constructor(browser, page) {
|
||||||
this.browser = browser;
|
this.browser = browser;
|
||||||
@ -31,7 +104,19 @@ class Page {
|
|||||||
if (fullName) this.initParameters.fullName = fullName;
|
if (fullName) this.initParameters.fullName = fullName;
|
||||||
this.username = this.initParameters.fullName;
|
this.username = this.initParameters.fullName;
|
||||||
|
|
||||||
this.meetingId = (meetingId) ? meetingId : await helpers.createMeeting(parameters, customParameter, customMeetingId);
|
if (env.CONSOLE !== undefined) {
|
||||||
|
const CONSOLE_strings = env.CONSOLE.split(',').map(opt => opt.trim().toLowerCase());
|
||||||
|
const CONSOLE_options = {
|
||||||
|
colorize: CONSOLE_strings.includes('color') || CONSOLE_strings.includes('colour'),
|
||||||
|
drop_references: CONSOLE_strings.includes('norefs'),
|
||||||
|
drop_timestamps: CONSOLE_strings.includes('nots'),
|
||||||
|
line_label: CONSOLE_strings.includes('label') ? this.username + " " : undefined,
|
||||||
|
noClientLogger: CONSOLE_strings.includes('nocl') || CONSOLE_strings.includes('noclientlogger'),
|
||||||
|
};
|
||||||
|
this.page.on('console', async (msg) => console.log(await console_format(msg, CONSOLE_options)));
|
||||||
|
}
|
||||||
|
|
||||||
|
this.meetingId = (meetingId) ? meetingId : await helpers.createMeeting(parameters, customParameter);
|
||||||
const joinUrl = helpers.getJoinURL(this.meetingId, this.initParameters, isModerator, customParameter);
|
const joinUrl = helpers.getJoinURL(this.meetingId, this.initParameters, isModerator, customParameter);
|
||||||
const response = await this.page.goto(joinUrl);
|
const response = await this.page.goto(joinUrl);
|
||||||
await expect(response.ok()).toBeTruthy();
|
await expect(response.ok()).toBeTruthy();
|
||||||
|
179
bigbluebutton-tests/playwright/package-lock.json
generated
179
bigbluebutton-tests/playwright/package-lock.json
generated
@ -7,9 +7,11 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@playwright/test": "^1.28.1",
|
"@playwright/test": "^1.28.1",
|
||||||
"axios": "^1.2.0",
|
"axios": "^1.2.0",
|
||||||
|
"chalk": "^4.1.2",
|
||||||
"dotenv": "^16.0.0",
|
"dotenv": "^16.0.0",
|
||||||
"playwright": "^1.28.1",
|
"playwright": "^1.28.1",
|
||||||
"sha1": "^1.1.1"
|
"sha1": "^1.1.1",
|
||||||
|
"xml2js": "^0.4.23"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@playwright/test": {
|
"node_modules/@playwright/test": {
|
||||||
@ -28,9 +30,23 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "18.11.9",
|
"version": "18.11.15",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.15.tgz",
|
||||||
"integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg=="
|
"integrity": "sha512-VkhBbVo2+2oozlkdHXLrb3zjsRkpdnaU2bXmX8Wgle3PUi569eLRaHGlgETQHR7lLL1w7GiG3h9SnePhxNDecw=="
|
||||||
|
},
|
||||||
|
"node_modules/ansi-styles": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||||
|
"dependencies": {
|
||||||
|
"color-convert": "^2.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"node_modules/asynckit": {
|
"node_modules/asynckit": {
|
||||||
"version": "0.4.0",
|
"version": "0.4.0",
|
||||||
@ -38,15 +54,30 @@
|
|||||||
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
||||||
},
|
},
|
||||||
"node_modules/axios": {
|
"node_modules/axios": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz",
|
||||||
"integrity": "sha512-zT7wZyNYu3N5Bu0wuZ6QccIf93Qk1eV8LOewxgjOZFd2DenOs98cJ7+Y6703d0wkaXGY6/nZd4EweJaHz9uzQw==",
|
"integrity": "sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"follow-redirects": "^1.15.0",
|
"follow-redirects": "^1.15.0",
|
||||||
"form-data": "^4.0.0",
|
"form-data": "^4.0.0",
|
||||||
"proxy-from-env": "^1.1.0"
|
"proxy-from-env": "^1.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/chalk": {
|
||||||
|
"version": "4.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
||||||
|
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-styles": "^4.1.0",
|
||||||
|
"supports-color": "^7.1.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/chalk?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/charenc": {
|
"node_modules/charenc": {
|
||||||
"version": "0.0.2",
|
"version": "0.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
|
||||||
@ -55,6 +86,22 @@
|
|||||||
"node": "*"
|
"node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/color-convert": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"color-name": "~1.1.4"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=7.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/color-name": {
|
||||||
|
"version": "1.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||||
|
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
||||||
|
},
|
||||||
"node_modules/combined-stream": {
|
"node_modules/combined-stream": {
|
||||||
"version": "1.0.8",
|
"version": "1.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||||
@ -122,6 +169,14 @@
|
|||||||
"node": ">= 6"
|
"node": ">= 6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/has-flag": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/mime-db": {
|
"node_modules/mime-db": {
|
||||||
"version": "1.52.0",
|
"version": "1.52.0",
|
||||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
||||||
@ -172,6 +227,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
||||||
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
|
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
|
||||||
},
|
},
|
||||||
|
"node_modules/sax": {
|
||||||
|
"version": "1.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
|
||||||
|
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
|
||||||
|
},
|
||||||
"node_modules/sha1": {
|
"node_modules/sha1": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz",
|
||||||
@ -183,6 +243,37 @@
|
|||||||
"engines": {
|
"engines": {
|
||||||
"node": "*"
|
"node": "*"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"node_modules/supports-color": {
|
||||||
|
"version": "7.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||||
|
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||||
|
"dependencies": {
|
||||||
|
"has-flag": "^4.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/xml2js": {
|
||||||
|
"version": "0.4.23",
|
||||||
|
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
|
||||||
|
"integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
|
||||||
|
"dependencies": {
|
||||||
|
"sax": ">=0.6.0",
|
||||||
|
"xmlbuilder": "~11.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/xmlbuilder": {
|
||||||
|
"version": "11.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
|
||||||
|
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4.0"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -196,9 +287,17 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "18.11.9",
|
"version": "18.11.15",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.15.tgz",
|
||||||
"integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg=="
|
"integrity": "sha512-VkhBbVo2+2oozlkdHXLrb3zjsRkpdnaU2bXmX8Wgle3PUi569eLRaHGlgETQHR7lLL1w7GiG3h9SnePhxNDecw=="
|
||||||
|
},
|
||||||
|
"ansi-styles": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||||
|
"requires": {
|
||||||
|
"color-convert": "^2.0.1"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"asynckit": {
|
"asynckit": {
|
||||||
"version": "0.4.0",
|
"version": "0.4.0",
|
||||||
@ -206,20 +305,42 @@
|
|||||||
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
||||||
},
|
},
|
||||||
"axios": {
|
"axios": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz",
|
||||||
"integrity": "sha512-zT7wZyNYu3N5Bu0wuZ6QccIf93Qk1eV8LOewxgjOZFd2DenOs98cJ7+Y6703d0wkaXGY6/nZd4EweJaHz9uzQw==",
|
"integrity": "sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"follow-redirects": "^1.15.0",
|
"follow-redirects": "^1.15.0",
|
||||||
"form-data": "^4.0.0",
|
"form-data": "^4.0.0",
|
||||||
"proxy-from-env": "^1.1.0"
|
"proxy-from-env": "^1.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"chalk": {
|
||||||
|
"version": "4.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
||||||
|
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
||||||
|
"requires": {
|
||||||
|
"ansi-styles": "^4.1.0",
|
||||||
|
"supports-color": "^7.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"charenc": {
|
"charenc": {
|
||||||
"version": "0.0.2",
|
"version": "0.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
|
||||||
"integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA=="
|
"integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA=="
|
||||||
},
|
},
|
||||||
|
"color-convert": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||||
|
"requires": {
|
||||||
|
"color-name": "~1.1.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"color-name": {
|
||||||
|
"version": "1.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||||
|
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
||||||
|
},
|
||||||
"combined-stream": {
|
"combined-stream": {
|
||||||
"version": "1.0.8",
|
"version": "1.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||||
@ -258,6 +379,11 @@
|
|||||||
"mime-types": "^2.1.12"
|
"mime-types": "^2.1.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"has-flag": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
|
||||||
|
},
|
||||||
"mime-db": {
|
"mime-db": {
|
||||||
"version": "1.52.0",
|
"version": "1.52.0",
|
||||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
||||||
@ -289,6 +415,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
||||||
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
|
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
|
||||||
},
|
},
|
||||||
|
"sax": {
|
||||||
|
"version": "1.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
|
||||||
|
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
|
||||||
|
},
|
||||||
"sha1": {
|
"sha1": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz",
|
||||||
@ -297,6 +428,28 @@
|
|||||||
"charenc": ">= 0.0.1",
|
"charenc": ">= 0.0.1",
|
||||||
"crypt": ">= 0.0.1"
|
"crypt": ">= 0.0.1"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"supports-color": {
|
||||||
|
"version": "7.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||||
|
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||||
|
"requires": {
|
||||||
|
"has-flag": "^4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xml2js": {
|
||||||
|
"version": "0.4.23",
|
||||||
|
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
|
||||||
|
"integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
|
||||||
|
"requires": {
|
||||||
|
"sax": ">=0.6.0",
|
||||||
|
"xmlbuilder": "~11.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xmlbuilder": {
|
||||||
|
"version": "11.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
|
||||||
|
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,8 @@
|
|||||||
"axios": "^1.2.0",
|
"axios": "^1.2.0",
|
||||||
"dotenv": "^16.0.0",
|
"dotenv": "^16.0.0",
|
||||||
"playwright": "^1.28.1",
|
"playwright": "^1.28.1",
|
||||||
"sha1": "^1.1.1"
|
"chalk": "^4.1.2",
|
||||||
|
"sha1": "^1.1.1",
|
||||||
|
"xml2js": "^0.4.23"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
. ./opts-global.sh
|
. ./opts-global.sh
|
||||||
|
|
||||||
AKKA_APPS="bbb-fsesl-akka,bbb-apps-akka"
|
AKKA_APPS="bbb-fsesl-akka,bbb-apps-akka"
|
||||||
OPTS="$OPTS -t deb -d netcat-openbsd,bbb-html5,bbb-playback-presentation,bbb-playback,bbb-freeswitch-core,$AKKA_APPS"
|
OPTS="$OPTS -t deb -d netcat-openbsd,stun-client,bbb-html5,bbb-playback-presentation,bbb-playback,bbb-freeswitch-core,$AKKA_APPS"
|
||||||
|
@ -7,7 +7,7 @@ PACKAGE=$(echo $TARGET | cut -d'_' -f1)
|
|||||||
VERSION=$(echo $TARGET | cut -d'_' -f2)
|
VERSION=$(echo $TARGET | cut -d'_' -f2)
|
||||||
DISTRO=$(echo $TARGET | cut -d'_' -f3)
|
DISTRO=$(echo $TARGET | cut -d'_' -f3)
|
||||||
|
|
||||||
NODE_VERSION="14.19.3"
|
NODE_VERSION="14.21.1"
|
||||||
NODE_DIRNAME="node-v${NODE_VERSION}-linux-x64"
|
NODE_DIRNAME="node-v${NODE_VERSION}-linux-x64"
|
||||||
|
|
||||||
#
|
#
|
||||||
|
Loading…
Reference in New Issue
Block a user