You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(tor): live bootstrap progress bar + never kill a slow Tor (v3.2.8)
Root cause of the user's failure: a cold first-run Tor downloads the whole
network directory (9455 microdescriptors) and can exceed a minute; our 60s
timeout KILLED it at ~56% → "Tor couldn't start." Fixes:
- Helper never kills Tor for being slow. A background reader watches bootstrap
for Tor's whole lifetime, tracks the % and caches the directory, so the next
attempt is instant. /start is now non-blocking; /status reports live
{progress, ready, error}.
- Extension polls /status and pushes live progress to a NEW progress bar in the
sidebar (0→100%), then enables the proxy when ready. "Still connecting" is a
calm message, not an error.
Verified end-to-end: /start returns instantly, the bar climbs 0→100 over a cold
bootstrap, and curl --socks5-hostname 127.0.0.1:9071 → IsTor:true.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
// Background couldn't route. Explain why, in plain language.
196
217
setTorButton(false);
197
218
consterr=res&&res.started&&res.started.error;
198
-
if(err==='tor-not-installed'){
219
+
if(err==='tor-starting'){
220
+
showTorStatus('','Tor is still connecting — the first run downloads the Tor network and can take a minute or two. Click 🧅 again in a few seconds; it’ll finish in the background.');
221
+
}elseif(err==='tor-not-installed'){
199
222
showTorStatus('warn','Tor isn’t installed yet. Run <code>tron tor</code> once (it installs Tor automatically), then try again.');
200
223
}elseif(err==='unreachable'){
201
224
showTorStatus('warn','Couldn’t reach the Tor helper. Restart TronBrowser and try again, or run <code>tron tor</code>.');
@@ -207,6 +230,7 @@ async function toggleTor() {
207
230
setTorButton(false);
208
231
showTorStatus('warn','Could not toggle Tor: '+((e&&e.message)||e));
0 commit comments