| ... | ... | @@ -136,37 +136,37 @@ object TorBrowserFeatures { | 
| 136 | 136 |          }
 | 
| 137 | 137 |  
 | 
| 138 | 138 |          /**
 | 
| 139 |  | -         *  If we have not done it yet, enable automatic updates for NoScript and force a
 | 
|  | 139 | +         *  Enable automatic updates for NoScript and, if we've not done it yet, force a
 | 
| 140 | 140 |           *  one-time immediate update check, in order to upgrade old profiles and ensure we've got
 | 
| 141 | 141 |           *  the latest stable AMO version available on first startup.
 | 
| 142 | 142 |           *  We will do it as soon as the Tor is connected, to prevent early addonUpdater activation
 | 
| 143 | 143 |           *  causing automatic update checks failures (components.addonUpdater being a lazy prop).
 | 
| 144 | 144 |           *  The extension, from then on, should behave as if the user had installed it manually.
 | 
| 145 | 145 |           */
 | 
| 146 |  | -        if (settings.noscriptUpdated == 0) {
 | 
| 147 |  | -            context.components.torController.registerTorListener(object : TorEvents {
 | 
| 148 |  | -                override fun onTorConnected() {
 | 
| 149 |  | -                    context.components.torController.unregisterTorListener(this)
 | 
| 150 |  | -                    // Enable automatic updates
 | 
| 151 |  | -                    context.components.addonUpdater.registerForFutureUpdates(NOSCRIPT_ID)
 | 
| 152 |  | -                    // Force an immediate update check
 | 
|  | 146 | +        context.components.torController.registerTorListener(object : TorEvents {
 | 
|  | 147 | +            override fun onTorConnected() {
 | 
|  | 148 | +                context.components.torController.unregisterTorListener(this)
 | 
|  | 149 | +                // Enable automatic updates. This must be done on every startup (tor-browser#42353)
 | 
|  | 150 | +                context.components.addonUpdater.registerForFutureUpdates(NOSCRIPT_ID)
 | 
|  | 151 | +                // Force a one-time immediate update check for older installations
 | 
|  | 152 | +                if (settings.noscriptUpdated < 2) {
 | 
| 153 | 153 |                      context.components.addonUpdater.update(NOSCRIPT_ID)
 | 
| 154 |  | -                    settings.noscriptUpdated = 1
 | 
|  | 154 | +                    settings.noscriptUpdated = 2
 | 
| 155 | 155 |                  }
 | 
|  | 156 | +            }
 | 
| 156 | 157 |  
 | 
| 157 |  | -                @SuppressWarnings("EmptyFunctionBlock")
 | 
| 158 |  | -                override fun onTorConnecting() {
 | 
| 159 |  | -                }
 | 
|  | 158 | +            @SuppressWarnings("EmptyFunctionBlock")
 | 
|  | 159 | +            override fun onTorConnecting() {
 | 
|  | 160 | +            }
 | 
| 160 | 161 |  
 | 
| 161 |  | -                @SuppressWarnings("EmptyFunctionBlock")
 | 
| 162 |  | -                override fun onTorStopped() {
 | 
| 163 |  | -                }
 | 
|  | 162 | +            @SuppressWarnings("EmptyFunctionBlock")
 | 
|  | 163 | +            override fun onTorStopped() {
 | 
|  | 164 | +            }
 | 
| 164 | 165 |  
 | 
| 165 |  | -                @SuppressWarnings("EmptyFunctionBlock")
 | 
| 166 |  | -                override fun onTorStatusUpdate(entry: String?, status: String?) {
 | 
| 167 |  | -                }
 | 
| 168 |  | -            })
 | 
| 169 |  | -        }
 | 
|  | 166 | +            @SuppressWarnings("EmptyFunctionBlock")
 | 
|  | 167 | +            override fun onTorStatusUpdate(entry: String?, status: String?) {
 | 
|  | 168 | +            }
 | 
|  | 169 | +        })
 | 
| 170 | 170 |      }
 | 
| 171 | 171 |  
 | 
| 172 | 172 |  
 |