@@ -85,7 +85,7 @@ export interface ConfigPageProps extends React.HTMLProps<HTMLElement> {
8585// Config Page can be loaded either as a page or as a component in the landing helper-ui page
8686const ConfigPage : FunctionComponent < ConfigPageProps > = ( ) => {
8787 const { gotoPage } = useContext ( RouteContext )
88- const { setConfig, resetConfig, gateways, routers, dnsJsonResolvers, debug, enableGatewayProviders, enableRecursiveGateways, enableWss, enableWebTransport, fetchTimeout, _supportsSubdomains, isLoading : isConfigDataLoading } = useContext ( ConfigContext )
88+ const { setConfig, resetConfig, gateways, routers, dnsJsonResolvers, debug, enableGatewayProviders, enableRecursiveGateways, enableWss, enableWebTransport, enableProviderQueryParameter , fetchTimeout, _supportsSubdomains, isLoading : isConfigDataLoading } = useContext ( ConfigContext )
8989 const [ isSaving , setIsSaving ] = useState ( false )
9090 const [ error , setError ] = useState < Error | null > ( null )
9191 const [ resetKey , setResetKey ] = useState ( 0 )
@@ -98,7 +98,7 @@ const ConfigPage: FunctionComponent<ConfigPageProps> = () => {
9898 }
9999 // we get the iframe origin from a query parameter called 'origin', if this is loaded in an iframe
100100 const targetOrigin = decodeURIComponent ( window . location . hash . split ( '@origin=' ) [ 1 ] )
101- const config = { gateways, routers, dnsJsonResolvers, debug, enableGatewayProviders, enableRecursiveGateways, enableWss, enableWebTransport, fetchTimeout, _supportsSubdomains }
101+ const config = { gateways, routers, dnsJsonResolvers, debug, enableGatewayProviders, enableRecursiveGateways, enableWss, enableWebTransport, enableProviderQueryParameter , fetchTimeout, _supportsSubdomains }
102102 log . trace ( 'config-page: postMessage config to origin ' , JSON . stringify ( config ) , targetOrigin )
103103 /**
104104 * The reload page in the parent window is listening for this message, and then it passes a RELOAD_CONFIG message to the service worker
@@ -107,7 +107,7 @@ const ConfigPage: FunctionComponent<ConfigPageProps> = () => {
107107 targetOrigin
108108 } )
109109 log . trace ( 'config-page: RELOAD_CONFIG sent to parent window' )
110- } , [ gateways , routers , dnsJsonResolvers , debug , enableGatewayProviders , enableRecursiveGateways , enableWss , enableWebTransport , fetchTimeout ] )
110+ } , [ gateways , routers , dnsJsonResolvers , debug , enableGatewayProviders , enableRecursiveGateways , enableWss , enableWebTransport , fetchTimeout , enableProviderQueryParameter ] )
111111
112112 useEffect ( ( ) => {
113113 if ( ! isConfigDataLoading ) {
@@ -120,7 +120,7 @@ const ConfigPage: FunctionComponent<ConfigPageProps> = () => {
120120
121121 const saveConfig = useCallback ( async ( ) => {
122122 try {
123- const config = { gateways, routers, dnsJsonResolvers, debug, enableGatewayProviders, enableRecursiveGateways, enableWss, enableWebTransport, fetchTimeout }
123+ const config = { gateways, routers, dnsJsonResolvers, debug, enableGatewayProviders, enableRecursiveGateways, enableWss, enableWebTransport, fetchTimeout, enableProviderQueryParameter }
124124 setIsSaving ( true )
125125 await storeConfig ( config , uiComponentLogger )
126126 log . trace ( 'config-page: sending RELOAD_CONFIG to service worker' )
@@ -139,7 +139,7 @@ const ConfigPage: FunctionComponent<ConfigPageProps> = () => {
139139 } finally {
140140 setIsSaving ( false )
141141 }
142- } , [ gateways , routers , dnsJsonResolvers , debug , enableGatewayProviders , enableRecursiveGateways , enableWss , enableWebTransport , fetchTimeout ] )
142+ } , [ gateways , routers , dnsJsonResolvers , debug , enableGatewayProviders , enableRecursiveGateways , enableWss , enableWebTransport , fetchTimeout , enableProviderQueryParameter ] )
143143
144144 const doResetConfig = useCallback ( async ( ) => {
145145 // we need to clear out the localStorage items and make sure default values are set, and that all of our inputs are updated
@@ -183,6 +183,14 @@ const ConfigPage: FunctionComponent<ConfigPageProps> = () => {
183183 onChange = { ( value ) => { setConfig ( 'enableWebTransport' , value ) } }
184184 resetKey = { resetKey }
185185 />
186+ < InputToggle
187+ className = 'e2e-config-page-input e2e-config-page-input-enableProviderQueryParameter'
188+ label = 'Enable Provider Query Parameter'
189+ description = 'Parse provider multiaddres available as query parameters in URI.'
190+ value = { enableProviderQueryParameter }
191+ onChange = { ( value ) => { setConfig ( 'enableProviderQueryParameter' , value ) } }
192+ resetKey = { resetKey }
193+ />
186194 < TextInput
187195 className = 'e2e-config-page-input e2e-config-page-input-routers'
188196 description = 'A newline delimited list of delegated IPFS router URLs.'
0 commit comments