816 Commits

Author SHA1 Message Date
6b9e4bff63 Implement URL filtering in Electron navigation handlers
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Added checks in the Electron context to prevent navigation to '/favicon.ico', improving the handling of unwanted requests.
- Enhanced logging for navigation events to provide better visibility into the navigation process.
2026-08-08 19:05:35 +01:00
643dc46402 Update pnpm-lock.yaml to specify exact versions and add new dependency
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Changed the version specification for `electrobun` from caret (^) to exact version for consistency.
- Added `rcedit` as a new dependency with its version specified as 4.0.1.
- Updated `@types/node` dependency to version 25.2.0 for compatibility improvements.
2026-08-07 21:58:03 +01:00
2e08c454a7 Update dependencies and improve Electrobun configuration
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Changed the version specification for `electrobun` in `package.json` and `bun.lock` from caret (^) to exact version to ensure consistent builds.
- Enhanced `electrobun.config.ts` by adding path handling for reading `package.json`, improving file resolution and compatibility with module imports.
2026-08-07 21:56:52 +01:00
e81bc235a8 Remove unused installer icon handling in finalize-desktop-artifacts.mjs
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Deleted the logic for checking and applying the installer icon for macOS packages, streamlining the build process.
- This change simplifies the artifact finalization workflow by eliminating unnecessary steps related to the installer icon.
2026-08-04 23:39:57 +01:00
f52ca059a1 Enhance CEF bundling support and update build scripts
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Introduced `bundleCEF` configuration to control CEF bundling in the build process.
- Updated `Jenkinsfile` to support separate builds for CEF and native applications on Windows and macOS.
- Modified `build-macos.mjs` and `finalize-desktop-artifacts.mjs` to incorporate CEF bundling logic and adjust artifact naming accordingly.
- Enhanced logging to indicate CEF bundling status during builds, improving transparency in the build process.
2026-08-04 22:49:50 +01:00
482cc5dc86 Refactor DashboardNavigation to streamline notification context usage
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Removed unused `notificationCenterVisible` from the `DashboardNavigation` component, simplifying the context usage and improving code clarity.
2026-08-04 02:54:11 +01:00
be51fecba6 Update class logic in DashboardNavigation for electron navigation wrapper
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Adjusted the class name logic in the `DashboardNavigation` component to conditionally apply the 'electrobun-webkit-app-region-drag' or 'electrobun-webkit-app-region-no-drag' class based on the fullscreen state, enhancing the user interface for electron applications.
2026-08-04 02:40:53 +01:00
19ce749e80 Fix variable naming inconsistency in DashboardNavigation component
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Updated `isFullscreen` to `isFullScreen` for consistency with context naming conventions.
- Adjusted class logic in the navigation wrapper to reflect the updated variable name, ensuring proper styling application.
2026-08-04 02:29:26 +01:00
184a6621d9 Refactor DashboardNavigation and enhance CSS styles
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Updated `DashboardNavigation` to conditionally render controls based on authentication and platform.
- Improved user experience by displaying a "Farm Control" message when controls are hidden.
- Enhanced CSS for the electron navigation wrapper to include z-index and user-select properties for better UI handling.
2026-08-04 02:14:57 +01:00
d28bed7136 Enhance window management and navigation handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Added `isFullscreen` context to `DashboardNavigation` for improved UI responsiveness.
- Updated navigation class logic to conditionally apply styles based on fullscreen state.
- Refined window control logic in `window.js` to handle maximize/unmaximize actions more reliably, including asynchronous state synchronization on Windows.
- Introduced adjustments for window frame dimensions in `windows-work-area.js` to account for Win32 DWM overhangs, ensuring accurate maximized state detection and clamping.
2026-08-04 01:57:51 +01:00
eb1ee1e82b Update Windows installer to use FarmControl.exe and enhance process handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Replaced references to launcher.exe with FarmControl.exe in the installer script, ensuring consistency in application execution.
- Added taskkill command to stop running FarmControl processes during installation.
- Updated shortcut creation to point to FarmControl.exe for both desktop and start menu.
- Enhanced cleanup process to remove old executable backups and ensure proper application state after updates.
- Refactored updater logic to check for the presence of FarmControl.exe, improving application launch reliability.
2026-08-04 01:29:31 +01:00
893804a17c Add uninstaller icons and update packaging scripts
Some checks reported errors
farmcontrol/farmcontrol-ui/pipeline/head Something is wrong with the build of this commit
- Introduced `uninstaller.ico` and `farmcontroluninstaller.png` assets for the uninstaller.
- Updated `farmcontrol.nsi` to define and use the uninstaller icon.
- Modified build scripts to copy and handle the uninstaller icon during the packaging process.
- Enhanced pre-build script to include the uninstaller icon in the required assets check.
2026-08-04 01:18:44 +01:00
3c4dc329d0 Remove MSI installer support and related scripts
Some checks reported errors
farmcontrol/farmcontrol-ui/pipeline/head Something is wrong with the build of this commit
- Deleted the `msiWrapped` configuration from `package.json` and removed the associated `msi-wrapped.wxs` file to streamline the packaging process.
- Eliminated the `build-windows-msi.ps1` script, which was previously used for generating MSI installers, as part of the transition to a simpler installation method.
- Updated the `finalize-desktop-artifacts.mjs` script to remove references to the MSI build process, ensuring a cleaner artifact finalization workflow.
2026-08-04 01:15:29 +01:00
cfd0849cba Add app icon generation script and update related processes
- Introduced a new script `generate-app-icons.mjs` to automate the generation of application and installer icons.
- Updated error messages in the Windows MSI build script and the finalize artifacts script to reference the new icon generation command.
- Refactored the pre-build process to call the new icon generation script, ensuring required icons are created before building.
2026-08-04 01:11:18 +01:00
ee62045416 Add support for automatic restart after successful installation on Windows
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Implemented a new function to restart Farm Control after a successful installation, triggered by the `/RESTARTFC` option.
- Enhanced the installer script to wait for the application to close before relaunching, improving user experience during updates.
- Updated the app update process to conditionally schedule a restart based on the platform, ensuring compatibility with macOS.
2026-08-04 00:45:52 +01:00
6f2f7ed5c2 Enhance app update process with improved restart handling and Windows launcher resolution
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Added a delay in the app update process to ensure the UI reflects completion before quitting.
- Updated the Windows launcher resolution logic to prefer the installed launcher, improving post-update behavior.
- Refactored the restart script to use `.cmd` extension and optimized process handling for better reliability.
2026-08-04 00:24:38 +01:00
4fdf3a233d Enhance Windows installer with improved logging and installation progress tracking
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Added support for silent installation mode.
- Implemented detailed progress logging during installation phases, including status updates and percentage completion.
- Refactored the handling of previous installations to ensure smoother updates and in-app upgrade processes.
- Updated error handling for installation failures, providing clearer feedback to users.
2026-08-03 23:54:23 +01:00
2383d14a80 Refactor Windows installer shortcut creation process
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Removed the `fixShortcutWorkingDir` macro to simplify the shortcut creation logic.
- Updated `createDesktopShortcut` and `createStartMenuShortcut` macros to directly set the output path for shortcuts, enhancing clarity and maintainability.
2026-08-03 22:54:06 +01:00
debf6802ce Update Windows installer to support .msi format and enhance installation process
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Changed the installer extension from `.exe` to `.msi` for better compatibility with Windows Installer.
- Refactored validation functions to ensure proper handling of MSI packages.
- Improved logging and progress tracking during installation, providing clearer feedback on the installation status.
- Updated the installer script to manage previous installations more effectively, allowing for smoother upgrades.
2026-08-03 22:44:46 +01:00
79ee30fd25 Refactor window state handling in window.js and adjust frame dimensions in windows-work-area.js
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Removed redundant window state synchronization calls in `applyWindowsStartupWindowState` to streamline the startup process.
- Updated the `clampWindowToWorkArea` function to adjust the window frame dimensions, ensuring proper fitting within the work area.
2026-08-03 18:21:52 +01:00
98ee99ae69 Update Windows installer to use .exe extension instead of .msi for compatibility with new executable format. Refactor validation function to check for Windows executables, enhancing installer integrity checks. 2026-08-03 18:03:22 +01:00
d418e4b809 Remove rcedit entry from pnpm-lock.yaml to reflect the recent dependency cleanup, streamlining project dependencies.
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
2026-08-03 03:25:17 +01:00
caabc62509 Remove rcedit dependency from package.json and bun.lock, streamlining project dependencies. Additionally, eliminate the patchWindowsBinaries function call in the finalize-desktop-artifacts.mjs script, simplifying the artifact finalization process. 2026-08-03 03:24:59 +01:00
c056a2b021 Enhance patch-windows-binaries script with retry logic and improved error handling
Some checks reported errors
farmcontrol/farmcontrol-ui/pipeline/head Something is wrong with the build of this commit
- Introduced a retry mechanism in the `patchExecutable` function to handle transient errors when patching executables, allowing up to 6 attempts with exponential backoff.
- Updated the patching process to create a temporary copy of the executable before applying changes, reducing the risk of file locks by antivirus software.
- Improved logging to provide clearer feedback on patching attempts and failures.
2026-08-03 03:01:47 +01:00
4a1badb5aa Refactor Windows path handling in windows-app-paths.js
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Removed the use of `chdirSync` in favor of `process.chdir` for changing the working directory, improving compatibility with the Node.js environment.
- Streamlined the code for ensuring the correct working directory is set before launching the application on Windows.
2026-08-03 02:37:32 +01:00
3d710e2d2e Remove grant-users-access.nsh script from Windows installer packaging
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Deleted the `grant-users-access.nsh` script as user access permissions are now managed directly within the installer, streamlining the installation process for standard users.
2026-08-03 01:17:35 +01:00
9bd581ee03 Refactor Windows installer and scripts to enhance user access and installation behavior
Some checks reported errors
farmcontrol/farmcontrol-ui/pipeline/head Something is wrong with the build of this commit
- Updated `package.json` to change installation scope from `perMachine` to `perUser`, allowing installations for standard users without admin rights.
- Modified `farmcontrol.nsi` to adjust installation directory and registry keys to use `HKCU` instead of `HKLM`, improving accessibility for non-admin users.
- Refined `installer.nsh` and related scripts to ensure proper handling of the farmcontrol URI handler and shortcuts, aligning with the new user access model.
- Removed references to the `grant-users-access.nsh` script, as user access permissions are now managed directly within the installer.
2026-08-03 01:17:00 +01:00
7d48ab6e85 Update Windows installer and build scripts to transition from deeplink.exe to deeplink.js
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Modified the Windows installer script to change the command for the farmcontrol URI handler from `deeplink.exe` to `bun.exe` executing `deeplink.js`, improving the handling of deep links.
- Updated the build script to output `deeplink.js` instead of `deeplink.exe`, aligning with the new execution method.
- Adjusted the PowerShell script to check for the presence of `deeplink.js` instead of `deeplink.exe`, ensuring the correct file is validated during the staging process.
- Refined the patching script to remove references to `deeplink.exe`, streamlining the target executables for patching.
2026-08-03 01:15:02 +01:00
2e7d255b20 Refactor patch-windows-binaries script to improve error handling and target specific executables
Some checks reported errors
farmcontrol/farmcontrol-ui/pipeline/head Something is wrong with the build of this commit
- Replaced the dynamic executable discovery with a predefined set of target executables (`launcher.exe`, `deeplink.exe`) for clarity.
- Added checks to skip missing executables and improved error handling during the patching process, enhancing robustness and user feedback.
2026-08-03 01:14:06 +01:00
634113ec5c Refactor import statement in patch-windows-binaries script
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Changed the import of `rcedit` from named import to default import for consistency and clarity in the `patch-windows-binaries.mjs` script.
2026-08-03 01:07:05 +01:00
f641ea390d Implement user access permissions and update deeplink handling in Windows installer
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Added a new macro in `grant-users-access.nsh` to grant standard users read and execute access to the installation directory, enhancing accessibility for non-admin users.
- Updated `installer.nsh` to include the new macro during installation, ensuring proper permissions are set.
- Changed the output file from `deeplink.js` to `deeplink.exe` in the build process, improving the executable handling for the application.
- Refactored the installer script to ensure the correct command is used for the farmcontrol URI handler, enhancing functionality.
- Introduced a new script, `patch-windows-binaries.mjs`, to set the requested execution level for Windows binaries, improving security and compliance.
2026-08-03 00:59:07 +01:00
7d1dc22327 Remove unused dependencies from package files
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Deleted `standard`, `svgo`, and `svgo-loader` from `package.json`, `bun.lock`, and `pnpm-lock.yaml` as they are no longer needed.
- This cleanup reduces the overall package size and improves project maintainability.
2026-08-03 00:53:31 +01:00
9c86737691 Add grant users access script to Windows installer process
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Included the `grant-users-access.nsh` script in the Windows installer build process to ensure standard users receive the necessary permissions during installation.
- This addition enhances the installer by addressing permission issues for non-admin users, improving overall accessibility.
2026-08-03 00:50:08 +01:00
add206457f Add user access permissions for Windows installer</message>
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
<message>
- Introduced a new macro in `grant-users-access.nsh` to grant standard users read and execute access to the installation directory, addressing permission issues that affect non-admin users.
- Updated `installer.nsh` and `scripts/installer.nsh` to include the new macro during the installation process, ensuring proper access rights are set for the install tree.
2026-08-03 00:45:53 +01:00
cc3846397a Update branding text in Windows installer script to ensure correct version display
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Added a new branding text line in `farmcontrol.nsi` to reflect the version and build number during installation.
- This change improves the visibility of versioning information for users, aligning with previous updates to enhance installer branding.
2026-08-03 00:29:44 +01:00
27e5ef13bc Refactor Windows app path handling to remove unnecessary directory change
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Removed the `chdirSync` call in `ensureWindowsWorkingDirectory` function, replacing it with a check using `existsSync` to streamline the directory validation process.
- This change enhances the reliability of the function by avoiding unnecessary directory changes that could lead to errors.
2026-08-03 00:26:17 +01:00
e1051499f9 Add installer icons for Windows and macOS
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Introduced a new installer icon in ICO format and a complete iconset for macOS, enhancing the visual branding of the installer.
- Updated Windows installer scripts to reference the new icon files, ensuring they are included in the installation package.
- Implemented a script to prepare the installer icons from a source image, streamlining the icon generation process for different platforms.
2026-08-02 23:35:37 +01:00
ee35e12959 Add farmcontrolinstaller logo and enhance Windows path handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Introduced a new logo file for the farmcontrol installer.
- Updated the `patch-electrobun-src.mjs` script to improve the resolution of the native wrapper path, ensuring compatibility across different execution contexts.
- Refactored the `index.js` file to utilize a new function for setting the working directory on Windows, enhancing application behavior.
- Added a new module in `windows-app-paths.js` to manage Windows-specific directory resolution and ensure the correct working directory is set before launching the application.
2026-08-02 23:32:27 +01:00
4cf4f5e27f Refactor updater script for Windows application restart handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Simplified the script for restarting the application by removing unnecessary process checks and sleep logic.
- Introduced a new variable for the application directory to ensure the correct working directory is set before launching the application.
- Updated the method of executing the restart script to use `spawn` instead of `schtasks`, improving reliability and clarity in the restart process.
2026-08-02 23:12:28 +01:00
c48b8d72da Update branding text in Windows installer script
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Reintroduced the branding text definition in `farmcontrol.nsi` to ensure the installer reflects the correct version and build number.
- This change enhances the visibility of versioning information during the installation process.
2026-08-02 23:09:46 +01:00
5c1ea30e5d Enhance Windows installer and application path handling
- Added a macro to fix the working directory for shortcuts in the Windows installer, ensuring correct execution context.
- Updated shortcut creation logic in `installer.nsh` to utilize the new macro for both desktop and start menu shortcuts.
- Implemented a function to patch the native wrapper path in the Electrobun source, improving compatibility with different execution contexts.
- Adjusted the `deeplink.js` and `index.js` files to set the current working directory appropriately, enhancing application behavior on Windows.
- Introduced a new module for managing window work area constraints, improving window management and user experience on Windows platforms.
2026-08-02 23:09:39 +01:00
17b5068644 Refactor Windows installer scripts to remove desktop and start menu shortcut sections
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Removed the sections for creating desktop and start menu shortcuts from `farmcontrol.nsi`, streamlining the installer process.
- Updated `installer.nsh` to ensure shortcuts are created during installation and removed during uninstallation, enhancing user experience and consistency.
2026-08-02 22:50:30 +01:00
2335a64c03 Refactor Windows path handling for application data directories
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Updated multiple files to consistently use `os.homedir()` for constructing the local application data path, improving compatibility and clarity across the codebase.
- This change enhances the reliability of directory retrieval for Windows environments.
2026-08-02 22:35:24 +01:00
1fdbb01ceb Refactor Windows instance directory retrieval in deeplink handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Updated the `getInstanceDir` function to use `os.homedir()` as a fallback for the local app data path, ensuring compatibility across different Windows environments.
- Improved code clarity by consolidating the logic for determining the local application data directory.
2026-08-02 22:25:14 +01:00
5f061f92eb Enhance deeplink and single instance management for Windows
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Added functions to manage lock files and check if the primary instance is running, improving instance handling.
- Implemented retry logic for forwarding deeplinks via Windows pipes, enhancing reliability in communication between instances.
- Refactored existing functions to streamline the deeplink forwarding process and improve code clarity.
2026-08-02 22:02:17 +01:00
35a50fa97d Update Windows installer scripts to include build number and branding text
- Modified `farmcontrol.nsi` to define a default build number and updated branding text to reflect versioning.
- Enhanced `build-windows-nsis.ps1` to accept a build number parameter, defaulting to "dev".
- Updated `finalize-desktop-artifacts.mjs` to retrieve the build number from various sources, ensuring accurate versioning in the installer.
2026-08-02 21:53:38 +01:00
282d0c6630 Add isElectrobunBridgeReady function and update error handling in AppUpdateContext
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Introduced isElectrobunBridgeReady function to check if the Electrobun bridge is initialized and ready for RPC requests.
- Updated error message in AppUpdateContext to provide clearer guidance when app updates fail, enhancing user experience.
- Modified ElectronContext to utilize the new isElectrobunBridgeReady function for improved bridge readiness checks.
- Adjusted RPC handling in the desktop module to ensure non-blocking app update progress reporting.
2026-08-02 21:40:30 +01:00
a196d0f26d Update Windows installer and deeplink handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Changed the default icon reference in the Windows installer from `deeplink.exe` to `launcher.exe`.
- Updated the command for opening the deeplink to use `bun.exe` with the new `deeplink.js` script.
- Refactored the deeplink build script to rename the function from `buildWindowsDeeplinkExe` to `stageWindowsDeeplink` for clarity.
- Adjusted the PowerShell script to check for the presence of `deeplink.js` instead of `deeplink.exe`, ensuring correct staging of the application.
- Modified the finalization script to reflect the new staging function for the deeplink, enhancing the build process.
2026-08-02 21:34:43 +01:00
09d90632f9 Add macOS code signing functionality to finalize desktop artifacts
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Imported `codesignMacAppBundle` function to handle code signing for macOS application bundles.
- This addition prepares the script for enhanced macOS artifact finalization, ensuring compliance with platform requirements.
2026-08-02 21:28:21 +01:00
1cc21fd9e3 Enhance Windows startup window management
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Introduced a delay for maximizing the window on startup to improve user experience on Windows.
- Refactored window state application logic to ensure proper handling of window maximization and layout synchronization.
- Updated platform checks to use a dedicated constant for Windows, improving code clarity and maintainability.
2026-08-02 21:27:22 +01:00