Skip to content

Commit 65fd112

Browse files
authored
fix: debug logs enabled on dev environments (#456)
Fixes #455
1 parent 5cd083c commit 65fd112

File tree

2 files changed

+19
-14
lines changed

2 files changed

+19
-14
lines changed

src/context/config-context.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React, { createContext, useCallback, useEffect, useState } from 'react'
2-
import { defaultDnsJsonResolvers, defaultEnableGatewayProviders, defaultEnableRecursiveGateways, defaultEnableWebTransport, defaultEnableWss, defaultGateways, defaultRouters, getConfig, resetConfig, type ConfigDb } from '../lib/config-db.js'
2+
import { defaultDebug, defaultDnsJsonResolvers, defaultEnableGatewayProviders, defaultEnableRecursiveGateways, defaultEnableWebTransport, defaultEnableWss, defaultGateways, defaultRouters, getConfig, resetConfig, type ConfigDb } from '../lib/config-db.js'
33
import { isConfigPage } from '../lib/is-config-page.js'
44
import { getUiComponentLogger } from '../lib/logger.js'
55
import type { ComponentLogger } from '@libp2p/logger'
@@ -19,14 +19,14 @@ export const ConfigContext = createContext<ConfigContextType>({
1919
setConfigExpanded: (value: boolean) => {},
2020
setConfig: (key, value) => {},
2121
resetConfig: async () => Promise.resolve(),
22-
gateways: [],
23-
routers: [],
24-
dnsJsonResolvers: {},
25-
enableWss: false,
26-
enableWebTransport: false,
27-
enableGatewayProviders: false,
28-
enableRecursiveGateways: false,
29-
debug: ''
22+
gateways: defaultGateways,
23+
routers: defaultRouters,
24+
dnsJsonResolvers: defaultDnsJsonResolvers,
25+
enableWss: defaultEnableWss,
26+
enableWebTransport: defaultEnableWebTransport,
27+
enableGatewayProviders: defaultEnableGatewayProviders,
28+
enableRecursiveGateways: defaultEnableRecursiveGateways,
29+
debug: defaultDebug
3030
})
3131

3232
export const ConfigProvider = ({ children }: { children: JSX.Element[] | JSX.Element, expanded?: boolean }): JSX.Element => {
@@ -38,7 +38,7 @@ export const ConfigProvider = ({ children }: { children: JSX.Element[] | JSX.Ele
3838
const [enableWebTransport, setEnableWebTransport] = useState(defaultEnableWebTransport)
3939
const [enableGatewayProviders, setEnableGatewayProviders] = useState(defaultEnableGatewayProviders)
4040
const [enableRecursiveGateways, setEnableRecursiveGateways] = useState(defaultEnableRecursiveGateways)
41-
const [debug, setDebug] = useState('')
41+
const [debug, setDebug] = useState(defaultDebug)
4242
const isExplicitlyLoadedConfigPage = isConfigPage(window.location.hash)
4343
const logger = getUiComponentLogger('config-context')
4444
const log = logger.forComponent('main')

src/lib/config-db.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ export const defaultEnableWss = true
2222
export const defaultEnableWebTransport = false
2323
export const defaultEnableGatewayProviders = true
2424

25+
/**
26+
* On dev/testing environments, (inbrowser.dev, localhost:${port}, or 127.0.0.1) we should set the default debug config to helia:sw-gateway*,helia:sw-gateway*:trace so we don't need to go set it manually
27+
*/
28+
export const defaultDebug = self.location.hostname.search(/localhost|inbrowser\.dev|127\.0\.0\.1/) === -1 ? '' : 'helia:sw-gateway*,helia:sw-gateway*:trace'
29+
2530
const configDb = new GenericIDB<ConfigDb>('helia-sw', 'config')
2631

2732
export async function resetConfig (logger: ComponentLogger): Promise<void> {
@@ -35,7 +40,7 @@ export async function resetConfig (logger: ComponentLogger): Promise<void> {
3540
await configDb.put('enableWebTransport', defaultEnableWebTransport)
3641
await configDb.put('enableRecursiveGateways', defaultEnableRecursiveGateways)
3742
await configDb.put('enableGatewayProviders', defaultEnableGatewayProviders)
38-
await configDb.put('debug', '')
43+
await configDb.put('debug', defaultDebug)
3944
} catch (err) {
4045
log('error resetting config in db', err)
4146
} finally {
@@ -45,7 +50,7 @@ export async function resetConfig (logger: ComponentLogger): Promise<void> {
4550

4651
export async function setConfig (config: ConfigDb, logger: ComponentLogger): Promise<void> {
4752
const log = logger.forComponent('set-config')
48-
enable(config.debug ?? '') // set debug level first.
53+
enable(config.debug ?? defaultDebug) // set debug level first.
4954
await validateConfig(config, logger)
5055
try {
5156
log('config-debug: setting config %O for domain %s', config, window.location.origin)
@@ -57,7 +62,7 @@ export async function setConfig (config: ConfigDb, logger: ComponentLogger): Pro
5762
await configDb.put('enableWss', config.enableWss)
5863
await configDb.put('enableWebTransport', config.enableWebTransport)
5964
await configDb.put('enableGatewayProviders', config.enableGatewayProviders)
60-
await configDb.put('debug', config.debug ?? '')
65+
await configDb.put('debug', config.debug ?? defaultDebug)
6166
} catch (err) {
6267
log('error setting config in db', err)
6368
} finally {
@@ -91,7 +96,7 @@ export async function getConfig (logger: ComponentLogger): Promise<ConfigDb> {
9196
enableWebTransport = await configDb.get('enableWebTransport') ?? defaultEnableWebTransport
9297
enableGatewayProviders = await configDb.get('enableGatewayProviders') ?? defaultEnableGatewayProviders
9398

94-
debug = await configDb.get('debug') ?? ''
99+
debug = await configDb.get('debug') ?? defaultDebug
95100
enable(debug)
96101
} catch (err) {
97102
log('error loading config from db', err)

0 commit comments

Comments
 (0)