Files
jitsi-meet/react/features/dynamic-branding/middleware.native.ts
Hristo Terezov c62f2f2790 fix(RN/shared-video): sharedVideoAllowedURLDomains prop from branding.
On mobile (React-Native) the sharedVideoAllowedURLDomains property from dynamic branding was filtered and therefore the allow list from the branding was not reaching redux and was ignored.
2024-08-27 16:22:58 -05:00

56 lines
1.4 KiB
TypeScript

import { SET_CONFIG } from '../base/config/actionTypes';
import MiddlewareRegistry from '../base/redux/MiddlewareRegistry';
import { SET_DYNAMIC_BRANDING_DATA } from './actionTypes';
import { fetchCustomBrandingData } from './actions.native';
import './middleware.any';
MiddlewareRegistry.register(store => next => action => {
switch (action.type) {
case SET_CONFIG: {
const result = next(action);
store.dispatch(fetchCustomBrandingData());
return result;
}
case SET_DYNAMIC_BRANDING_DATA: {
const {
avatarBackgrounds = [],
backgroundColor,
backgroundImageUrl,
brandedIcons,
didPageUrl,
inviteDomain,
labels,
sharedVideoAllowedURLDomains
} = action.value;
action.value = {
avatarBackgrounds,
backgroundColor,
backgroundImageUrl,
brandedIcons,
didPageUrl,
inviteDomain,
labels,
sharedVideoAllowedURLDomains
};
// The backend may send an empty string, make sure we skip that.
if (Array.isArray(avatarBackgrounds)) {
// TODO: implement support for gradients.
action.value.avatarBackgrounds = avatarBackgrounds.filter(
(color: string) => !color.includes('linear-gradient')
);
}
break;
}
}
return next(action);
});