Просмотр исходного кода

Merge pull request #3143 from overleaf/jpa-editor-handle-project-not-found

[frontend] ConnectionManager: handle ProjectNotFound err in joinProject

GitOrigin-RevId: 198def9e3e2df223e5cb01e04336074c47df3c33
Timothée Alby 6 лет назад
Родитель
Сommit
8a327c5692
1 измененных файлов с 12 добавлено и 0 удалено
  1. 12 0
      services/web/frontend/js/ide/connection/ConnectionManager.js

+ 12 - 0
services/web/frontend/js/ide/connection/ConnectionManager.js

@@ -433,6 +433,18 @@ Something went wrong connecting to your project. Please refresh if this continue
         data,
         (err, project, permissionsLevel, protocolVersion) => {
           if (err != null || project == null) {
+            err = err || {}
+            if (err.code === 'ProjectNotFound') {
+              // A stale browser tab tried to join a deleted project.
+              // Reloading the page will render a 404.
+              this.ide
+                .showGenericMessageModal(
+                  'Project has been deleted',
+                  'This project has been deleted by the owner.'
+                )
+                .result.then(() => location.reload(true))
+              return
+            }
             if (err.code === 'TooManyRequests') {
               sl_console.log(
                 `[joinProject ${connectionId}] retrying: ${err.message}`