Scope site connection permissions per address
Some checks failed
check / check (push) Has been cancelled
Some checks failed
check / check (push) Has been cancelled
allowedSites and deniedSites are now objects keyed by address instead of flat arrays, so approving a site for one address no longer grants access for all addresses. Old flat-array data is discarded on load. Settings view collects unique hostnames across all addresses and deleting removes the site from every address.
This commit is contained in:
@@ -15,8 +15,8 @@ const DEFAULT_STATE = {
|
||||
blockscoutUrl: DEFAULT_BLOCKSCOUT_URL,
|
||||
lastBalanceRefresh: 0,
|
||||
activeAddress: null,
|
||||
allowedSites: [],
|
||||
deniedSites: [],
|
||||
allowedSites: {},
|
||||
deniedSites: {},
|
||||
rememberSiteChoice: true,
|
||||
};
|
||||
|
||||
@@ -54,8 +54,14 @@ async function loadState() {
|
||||
saved.blockscoutUrl || DEFAULT_STATE.blockscoutUrl;
|
||||
state.lastBalanceRefresh = saved.lastBalanceRefresh || 0;
|
||||
state.activeAddress = saved.activeAddress || null;
|
||||
state.allowedSites = saved.allowedSites || [];
|
||||
state.deniedSites = saved.deniedSites || [];
|
||||
state.allowedSites =
|
||||
saved.allowedSites && !Array.isArray(saved.allowedSites)
|
||||
? saved.allowedSites
|
||||
: {};
|
||||
state.deniedSites =
|
||||
saved.deniedSites && !Array.isArray(saved.deniedSites)
|
||||
? saved.deniedSites
|
||||
: {};
|
||||
state.rememberSiteChoice =
|
||||
saved.rememberSiteChoice !== undefined
|
||||
? saved.rememberSiteChoice
|
||||
|
||||
Reference in New Issue
Block a user