diff --git a/interface/resources/qml/hifi/commerce/purchases/Purchases.qml b/interface/resources/qml/hifi/commerce/purchases/Purchases.qml index 26865a553d..989b78c820 100644 --- a/interface/resources/qml/hifi/commerce/purchases/Purchases.qml +++ b/interface/resources/qml/hifi/commerce/purchases/Purchases.qml @@ -664,9 +664,7 @@ Rectangle { if (sameItemCount !== tempPurchasesModel.count) { filteredPurchasesModel.clear(); - for (var i = 0; i < tempPurchasesModel.count; i++) { - filteredPurchasesModel.append(tempPurchasesModel.get(i)); - } + filteredPurchasesModel.append(tempPurchasesModel); populateDisplayedItemCounts(); sortByDate(); diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml b/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml index fd7ce0fdfd..a3dc091c33 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml @@ -38,10 +38,25 @@ Item { onHistoryResult : { historyReceived = true; if (result.status === 'success') { - transactionHistoryModel.clear(); - transactionHistoryModel.append(result.data.history); + var sameItemCount = 0; + tempTransactionHistoryModel.clear(); + + tempTransactionHistoryModel.append(result.data.history); + + for (var i = 0; i < tempTransactionHistoryModel.count; i++) { + if (!transactionHistoryModel.get(i)) { + break; + } else if (tempTransactionHistoryModel.get(i).transaction_type === transactionHistoryModel.get(i).transaction_type && + tempTransactionHistoryModel.get(i).text === transactionHistoryModel.get(i).text) { + sameItemCount++; + } + } - calculatePendingAndInvalidated(); + if (sameItemCount !== tempTransactionHistoryModel.count) { + transactionHistoryModel.clear(); + transactionHistoryModel.append(tempTransactionHistoryModel); + calculatePendingAndInvalidated(); + } } refreshTimer.start(); } @@ -187,6 +202,9 @@ Item { // Style color: hifi.colors.baseGrayHighlight; } + ListModel { + id: tempTransactionHistoryModel; + } ListModel { id: transactionHistoryModel; }