⚠️ Auto-Update Removed in v1.0.0-alpha.5 — Here's Why #53
altaskur
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
Starting with v1.0.0-alpha.5, the auto-update feature has been completely removed from OpenTimeTracker. This decision was made after encountering several critical issues that made the feature unreliable and potentially harmful to the user experience. Below is a detailed explanation of what happened and why.
What Happened
1. ERR_MODULE_NOT_FOUND in alpha.4
Error: Cannot find module 'electron-updater'The root cause was related to how electron-builder handles dependency bundling: electron-updater must be present at runtime, but was excluded from the packaged build due to its dependency scope.
2. Windows Smart App Control Blocking
After fixing the dependency issue and rebuilding, a second problem appeared: Windows Smart App Control actively blocked the unsigned .exe from running — with no "Run anyway" option.
Unlike the traditional SmartScreen warning (which allows users to proceed), Smart App Control completely prevents execution of unsigned applications on systems where it is enabled.
This means the auto-update feature was effectively delivering updates that users couldn't run.
In managed or corporate environments, this behavior is a hard blocker and cannot be bypassed by the user.
We explored multiple options for signing the application. At the moment, none of them provide a viable path that aligns with the current project structure and developer profile.
Azure Trusted Signing
Requires identity validation. Individual developers in the EU can only validate through an organization — there is no individual validation path available for EU residents. Since OpenTimeTracker is maintained by an individual developer, this option is not currently viable.
SignPath.io
Offers free code signing for open-source projects. This remains a potential future option but requires additional setup and integration with the CI/CD pipeline.
What Changed in alpha.5
The entire auto-update system was removed from both the Electron backend and the Angular frontend:
UpdateManagerservice, IPC handlers, update-related menu items, and preload API bindings were all deleted.UpdateService, settings page for updates, and the update dialog component were removed.publishsection was removed fromelectron-builderconfiguration, and theelectron-updaterdependency was removed entirely.How to Update Going Forward
For now, updates will need to be installed manually:
Future Plans
Related PRs
Thank you for your patience! If you have any questions or suggestions (especially regarding code signing solutions), feel free to comment below.
Beta Was this translation helpful? Give feedback.
All reactions