diff --git a/lnbits/static/js/pages/extensions.js b/lnbits/static/js/pages/extensions.js index 30f28c59d..e6f4989f4 100644 --- a/lnbits/static/js/pages/extensions.js +++ b/lnbits/static/js/pages/extensions.js @@ -791,7 +791,8 @@ window.PageExtensions = { descriptions, fieldGroups: [], invoicePolicies: [], - extensionAccess: [] + extensionAccess: [], + httpHosts: [] } if (permission.id === 'ext.storage.read_public') { @@ -810,6 +811,10 @@ window.PageExtensions = { })) } + if (permission.id === 'http.request') { + item.httpHosts = this.httpRequestPermissionHosts(permission) + } + if (permission.id === 'wallet.create_invoice_public') { item.invoicePolicies = this.publicInvoicePolicies(permission) } @@ -839,7 +844,7 @@ window.PageExtensions = { : this.mediumRisk() } if (permission.id === 'http.request') { - return this.highRisk('extension_permission_warning_http_request') + return this.mediumRisk() } if ( [ @@ -884,6 +889,7 @@ window.PageExtensions = { 'wallet.list', 'wallet.balance.read', 'extension.api.request', + 'http.request', 'ui.camera.scan_qr', 'ext.storage.read', 'ext.storage.write', @@ -912,6 +918,13 @@ window.PageExtensions = { }) .filter(Boolean) }, + httpRequestPermissionHosts(permission) { + const hosts = permission.policies + if (!Array.isArray(hosts)) return [] + return hosts + .map(host => (typeof host === 'string' ? host : host?.host || '')) + .filter(host => typeof host === 'string' && host) + }, publicInvoicePolicies(permission) { const policies = permission.policies if (!Array.isArray(policies)) return [] diff --git a/lnbits/templates/pages/extensions.vue b/lnbits/templates/pages/extensions.vue index 0de74659c..5c31108c7 100644 --- a/lnbits/templates/pages/extensions.vue +++ b/lnbits/templates/pages/extensions.vue @@ -568,6 +568,19 @@ > +
+
+ +