feat: http.request permissions

This commit is contained in:
Vlad Stan
2026-07-07 18:22:29 +03:00
parent 62acfd2ea4
commit 15d26093a5
3 changed files with 29 additions and 3 deletions
File diff suppressed because one or more lines are too long
+15 -2
View File
@@ -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 []
+13
View File
@@ -568,6 +568,19 @@
></q-badge>
</div>
</div>
<div v-if="permission.httpHosts.length" class="q-mt-sm">
<div
class="text-caption text-grey"
v-text="$t('extension_permission_http_request_hosts')"
></div>
<ul class="q-my-sm q-pl-md">
<li
v-for="host of permission.httpHosts"
:key="host"
v-text="host"
></li>
</ul>
</div>
</div>
</q-expansion-item>
</q-list>