From 64a66aafd5452ddd9728511423186d974678360b Mon Sep 17 00:00:00 2001 From: Paulo Reis Date: Thu, 9 Aug 2018 12:16:36 +0100 Subject: [PATCH] Protect against reading the project members list too soon. --- .../ide/history/controllers/HistoryListController.coffee | 8 ++++++-- .../history/controllers/HistoryV2ListController.coffee | 7 ++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/services/web/public/coffee/ide/history/controllers/HistoryListController.coffee b/services/web/public/coffee/ide/history/controllers/HistoryListController.coffee index cfd5bb75c5..6c9890c6e5 100644 --- a/services/web/public/coffee/ide/history/controllers/HistoryListController.coffee +++ b/services/web/public/coffee/ide/history/controllers/HistoryListController.coffee @@ -6,13 +6,17 @@ define [ App.controller "HistoryListController", ["$scope", "$modal", "ide", ($scope, $modal, ide) -> $scope.hoveringOverListSelectors = false - projectUsers = $scope.project.members.concat $scope.project.owner + $scope.projectUsers = [] + + $scope.$watch "project.members", (newVal) -> + if newVal? + $scope.projectUsers = newVal.concat $scope.project.owner # This method (and maybe the one below) will be removed soon. User details data will be # injected into the history API responses, so we won't need to fetch user data from other # local data structures. _getUserById = (id) -> - _.find projectUsers, (user) -> + _.find $scope.projectUsers, (user) -> curUserId = user?._id or user?.id curUserId == id diff --git a/services/web/public/coffee/ide/history/controllers/HistoryV2ListController.coffee b/services/web/public/coffee/ide/history/controllers/HistoryV2ListController.coffee index f7c602733f..1635ec9f0a 100644 --- a/services/web/public/coffee/ide/history/controllers/HistoryV2ListController.coffee +++ b/services/web/public/coffee/ide/history/controllers/HistoryV2ListController.coffee @@ -7,8 +7,13 @@ define [ $scope.hoveringOverListSelectors = false $scope.listConfig = showOnlyLabelled: false - $scope.projectUsers = $scope.project.members.concat $scope.project.owner + $scope.projectUsers = [] + + $scope.$watch "project.members", (newVal) -> + if newVal? + $scope.projectUsers = newVal.concat $scope.project.owner + $scope.loadMore = () => ide.historyManager.fetchNextBatchOfUpdates()