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
{{ message }}
Repository navigation
updater error: Cannot update while running on a read-only volume. The application is on a read-only volume. Please move the application and try again. If you're on macOS Sierra or later, you'll need to move the application out of the Downloads directory... #21
updater error: Cannot update while running on a read-only volume. The application is on a read-only volume. Please move the application and try again. If you're on macOS Sierra or later, you'll need to move the application out of the Downloads directory. See https://github.com/Squirrel/Squirrel.Mac/issues/182 for more information.
Auto-triage attempted but the candidate fix failed npx tsc. Human review needed. Log: C:\Users\DavidEngelhart\AppData\Local\termpolis\auto-triage\run-20260725-043422.log
This isn't a bug in the app — it's the auto-updater correctly refusing to update a copy of Termpolis that's running from a read-only location (on macOS, typically still inside the mounted .dmg or in ~/Downloads under App Translocation). Squirrel raises it, the app can't do anything about it, and the user isn't affected: the app runs fine, it just can't self-update until it's moved to /Applications.
What was wrong is that we reported it as a production error. autoUpdater.ts already treated two other environmental refusals as benign (a missing app-update.yml, transient network failures) but not this one, so every launch from a read-only volume filed an issue here.
Fix (54ea1cd, c477566):
New src/main/updaterErrors.ts — a pure module (no electron import) holding the benign-updater-error predicates, including a new isReadOnlyVolumeError. The updater now resolves this state to not-available instead of error.
The predicates live in their own module rather than in autoUpdater.ts because sentry.ts needs them too during early main init — and because both of those files are excluded from coverage, so logic added there would go unmeasured. updaterErrors.ts is at 100% coverage.
Note that this one refusal filed two issues — #21 (via telemetry.recordUpdaterEvent → captureMessage) and #22 (the raw Error reaching Sentry's global handler). Both paths are now closed; see #22.
If you want auto-update to work, move Termpolis.app to /Applications and relaunch.
Activity
codedev-david commentedon Jul 25, 2026
Auto-triage attempted but the candidate fix failed
npx tsc. Human review needed. Log:C:\Users\DavidEngelhart\AppData\Local\termpolis\auto-triage\run-20260725-043422.logv1.32.2 — stop filing environmental non-crashes as production bugs
codedev-david commentedon Jul 25, 2026
Fixed in v1.32.2.
This isn't a bug in the app — it's the auto-updater correctly refusing to update a copy of Termpolis that's running from a read-only location (on macOS, typically still inside the mounted
.dmgor in~/Downloadsunder App Translocation). Squirrel raises it, the app can't do anything about it, and the user isn't affected: the app runs fine, it just can't self-update until it's moved to/Applications.What was wrong is that we reported it as a production error.
autoUpdater.tsalready treated two other environmental refusals as benign (a missingapp-update.yml, transient network failures) but not this one, so every launch from a read-only volume filed an issue here.Fix (
54ea1cd,c477566):src/main/updaterErrors.ts— a pure module (noelectronimport) holding the benign-updater-error predicates, including a newisReadOnlyVolumeError. The updater now resolves this state tonot-availableinstead oferror.autoUpdater.tsbecausesentry.tsneeds them too during early main init — and because both of those files are excluded from coverage, so logic added there would go unmeasured.updaterErrors.tsis at 100% coverage.Note that this one refusal filed two issues — #21 (via
telemetry.recordUpdaterEvent→captureMessage) and #22 (the rawErrorreaching Sentry's global handler). Both paths are now closed; see #22.If you want auto-update to work, move Termpolis.app to
/Applicationsand relaunch.feat(trust): ask before touching agent configs, a proxy switch, opt-i…