Skip to content
This repository was archived by the owner on Jul 9, 2025. It is now read-only.
Merged
1 change: 1 addition & 0 deletions Composer/packages/client/__tests__/routers.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import { wrapWithRecoil } from './testUtils';
jest.mock('axios', () => ({
create: jest.fn().mockReturnThis(),
get: jest.fn(),
post: jest.fn(() => new Promise((resolve) => resolve({}))),
request: jest.fn(),
interceptors: {
request: { use: jest.fn() },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ export const userDispatcher = () => {
});

const updateUserSettings = useRecoilCallback(
(callbackHelpers: CallbackInterface) => async (settings: Partial<UserSettingsPayload>) => {
(callbackHelpers: CallbackInterface) => async (settings: Partial<UserSettingsPayload> = {}) => {
const { set } = callbackHelpers;
if (settings.appLocale != null) {
await loadLocale(settings.appLocale);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { useRecoilValue } from 'recoil';
import { PageNames } from '@bfc/shared';
import camelCase from 'lodash/camelCase';

import { currentProjectIdState, featureFlagsState, userSettingsState } from '../recoilModel';
import { currentProjectIdState, dispatcherState, featureFlagsState, userSettingsState } from '../recoilModel';
import { getPageName } from '../utils/getPageName';
import { useLocation } from '../utils/hooks';

Expand All @@ -15,6 +15,7 @@ import TelemetryClient from './TelemetryClient';
const { ipcRenderer } = window;

export const useInitializeLogger = () => {
const { updateUserSettings } = useRecoilValue(dispatcherState);
const rootProjectId = useRecoilValue(currentProjectIdState);
const { telemetry } = useRecoilValue(userSettingsState);
const featureFlags = useRecoilValue(featureFlagsState);
Expand All @@ -34,6 +35,12 @@ export const useInitializeLogger = () => {

TelemetryClient.setup(telemetry, { rootProjectId, page, ...reducedFeatureFlags });

useEffect(() => {
// Update user settings when the user opens the app to ensure
// the data collection settings on the server are current
updateUserSettings();
}, []);

useEffect(() => {
ipcRenderer?.on('session-update', (_event, name) => {
switch (name) {
Expand Down