diff --git a/desktop/app/src/PluginContainer.tsx b/desktop/app/src/PluginContainer.tsx index 4bdf90805..363a7bc9d 100644 --- a/desktop/app/src/PluginContainer.tsx +++ b/desktop/app/src/PluginContainer.tsx @@ -44,6 +44,7 @@ import {Message} from './reducers/pluginMessageQueue'; import {Idler} from './utils/Idler'; import {processMessageQueue} from './utils/messageQueue'; import {ToggleButton, SmallText} from './ui'; +import debounceRender from 'react-debounce-render'; const Container = styled(FlexColumn)({ width: 0, @@ -383,6 +384,12 @@ class PluginContainer extends PureComponent { } } +// Let's make sure we reive new props in bursts of 200 ms, rather than continously +const DebouncedPluginContainer = debounceRender(PluginContainer, 100, { + leading: true, + trailing: true, +}); + export default connect( ({ connections: { @@ -455,4 +462,4 @@ export default connect( setStaticView, starPlugin, }, -)(PluginContainer); +)(DebouncedPluginContainer);