fix(launcher): run the newest engine, and add tron doctor / tron repair - #96
Merged
Merged
Conversation
…epair` "Something went wrong when opening your profile. Some features may be unavailable." is Chromium's profile-error dialog: one database it could not open, reported once per feature that needed it, so a single broken `Web Data` file arrives as ten dialogs. No TronBrowser release causes it and no reinstall fixes it, because the engine, the locks and the databases all live on the user's machine. The launcher used to run the first Ungoogled Chromium it found, native before Flatpak, regardless of version. A profile carries the schema of whichever build wrote it last, so a distro package appearing beside the self-updating Flatpak could downgrade the engine underneath the profile with nothing in TronBrowser changing. It now runs the newest candidate, and warns when the engine is older than the `Last Version` that wrote the profile. `tron doctor` reports the engine and every candidate, the profile's last writer, running instances and SingletonLock, each database's integrity and schema version, disk space, permissions, and the database lines from the engine's log. `tron repair` removes a stale lock and moves a database that no longer opens aside (never deletes it) so the browser rebuilds it; it refuses under a running browser. Also: the once-daily background upgrade now waits 30s so its cache prune can see the browser it was launched beside, and the prune re-checks for a running browser after the slow sizing pass, right before unlinking. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y9BHV9dFe6Q43CPUbvFyef
… doctor Document `TB_FORCE=1 tron upgrade` in the CLI help: it reinstalls the current release and stops every TronBrowser process first, which is what cleared the profile-error dialog on a machine where a windowless instance was holding the databases. The doctor now names that case when it finds the profile in use. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y9BHV9dFe6Q43CPUbvFyef
ThreatCrush Security Scan49 finding(s) MEDIUM: 31 | LOW: 18
Snippets are redacted; ThreatCrush never prints matched credential material. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What happened
"Something went wrong when opening your profile. Some features may be unavailable." showed up ten times on launch, on a machine where nothing of ours had changed: the last desktop release was v3.9.12 on Sept 1.
TB_FORCE=1 tron upgradecleared it.That dialog is Chromium's profile-error dialog. It reports one database it could not open, once per feature that needed it, and the autofill, keyword, token, payments and account services all sit on the single
Web Datafile. So one broken or locked file arrives as ten dialogs. The causes all live on the machine, and none of them is fixed by reinstalling TronBrowser, because a reinstall never touches the profile:SingletonLock, a corrupt database, a full disk, or an unwritable profile.What changed
Last Versionthat wrote the profile.tron doctorreports the engine and every candidate, the profile's last writer, running instances and the lock, each database's integrity and schema version, disk space, permissions, and the database lines from the engine log.--jsonfor scripts. Exits non-zero when something is wrong.tron repairremoves a stale lock and moves a database that no longer opens into a dated folder inside the profile, never deleting it. Refuses under a running browser and names the stuck-instance case.TB_FORCE=1 tron upgradeis documented intron helpand the installer help.Tests
apps/desktop/test/doctor.test.ts: 11 cases against synthetic profiles (healthy, downgrade, same version with build suffix, corrupt DB, stale lock, log filtering, repair moves aside and keeps a backup, dry run, refusal under a running process, nothing to do for a downgrade).apps/desktop/test/launcher.test.ts: 6 new cases for engine selection (Flatpak newer, native newer, tie, single engine) and the downgrade warning.sh -nand shellcheck.Rollout
tron-doctorships in the tarball (staged bybuild-release.sh); thedoctor/repairsubcommands ship in the CLI, which deploys from main via install.sh. Both land with a merge plus av3.9.13tag, and reach users ontron upgrade.🤖 Generated with Claude Code
https://claude.ai/code/session_01Y9BHV9dFe6Q43CPUbvFyef