Add logger

This commit is contained in:
Eric Bailey
2025-08-05 14:48:53 -05:00
parent 8dd4a73b78
commit f978d9bff5
4 changed files with 23 additions and 9 deletions
@@ -0,0 +1,3 @@
import {Logger} from '#/logger'
export const logger = Logger.create(Logger.Context.PolicyUpdate)
@@ -2,6 +2,7 @@ import {useMemo} from 'react'
import {useNux, useSaveNux} from '#/state/queries/nuxs'
import {ACTIVE_UPDATE_ID} from '#/components/PolicyUpdateOverlay/config'
import {logger} from '#/components/PolicyUpdateOverlay/logger'
import {IS_DEV} from '#/env'
import {device, useStorage} from '#/storage'
@@ -15,7 +16,7 @@ export function usePolicyUpdateState() {
const {mutate: save, variables} = useSaveNux()
const deviceStorage = useStorage(device, [ACTIVE_UPDATE_ID])
const debugOverride =
useStorage(device, ['policyUpdateDebugOverride']) && IS_DEV
!!useStorage(device, ['policyUpdateDebugOverride'])[0] && IS_DEV
return useMemo(() => {
const nuxIsReady = nux.status === 'ready'
const nuxIsCompleted = nux.nux?.completed === true
@@ -29,6 +30,12 @@ export function usePolicyUpdateState() {
completedForDevice,
})
logger.debug(`state`, {
completed,
nux,
completedForDevice,
})
if (!debugOverride) {
syncCompletedState({
nuxIsReady,
@@ -43,6 +50,7 @@ export function usePolicyUpdateState() {
return {
completed,
complete() {
logger.debug(`user completed`)
save({
id: ACTIVE_UPDATE_ID,
completed: true,
@@ -111,12 +119,14 @@ export function syncCompletedState({
!nuxIsOptimisticallyCompleted &&
!!completedForDevice
) {
logger.debug(`syncing device state to server state`)
save({
id: ACTIVE_UPDATE_ID,
completed: true,
data: undefined,
})
} else if (nuxIsReady && nuxIsCompleted && !completedForDevice) {
logger.debug(`syncing server state to device state`)
/*
* Sync server state to device state
*/
@@ -1,21 +1,21 @@
import {useCallback} from 'react'
import {useSaveNux} from '#/state/queries/nuxs'
import {ACTIVE_UPDATE_ID} from '#/components/PolicyUpdateOverlay/config'
import {logger} from '#/components/PolicyUpdateOverlay/logger'
import {device, useStorage} from '#/storage'
/*
* Marks the active policy update as completed in device storage.
* `usePolicyUpdateState` will react to this and replicate this status in the
* server NUX state for this account.
*/
export function usePreemptivelyCompleteActivePolicyUpdate() {
const {mutate: save} = useSaveNux()
const [_completedForDevice, setCompletedForDevice] = useStorage(device, [
ACTIVE_UPDATE_ID,
])
return useCallback(() => {
save({
id: ACTIVE_UPDATE_ID,
completed: true,
data: undefined,
})
logger.debug(`preemptively completing active policy update`)
setCompletedForDevice(true)
}, [save, setCompletedForDevice])
}, [setCompletedForDevice])
}
+1
View File
@@ -13,6 +13,7 @@ export enum LogContext {
FeedFeedback = 'feed-feedback',
PostSource = 'post-source',
AgeAssurance = 'age-assurance',
PolicyUpdate = 'policy-update',
/**
* METRIC IS FOR INTERNAL USE ONLY, don't create any other loggers using this