Troubleshooting

Updated · 7 min read · For developers, QA, release managers, IT and security

Find your symptom in the table for its area: upload, build processing, channels, installer, updates on user machines, or CI. Each row gives the likely cause and the fix. Most problems come from a build that is not active yet, a channel with no build assigned, or a revoked token or key.

Check these three things first

  1. Is the build active? Open the app’s Builds tab. Only an active build can be assigned to a channel or used as a launch target.
  2. Is the build on the channel? Open the channel page. An installed copy gets nothing new until its channel points at a different build.
  3. Is the access still valid? A revoked channel token or CI API key is refused on the next request.

When you ask for help, include the full build version (such as 1.4.0+build.42), the channel name and the exact message you saw.

Upload

SymptomCauseFix
Two files are refused as duplicatesTheir paths differ only in upper and lower case. Windows treats them as the same fileRename one of them and upload again
A file is refused before uploadIts path is longer than 300 characters, or the file is larger than 5 GiBShorten the folder structure, or split the file
The whole upload is refused before it startsThe build has more than 5000 filesRemove files the app does not need at run time, or pack data into fewer files
A 7z, RAR or tar archive is refusedThese archives are unpacked in the browser, in memory, and the limit is 1 GiBDrop the unpacked folder instead
Storage limit reachedThe plan’s storage is fullDelete builds you no longer need (space comes back within minutes) or see pricing. Files you uploaded before do not count twice
The upload stopped halfwayThe network droppedPress Retry failed: only the failed files upload again
Some files show as done at onceYour workspace uploaded identical files beforeNothing to fix. Unchanged files are never uploaded twice

Build processing

SymptomCauseFix
The build stays on processingEvery file is verified, and copied into storage before the file list is signed. Large builds take longerWait. A temporary error is retried before the build is marked failed
Failed with HASH_MISMATCH or SIZE_MISMATCHA file changed while it was being uploadedMake sure the build has finished writing its output, then upload again
Failed with FILE_RECLAIMEDA file the build reused from an earlier upload was cleaned up in the meantimeUpload again. This time the file is uploaded in full
This app is busy with another upload or a cleanupAnother upload or the nightly cleanup held the app for a momentTry again in a few seconds
This app has N builds, the most the … plan keepsEvery build is live on a channel, pinned or among the three newest, so none could make roomUnpin or delete a build, or see pricing
A build disappeared from the listIt was deleted by hand, or removed by the plan’s build retention after it stopped being livePin builds you want to keep. Pinned builds and builds live on a channel are never removed automatically

Channels

SymptomCauseFix
A channel name is refusedNames may hold only lowercase letters, numbers and hyphensUse a name such as beta-2
CHANNEL_EXISTSThe app already has a channel with that namePick another name or open the existing channel
A new channel is refused with a plan limitThe plan’s channel count for the app is reachedDelete a channel you no longer use, or see pricing
Installed copies say they are up to dateThe channel still points at the build they have, or at no buildAssign the new build on the channel page
A rollback was undone by itselfThe channel follows a branch, and a new push replaced the build you assignedStop following the branch on the channel page while you investigate
A branch channel disappearedChannels created automatically for a branch expire after a period without pushes or update checksPush to the branch again, or use Keep this channel to keep one for good

Installer builds

SymptomCauseFix
SmartScreen warns about an unknown publisherInstallers are not code-signed until a certificate is configuredExpected today. Choose More info, then Run anyway. See the SmartScreen post
“No installer has been built for …”Installers are built on request, per design and channelPress Create installer for that channel on the Installer tab
The installer stays queuedThe build machine is busy or offlineWait; queued builds run when it is back. Nothing to fix in the dashboard
A build is refused because one is already runningThat design and channel already have a compile in progressWait for it to finish, then build again
“You’ve reached today’s installer build limit”A daily fair-use limit on installer builds per workspaceTry again tomorrow. Building an unchanged design returns the existing installer
The installer build fails and asks you to rename the appThe app name contains a character the build machine cannot pass safely: & | < > ^ % ! or a double quoteRename the app in its Settings tab and build again
Your .exe is not offered as the launch targetThe build is not active yet, so its file list is not readyWait for the build to become active, then open the design again

Updates on user machines

SymptomCauseFix
“Access to … was refused — it may have been revoked”The channel token in the installer was revokedGive the user a new installer for the channel
“Updates are paused”The publisher’s plan usage limit was reached, so the app gets no updates for nowThe publisher checks usage under Settings and upgrades or waits for the next month
“The update was not installed: it contains an unsafe file path”A file name in the build is not safe on Windows, for example CON.txt or a name ending in a dotRename the file in your app and upload a new build
“The update changed while it was downloading”The channel moved to another build during the downloadCheck again; the next attempt gets the new build
The background check never runsThe channel is set to manual checks only, or its interval has not passed yetChange the channel’s check setting, or open the installer window, which checks at once
An update arrives a few minutes after start-upThe background check waits a random time of up to ten minutes so machines do not all check at onceExpected
The command-line check exits with code 1Network, channel access, a hash mismatch or an unsafe pathRead the error field of the printed JSON. For a server busy answer it also carries retryAfterSeconds

An installer keeps its own log in .omni-installer\logs\app.log inside the install folder, and more logs in %LOCALAPPDATA%\Omnihorn\logs. Attach them to a bug report. See Updates on user machines for how the update cycle works.

CI uploads

SymptomCauseFix
The API key was refused (401)The secret is empty, mistyped, or the key was revokedCreate a new key on the CI/CD tab and update the OMNIHORN_API_KEY secret
This app is suspended or workspace is suspended (403)The app or workspace was suspendedContact support through contact
Retries with “Too many requests” (429)More than 60 requests a minute with one keyThe upload waits and retries by itself. Use one key per repository
Fork or Dependabot runs skip the uploadThose runs get no secretsExpected: they are skipped with a notice and do not fail
“No branch channel was created: the plan’s channel limit is reached”The build exists but has no channelDelete a channel, make an existing channel follow the branch, or see pricing
“still processing after 15 minutes”A large build is still being verifiedCheck the Builds tab; it may still finish
“channel … unchanged (a newer build is already there)”A later push of the same branch finished firstNothing to fix

The CI/CD guide has the full list of inputs and messages. If none of this matches, write to us through contact with the build version and the message.

›Why do installed copies not get my new build?

Usually because the build is not assigned to their channel yet, or the channel’s check interval has not passed. Assign the build on the channel page; opening the installer window checks at once.

›Is the SmartScreen warning a problem with my app?

No. Installers are not code-signed until a certificate is configured, so Windows warns about every Omnihorn installer today.

›A build failed. Can I retry it?

Upload it again. Files your workspace already uploaded are not sent twice, so a second upload is usually quick.

Something wrong or missing? Tell us.