Jelajahi Sumber

Relayed data task: Allow submitting messages in warning state

Danilo Bargen 7 tahun lalu
induk
melakukan
95afa6e5c7
2 mengubah file dengan 11 tambahan dan 1 penghapusan
  1. 1 1
      src/partials/messenger.ts
  2. 10 0
      src/services/state.ts

+ 1 - 1
src/partials/messenger.ts

@@ -449,7 +449,7 @@ class ConversationController {
     public submit = (type: threema.MessageContentType, contents: threema.MessageData[]): Promise<any> => {
         // Validate whether a connection is available
         return new Promise((resolve, reject) => {
-            if (this.stateService.state !== 'ok') {
+            if (!this.stateService.readyToSubmit(this.webClientService.chosenTask)) {
                 // Invalid connection, show toast and abort
                 this.showError(this.$translate.instant('error.NO_CONNECTION'));
                 return reject();

+ 10 - 0
src/services/state.ts

@@ -208,6 +208,16 @@ export class StateService {
         }
     }
 
+    public readyToSubmit(chosenTask: ChosenTask): boolean {
+        switch (chosenTask) {
+            case ChosenTask.RelayedData:
+                return this.state === GlobalConnectionState.Ok || this.state === GlobalConnectionState.Warning;
+            case ChosenTask.WebRTC:
+            default:
+                return this.state === GlobalConnectionState.Ok;
+        }
+    }
+
     /**
      * Reset all states.
      */