Merge branch 'feat/inda-383-daily-stat' into 'main'
[ProtonMail-WebClient.git] / packages / components / hooks / useInboxDesktopMetrics.ts
blob106ae3d6cd62fa66d03a22073ac225dfbb40114c
1 import { useEffect } from 'react';
3 import metrics from '@proton/metrics';
4 import {
5     addIPCHostUpdateListener,
6     canListenInboxDesktopHostMessages,
7     hasInboxDesktopFeature,
8     invokeInboxDesktopIPC,
9 } from '@proton/shared/lib/desktop/ipcHelpers';
11 export const useInboxDesktopMetrics = () => {
12     useEffect(() => {
13         if (!canListenInboxDesktopHostMessages || !hasInboxDesktopFeature('HeartbeatMetrics')) {
14             return;
15         }
17         const metricsListener = addIPCHostUpdateListener('sentHeartbeatMetrics', (payload) => {
18             metrics.desktop_inbox_heartbeat_total.increment(payload.Labels);
19         });
21         invokeInboxDesktopIPC({ type: 'metricsListenerChanged', payload: 'ready' });
23         return () => {
24             invokeInboxDesktopIPC({ type: 'metricsListenerChanged', payload: 'removed' });
25             metricsListener.removeListener();
26         };
27     }, []);