| ... | 
... | 
@@ -398,7 +398,7 @@ const gConnectionPane = (function () { | 
| 
398
 | 
398
 | 
       bridgeSwitch.addEventListener("toggle", () => {
 | 
| 
399
 | 
399
 | 
         TorSettings.bridges.enabled = bridgeSwitch.pressed;
  | 
| 
400
 | 
400
 | 
         TorSettings.saveToPrefs();
  | 
| 
401
 | 
 
 | 
-        TorSettings.applySettings().then(result => {
 | 
| 
 
 | 
401
 | 
+        TorSettings.applySettings().finally(() => {
 | 
| 
402
 | 
402
 | 
           this._populateBridgeCards();
  | 
| 
403
 | 
403
 | 
         });
  | 
| 
404
 | 
404
 | 
       });
  | 
| ... | 
... | 
@@ -486,7 +486,12 @@ const gConnectionPane = (function () { | 
| 
486
 | 
486
 | 
         });
  | 
| 
487
 | 
487
 | 
         const idString = TorStrings.settings.bridgeId;
  | 
| 
488
 | 
488
 | 
         const id = card.querySelector(selectors.bridges.cardId);
  | 
| 
489
 | 
 
 | 
-        const details = TorParsers.parseBridgeLine(bridgeString);
  | 
| 
 
 | 
489
 | 
+        let details;
  | 
| 
 
 | 
490
 | 
+        try {
 | 
| 
 
 | 
491
 | 
+          details = TorParsers.parseBridgeLine(bridgeString);
  | 
| 
 
 | 
492
 | 
+        } catch (e) {
 | 
| 
 
 | 
493
 | 
+          console.error(`Detected invalid bridge line: ${bridgeString}`, e);
 | 
| 
 
 | 
494
 | 
+        }
  | 
| 
490
 | 
495
 | 
         if (details && details.id !== undefined) {
 | 
| 
491
 | 
496
 | 
           card.setAttribute("data-bridge-id", details.id);
 | 
| 
492
 | 
497
 | 
         }
  | 
| ... | 
... | 
@@ -529,7 +534,7 @@ const gConnectionPane = (function () { | 
| 
529
 | 
534
 | 
                 bridgeSwitch.pressed && !!strings.length;
  | 
| 
530
 | 
535
 | 
               TorSettings.bridges.bridge_strings = strings.join("\n");
 | 
| 
531
 | 
536
 | 
               TorSettings.saveToPrefs();
  | 
| 
532
 | 
 
 | 
-              TorSettings.applySettings().then(result => {
 | 
| 
 
 | 
537
 | 
+              TorSettings.applySettings().finally(() => {
 | 
| 
533
 | 
538
 | 
                 this._populateBridgeCards();
  | 
| 
534
 | 
539
 | 
               });
  | 
| 
535
 | 
540
 | 
             });
  | 
| ... | 
... | 
@@ -1021,7 +1026,7 @@ const gConnectionPane = (function () { | 
| 
1021
 | 
1026
 | 
         TorSettings.bridges.builtin_type = "";
  | 
| 
1022
 | 
1027
 | 
       }
  | 
| 
1023
 | 
1028
 | 
       TorSettings.saveToPrefs();
  | 
| 
1024
 | 
 
 | 
-      TorSettings.applySettings().then(result => {
 | 
| 
 
 | 
1029
 | 
+      TorSettings.applySettings().finally(() => {
 | 
| 
1025
 | 
1030
 | 
         this._populateBridgeCards();
  | 
| 
1026
 | 
1031
 | 
       });
  | 
| 
1027
 | 
1032
 | 
     },
  | 
| ... | 
... | 
@@ -1036,8 +1041,12 @@ const gConnectionPane = (function () { | 
| 
1036
 | 
1041
 | 
     async saveBridgeSettings(connect) {
 | 
| 
1037
 | 
1042
 | 
       TorSettings.saveToPrefs();
  | 
| 
1038
 | 
1043
 | 
       // FIXME: This can throw if the user adds a bridge manually with invalid
  | 
| 
1039
 | 
 
 | 
-      // content. Should be addressed by tor-browser#40552.
  | 
| 
1040
 | 
 
 | 
-      await TorSettings.applySettings();
  | 
| 
 
 | 
1044
 | 
+      // content. Should be addressed by tor-browser#41913.
  | 
| 
 
 | 
1045
 | 
+      try {
 | 
| 
 
 | 
1046
 | 
+        await TorSettings.applySettings();
  | 
| 
 
 | 
1047
 | 
+      } catch (e) {
 | 
| 
 
 | 
1048
 | 
+        console.error("Applying settings failed", e);
 | 
| 
 
 | 
1049
 | 
+      }
  | 
| 
1041
 | 
1050
 | 
 
  | 
| 
1042
 | 
1051
 | 
       this._populateBridgeCards();
  | 
| 
1043
 | 
1052
 | 
 
  |