From 862ff734c652f7e3e7ada10c98059ce73f8916ad Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Tue, 5 Apr 2022 10:22:18 +0100 Subject: [PATCH] Merge pull request #7278 from overleaf/jpa-block-track-changes-access [web] block restricted token users from accessing track-changes details GitOrigin-RevId: f2e734b48aaa1d1cae6d5db0e0312a78d42165de --- .../web/frontend/js/ide/editor/directives/aceEditor.js | 3 ++- .../web/frontend/js/ide/review-panel/RangesTracker.js | 4 +++- .../ide/review-panel/controllers/ReviewPanelController.js | 8 ++++++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/services/web/frontend/js/ide/editor/directives/aceEditor.js b/services/web/frontend/js/ide/editor/directives/aceEditor.js index 3e98b4138f..b0f4228cbf 100644 --- a/services/web/frontend/js/ide/editor/directives/aceEditor.js +++ b/services/web/frontend/js/ide/editor/directives/aceEditor.js @@ -664,12 +664,13 @@ App.directive( } const initTrackChanges = function () { + if (!trackChangesManager) return + trackChangesManager.rangesTracker = scope.sharejsDoc.ranges // Force onChangeSession in order to set up highlights etc. trackChangesManager.onChangeSession() - if (!trackChangesManager) return editor.on('changeSelection', trackChangesManager.onChangeSelection) // Selection also moves with updates elsewhere in the document diff --git a/services/web/frontend/js/ide/review-panel/RangesTracker.js b/services/web/frontend/js/ide/review-panel/RangesTracker.js index 9d8fed093d..9bc6e8853f 100644 --- a/services/web/frontend/js/ide/review-panel/RangesTracker.js +++ b/services/web/frontend/js/ide/review-panel/RangesTracker.js @@ -247,7 +247,9 @@ export default RangesTracker = class RangesTracker { this.applyDeleteToChanges(op, metadata) return this.applyDeleteToComments(op) } else if (op.c != null) { - return this.addComment(op, metadata) + if (!window.isRestrictedTokenMember) { + return this.addComment(op, metadata) + } } else { throw new Error('unknown op type') } diff --git a/services/web/frontend/js/ide/review-panel/controllers/ReviewPanelController.js b/services/web/frontend/js/ide/review-panel/controllers/ReviewPanelController.js index e3287d11da..52f565fbf5 100644 --- a/services/web/frontend/js/ide/review-panel/controllers/ReviewPanelController.js +++ b/services/web/frontend/js/ide/review-panel/controllers/ReviewPanelController.js @@ -475,12 +475,16 @@ export default App.controller( } if ($scope.users[change.metadata.user_id] == null) { - refreshChangeUsers(change.metadata.user_id) + if (!window.isRestrictedTokenMember) { + refreshChangeUsers(change.metadata.user_id) + } } } if (rangesTracker.comments.length > 0) { - ensureThreadsAreLoaded() + if (!window.isRestrictedTokenMember) { + ensureThreadsAreLoaded() + } } for (const comment of Array.from(rangesTracker.comments)) {