Add logger
This commit is contained in:
@@ -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 {useNux, useSaveNux} from '#/state/queries/nuxs'
|
||||||
import {ACTIVE_UPDATE_ID} from '#/components/PolicyUpdateOverlay/config'
|
import {ACTIVE_UPDATE_ID} from '#/components/PolicyUpdateOverlay/config'
|
||||||
|
import {logger} from '#/components/PolicyUpdateOverlay/logger'
|
||||||
import {IS_DEV} from '#/env'
|
import {IS_DEV} from '#/env'
|
||||||
import {device, useStorage} from '#/storage'
|
import {device, useStorage} from '#/storage'
|
||||||
|
|
||||||
@@ -15,7 +16,7 @@ export function usePolicyUpdateState() {
|
|||||||
const {mutate: save, variables} = useSaveNux()
|
const {mutate: save, variables} = useSaveNux()
|
||||||
const deviceStorage = useStorage(device, [ACTIVE_UPDATE_ID])
|
const deviceStorage = useStorage(device, [ACTIVE_UPDATE_ID])
|
||||||
const debugOverride =
|
const debugOverride =
|
||||||
useStorage(device, ['policyUpdateDebugOverride']) && IS_DEV
|
!!useStorage(device, ['policyUpdateDebugOverride'])[0] && IS_DEV
|
||||||
return useMemo(() => {
|
return useMemo(() => {
|
||||||
const nuxIsReady = nux.status === 'ready'
|
const nuxIsReady = nux.status === 'ready'
|
||||||
const nuxIsCompleted = nux.nux?.completed === true
|
const nuxIsCompleted = nux.nux?.completed === true
|
||||||
@@ -29,6 +30,12 @@ export function usePolicyUpdateState() {
|
|||||||
completedForDevice,
|
completedForDevice,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
logger.debug(`state`, {
|
||||||
|
completed,
|
||||||
|
nux,
|
||||||
|
completedForDevice,
|
||||||
|
})
|
||||||
|
|
||||||
if (!debugOverride) {
|
if (!debugOverride) {
|
||||||
syncCompletedState({
|
syncCompletedState({
|
||||||
nuxIsReady,
|
nuxIsReady,
|
||||||
@@ -43,6 +50,7 @@ export function usePolicyUpdateState() {
|
|||||||
return {
|
return {
|
||||||
completed,
|
completed,
|
||||||
complete() {
|
complete() {
|
||||||
|
logger.debug(`user completed`)
|
||||||
save({
|
save({
|
||||||
id: ACTIVE_UPDATE_ID,
|
id: ACTIVE_UPDATE_ID,
|
||||||
completed: true,
|
completed: true,
|
||||||
@@ -111,12 +119,14 @@ export function syncCompletedState({
|
|||||||
!nuxIsOptimisticallyCompleted &&
|
!nuxIsOptimisticallyCompleted &&
|
||||||
!!completedForDevice
|
!!completedForDevice
|
||||||
) {
|
) {
|
||||||
|
logger.debug(`syncing device state to server state`)
|
||||||
save({
|
save({
|
||||||
id: ACTIVE_UPDATE_ID,
|
id: ACTIVE_UPDATE_ID,
|
||||||
completed: true,
|
completed: true,
|
||||||
data: undefined,
|
data: undefined,
|
||||||
})
|
})
|
||||||
} else if (nuxIsReady && nuxIsCompleted && !completedForDevice) {
|
} else if (nuxIsReady && nuxIsCompleted && !completedForDevice) {
|
||||||
|
logger.debug(`syncing server state to device state`)
|
||||||
/*
|
/*
|
||||||
* Sync server state to device state
|
* Sync server state to device state
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,21 +1,21 @@
|
|||||||
import {useCallback} from 'react'
|
import {useCallback} from 'react'
|
||||||
|
|
||||||
import {useSaveNux} from '#/state/queries/nuxs'
|
|
||||||
import {ACTIVE_UPDATE_ID} from '#/components/PolicyUpdateOverlay/config'
|
import {ACTIVE_UPDATE_ID} from '#/components/PolicyUpdateOverlay/config'
|
||||||
|
import {logger} from '#/components/PolicyUpdateOverlay/logger'
|
||||||
import {device, useStorage} from '#/storage'
|
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() {
|
export function usePreemptivelyCompleteActivePolicyUpdate() {
|
||||||
const {mutate: save} = useSaveNux()
|
|
||||||
const [_completedForDevice, setCompletedForDevice] = useStorage(device, [
|
const [_completedForDevice, setCompletedForDevice] = useStorage(device, [
|
||||||
ACTIVE_UPDATE_ID,
|
ACTIVE_UPDATE_ID,
|
||||||
])
|
])
|
||||||
|
|
||||||
return useCallback(() => {
|
return useCallback(() => {
|
||||||
save({
|
logger.debug(`preemptively completing active policy update`)
|
||||||
id: ACTIVE_UPDATE_ID,
|
|
||||||
completed: true,
|
|
||||||
data: undefined,
|
|
||||||
})
|
|
||||||
setCompletedForDevice(true)
|
setCompletedForDevice(true)
|
||||||
}, [save, setCompletedForDevice])
|
}, [setCompletedForDevice])
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ export enum LogContext {
|
|||||||
FeedFeedback = 'feed-feedback',
|
FeedFeedback = 'feed-feedback',
|
||||||
PostSource = 'post-source',
|
PostSource = 'post-source',
|
||||||
AgeAssurance = 'age-assurance',
|
AgeAssurance = 'age-assurance',
|
||||||
|
PolicyUpdate = 'policy-update',
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* METRIC IS FOR INTERNAL USE ONLY, don't create any other loggers using this
|
* METRIC IS FOR INTERNAL USE ONLY, don't create any other loggers using this
|
||||||
|
|||||||
Reference in New Issue
Block a user