mirror of
https://github.com/status-im/status-desktop.git
synced 2025-02-21 19:18:53 +00:00
fix(CommunityPermissions): Fix token criteria updates in the permissions model
Re-create the token criteria and include all items whenever the model changes. The previous perf optimisation fix filtered the items where the criteriaMet doesn't change. (cherry picked from commit a9a83df301f2b2b6b20e255b699dd56dcb0c4a73)
This commit is contained in:
parent
4a066a2f48
commit
5e33540307
@ -935,12 +935,13 @@ proc updateTokenPermissionModel*(self: Module, permissions: Table[string, CheckP
|
||||
|
||||
var updatedTokenCriteriaItems: seq[TokenCriteriaItem] = @[]
|
||||
var permissionSatisfied = true
|
||||
var aCriteriaChanged = false
|
||||
|
||||
for index, tokenCriteriaItem in tokenPermissionItem.getTokenCriteria().getItems():
|
||||
let criteriaMet = criteriaResult.criteria[index]
|
||||
|
||||
if tokenCriteriaItem.criteriaMet == criteriaMet:
|
||||
continue
|
||||
if tokenCriteriaItem.criteriaMet != criteriaMet:
|
||||
aCriteriaChanged = true
|
||||
|
||||
let updatedTokenCriteriaItem = initTokenCriteriaItem(
|
||||
tokenCriteriaItem.symbol,
|
||||
@ -956,7 +957,7 @@ proc updateTokenPermissionModel*(self: Module, permissions: Table[string, CheckP
|
||||
|
||||
updatedTokenCriteriaItems.add(updatedTokenCriteriaItem)
|
||||
|
||||
if updatedTokenCriteriaItems.len == 0:
|
||||
if not aCriteriaChanged:
|
||||
continue
|
||||
|
||||
thereWasAnUpdate = true
|
||||
|
@ -905,13 +905,13 @@ proc applyPermissionResponse*(self: Module, communityId: string, permissions: Ta
|
||||
|
||||
var updatedTokenCriteriaItems: seq[TokenCriteriaItem] = @[]
|
||||
var permissionSatisfied = true
|
||||
var aCriteriaChanged = false
|
||||
|
||||
for index, tokenCriteriaItem in tokenPermissionItem.getTokenCriteria().getItems():
|
||||
let criteriaMet = criteriaResult.criteria[index]
|
||||
|
||||
if tokenCriteriaItem.criteriaMet == criteriaMet:
|
||||
continue
|
||||
|
||||
if tokenCriteriaItem.criteriaMet != criteriaMet:
|
||||
aCriteriaChanged = true
|
||||
|
||||
let updatedTokenCriteriaItem = initTokenCriteriaItem(
|
||||
tokenCriteriaItem.symbol,
|
||||
@ -927,8 +927,9 @@ proc applyPermissionResponse*(self: Module, communityId: string, permissions: Ta
|
||||
|
||||
updatedTokenCriteriaItems.add(updatedTokenCriteriaItem)
|
||||
|
||||
if updatedTokenCriteriaItems.len == 0:
|
||||
if not aCriteriaChanged:
|
||||
continue
|
||||
|
||||
let updatedTokenPermissionItem = initTokenPermissionItem(
|
||||
tokenPermissionItem.id,
|
||||
tokenPermissionItem.`type`,
|
||||
|
Loading…
x
Reference in New Issue
Block a user