The DP Code desktop app updates itself automatically using electron-updater and GitHub Releases. After a new version is published, the app downloads it in the background and prompts you to restart — no manual download required. Updates are disabled in development builds and in Linux installs that are not running the AppImage.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Emanuele-web04/dpcode/llms.txt
Use this file to discover all available pages before exploring further.
How updates are delivered
New versions of the desktop app are published to the GitHub Releases page. Before each update check, the app fetches the list of releases from the GitHub API and picks the highest stable semver tag (ignoring drafts and pre-releases). It then pointselectron-updater directly at the release artifact for that tag, which means downloads are always full packages rather than differential patches.
Only stable releases (tags matching
vMAJOR.MINOR.PATCH) are considered. Pre-release and draft releases are skipped automatically.Update states
The updater moves through a set of states that are surfaced to the UI over Electron IPC:| State | Meaning |
|---|---|
disabled | Automatic updates are not available (see when updates are disabled). |
idle | Updates are enabled. No check has run yet. |
checking | The app is contacting the GitHub API and comparing versions. |
up-to-date | The last check completed and no newer version was found. |
available | A newer version was found. Download has not started yet. |
downloading | The update package is being downloaded. Progress is reported in 10% increments. |
downloaded | The update is fully downloaded and ready to install. |
error | Something went wrong during the check or download. The errorContext field indicates whether it was a check, download, or install failure. |
Update flow
Startup check
Fifteen seconds after launch, the app performs its first update check. The delay prevents the update network request from competing with backend startup.
Foreground recheck
When you bring the app back into focus after it has been in the background for at least 30 seconds, and more than 5 minutes have passed since the last check, a new check runs automatically.
Download in background
If an update is available, you can choose to download it. The download runs in the background and reports progress to the UI. If the download fails, the updater returns to the
available state so you can retry.Checking for updates manually
You can trigger a manual update check at any time from the application menu:- macOS
- Linux / Windows
Open the DP Code menu in the menu bar and click Check for Updates….
When updates are disabled
Automatic updates are disabled under certain conditions. When updates are disabled, the updater state is set todisabled and manual checks show an explanatory dialog.
| Condition | Reason shown |
|---|---|
| No update feed configured | ”Automatic updates are not available because no update feed is configured.” |
| Running a development build | ”Automatic updates are only available in packaged production builds.” |
T3CODE_DISABLE_AUTO_UPDATE=1 is set | ”Automatic updates are disabled by the T3CODE_DISABLE_AUTO_UPDATE setting.” |
| Linux, not using the AppImage build | ”Automatic updates on Linux require running the AppImage build.” |
Environment variables
| Variable | Effect |
|---|---|
T3CODE_DISABLE_AUTO_UPDATE=1 | Disables automatic updates for this session. |
T3CODE_DESKTOP_UPDATE_GITHUB_TOKEN | GitHub personal access token used for authenticated release API requests. Useful if you hit rate limits. Also falls back to GH_TOKEN. |
Apple Silicon and architecture switching
If you are running the Intel (x64) build of DP Code on an Apple Silicon Mac, the updater detects this and logs a notice at startup. The next update will download and install the native arm64 build, switching you to the correct architecture automatically.
Retry behavior
If a download fails, thecanRetry flag is set to true when a known available version exists, so you can retry without running a full check again. If a check itself fails (for example, due to a network error), the error state also sets canRetry: true.