Skip to content

Commit

Permalink
Test
Browse files Browse the repository at this point in the history
  • Loading branch information
tassoevan committed Jun 8, 2020
1 parent 2698ef2 commit 0db115e
Show file tree
Hide file tree
Showing 8 changed files with 35 additions and 90 deletions.
2 changes: 1 addition & 1 deletion app/2fa/server/code/EmailCheck.ts
Expand Up @@ -99,7 +99,7 @@ ${ t('If_you_didnt_try_to_login_in_your_account_please_ignore_this_email') }
const random = Random._randomString(6, '0123456789');
const encryptedRandom = bcrypt.hashSync(random, Accounts._bcryptRounds());
const expire = new Date();
const expirationInSeconds = parseInt(settings.get('Accounts_TwoFactorAuthentication_By_Email_Code_Expiration') as string, 10);
const expirationInSeconds = parseInt(settings.get('Accounts_TwoFactorAuthentication_By_Email_Code_Expiration'));

expire.setSeconds(expire.getSeconds() + expirationInSeconds);

Expand Down
2 changes: 1 addition & 1 deletion app/2fa/server/code/index.ts
Expand Up @@ -95,7 +95,7 @@ export function isAuthorizedForToken(connection: IMethodConnection, user: IUser,
export function rememberAuthorization(connection: IMethodConnection, user: IUser): void {
const currentToken = Accounts._getLoginToken(connection.id);

const rememberFor = parseInt(settings.get('Accounts_TwoFactorAuthentication_RememberFor') as string, 10);
const rememberFor = parseInt(settings.get('Accounts_TwoFactorAuthentication_RememberFor'));

if (rememberFor <= 0) {
return;
Expand Down
20 changes: 4 additions & 16 deletions app/livechat/server/lib/stream/agentStatus.ts
Expand Up @@ -9,31 +9,19 @@ let actionTimeout = 60000;
let action = 'none';
let comment = '';

settings.get('Livechat_agent_leave_action_timeout', (_key, value) => {
if (typeof value !== 'number') {
return;
}
settings.get('Livechat_agent_leave_action_timeout', function(_key: string, value: number) {
actionTimeout = value * 1000;
});

settings.get('Livechat_agent_leave_action', (_key, value) => {
if (typeof value !== 'boolean') {
return;
}
settings.get('Livechat_agent_leave_action', function(_key: string, value: boolean) {
monitorAgents = value;
});

settings.get('Livechat_agent_leave_action', (_key, value) => {
if (typeof value !== 'string') {
return;
}
settings.get('Livechat_agent_leave_action', function(_key: string, value: string) {
action = value;
});

settings.get('Livechat_agent_leave_comment', (_key, value) => {
if (typeof value !== 'string') {
return;
}
settings.get('Livechat_agent_leave_comment', function(_key: string, value: string) {
comment = value;
});

Expand Down
5 changes: 5 additions & 0 deletions client/contexts/ModalContext.js
@@ -0,0 +1,5 @@
import { createContext, useContext } from 'react';

export const ModalContext = createContext({});

export const useModal = () => useContext(ModalContext);
7 changes: 0 additions & 7 deletions client/contexts/ModalContext.ts

This file was deleted.

@@ -1,46 +1,15 @@
import { useDebouncedCallback, useMutableCallback } from '@rocket.chat/fuselage-hooks';
import { Tracker } from 'meteor/tracker';
import { createContext, useContext, RefObject, useState, useEffect, useLayoutEffect } from 'react';
import { createContext, useContext, useState, useEffect, useLayoutEffect } from 'react';

import { useReactiveValue } from '../hooks/useReactiveValue';
import { useBatchSettingsDispatch } from './SettingsContext';
import { useToastMessageDispatch } from './ToastMessagesContext';
import { useTranslation, useLoadLanguage } from './TranslationContext';
import { useUser } from './UserContext';

type Setting = object & {
_id: unknown;
type: string;
blocked: boolean;
enableQuery: unknown;
group: string;
section: string;
changed: boolean;
value: unknown;
packageValue: unknown;
packageEditor: unknown;
editor: unknown;
disabled?: boolean;
update?: () => void;
reset?: () => void;
};

type PrivateSettingsState = {
settings: Setting[];
persistedSettings: Setting[];
};

type EqualityFunction<T> = (a: T, b: T) => boolean;

type PrivateSettingsContextValue = {
subscribers: Set<(state: PrivateSettingsState) => void>;
stateRef: RefObject<PrivateSettingsState>;
hydrate: (changes: any[]) => void;
isDisabled: (setting: Setting) => boolean;
};

export const PrivateSettingsContext = createContext<PrivateSettingsContextValue>({
subscribers: new Set<(state: PrivateSettingsState) => void>(),
export const PrivateSettingsContext = createContext({
subscribers: new Set(),
stateRef: {
current: {
settings: [],
Expand All @@ -51,14 +20,11 @@ export const PrivateSettingsContext = createContext<PrivateSettingsContextValue>
isDisabled: () => false,
});

const useSelector = <T>(
selector: (state: PrivateSettingsState) => T,
equalityFunction: EqualityFunction<T> = Object.is,
): T | null => {
const useSelector = (selector, equalityFunction = Object.is) => {
const { subscribers, stateRef } = useContext(PrivateSettingsContext);
const [value, setValue] = useState<T | null>(() => (stateRef.current ? selector(stateRef.current) : null));
const [value, setValue] = useState(() => (stateRef.current ? selector(stateRef.current) : null));

const handleUpdate = useMutableCallback((state: PrivateSettingsState) => {
const handleUpdate = useMutableCallback((state) => {
const newValue = selector(state);

if (!value || !equalityFunction(newValue, value)) {
Expand All @@ -69,7 +35,7 @@ const useSelector = <T>(
useEffect(() => {
subscribers.add(handleUpdate);

return (): void => {
return () => {
subscribers.delete(handleUpdate);
};
}, [handleUpdate]);
Expand All @@ -81,21 +47,21 @@ const useSelector = <T>(
return value;
};

export const usePrivateSettingsGroup = (groupId: string): any => {
export const usePrivateSettingsGroup = (groupId) => {
const group = useSelector((state) => state.settings.find(({ _id, type }) => _id === groupId && type === 'group'));

const filterSettings = (settings: any[]): any[] => settings.filter(({ group }) => group === groupId);
const filterSettings = (settings) => settings.filter(({ group }) => group === groupId);

const changed = useSelector((state) => filterSettings(state.settings).some(({ changed }) => changed));
const sections = useSelector((state) => Array.from(new Set(filterSettings(state.settings).map(({ section }) => section || ''))), (a, b) => a.length === b.length && a.join() === b.join());

const batchSetSettings = useBatchSettingsDispatch();
const { stateRef, hydrate } = useContext(PrivateSettingsContext);

const dispatchToastMessage = useToastMessageDispatch() as any;
const t = useTranslation() as (key: string, ...args: any[]) => string;
const loadLanguage = useLoadLanguage() as any;
const user = useUser() as any;
const dispatchToastMessage = useToastMessageDispatch();
const t = useTranslation();
const loadLanguage = useLoadLanguage();
const user = useUser();

const save = useMutableCallback(async () => {
const state = stateRef.current;
Expand Down Expand Up @@ -148,10 +114,10 @@ export const usePrivateSettingsGroup = (groupId: string): any => {
return group && { ...group, sections, changed, save, cancel };
};

export const usePrivateSettingsSection = (groupId: string, sectionName?: string): any => {
export const usePrivateSettingsSection = (groupId, sectionName) => {
sectionName = sectionName || '';

const filterSettings = (settings: any[]): any[] =>
const filterSettings = (settings) =>
settings.filter(({ group, section }) => group === groupId && ((!sectionName && !section) || (sectionName === section)));

const canReset = useSelector((state) => filterSettings(state.settings).some(({ value, packageValue }) => JSON.stringify(value) !== JSON.stringify(packageValue)));
Expand Down Expand Up @@ -186,10 +152,7 @@ export const usePrivateSettingsSection = (groupId: string, sectionName?: string)
};
};

export const usePrivateSettingActions = (persistedSetting: Setting | null | undefined): {
update: () => void;
reset: () => void;
} => {
export const usePrivateSettingActions = (persistedSetting) => {
const { hydrate } = useContext(PrivateSettingsContext);

const update = useDebouncedCallback(({ value, editor }) => {
Expand All @@ -201,7 +164,7 @@ export const usePrivateSettingActions = (persistedSetting: Setting | null | unde
}];

hydrate(changes);
}, 100, [hydrate, persistedSetting]) as () => void;
}, 100, [hydrate, persistedSetting]);

const reset = useDebouncedCallback(() => {
const changes = [{
Expand All @@ -212,23 +175,23 @@ export const usePrivateSettingActions = (persistedSetting: Setting | null | unde
}];

hydrate(changes);
}, 100, [hydrate, persistedSetting]) as () => void;
}, 100, [hydrate, persistedSetting]);

return { update, reset };
};

export const usePrivateSettingDisabledState = (setting: Setting | null | undefined): boolean => {
export const usePrivateSettingDisabledState = (setting) => {
const { isDisabled } = useContext(PrivateSettingsContext);
return useReactiveValue(() => (setting ? isDisabled(setting) : false), [setting?.blocked, setting?.enableQuery]) as unknown as boolean;
return useReactiveValue(() => (setting ? isDisabled(setting) : false), [setting?.blocked, setting?.enableQuery]);
};

export const usePrivateSettingsSectionChangedState = (groupId: string, sectionName: string): boolean =>
export const usePrivateSettingsSectionChangedState = (groupId, sectionName): boolean =>
!!useSelector((state) =>
state.settings.some(({ group, section, changed }) =>
group === groupId && ((!sectionName && !section) || (sectionName === section)) && changed));

export const usePrivateSetting = (_id: string): Setting | null | undefined => {
const selectSetting = (settings: Setting[]): Setting | undefined => settings.find((setting) => setting._id === _id);
export const usePrivateSetting = (_id) => {
const selectSetting = (settings) => settings.find((setting) => setting._id === _id);

const setting = useSelector((state) => selectSetting(state.settings));
const persistedSetting = useSelector((state) => selectSetting(state.persistedSettings));
Expand Down
4 changes: 0 additions & 4 deletions client/fuselage-hooks.d.ts

This file was deleted.

2 changes: 1 addition & 1 deletion ee/app/license/server/license.ts
@@ -1,4 +1,4 @@
import { EventEmitter } from 'events';
import EventEmitter from 'events';

import { Users } from '../../../../app/models/server';
import { resetEnterprisePermissions } from '../../authorization/server/resetEnterprisePermissions';
Expand Down

0 comments on commit 0db115e

Please sign in to comment.