112 Commits

Author SHA1 Message Date
935e06a5d7 Refactor macOS bundle handling in expand-macos-bundle.mjs and finalize-desktop-artifacts.mjs
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Replaced cpSync with ditto for copying files in expand-macos-bundle.mjs to improve reliability and error handling.
- Introduced a new copyMacAppBundle function in finalize-desktop-artifacts.mjs to streamline app bundle copying and signing processes.
- Enhanced error handling for ditto and codesign commands to provide clearer feedback on failures.
- Updated DMG creation logic to conditionally use direct source folder, optimizing the build process.
2026-08-01 22:26:24 +01:00
0aa26eab66 Enhance Windows installer with MSI support and shortcut creation
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Updated farmcontrol-server.nsi to include desktop and Start Menu shortcut creation.
- Added new macros in installer.nsh for managing shortcuts during installation and uninstallation.
- Introduced build-windows-msi.ps1 script for generating MSI installers, integrating with existing build processes.
- Modified finalize-desktop-artifacts.mjs to call the new MSI build script, ensuring proper artifact generation.
2026-08-01 22:21:49 +01:00
5c683ae576 Update macOS DMG creation logic and streamline artifact handling
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Modified electrobun.config.ts to clarify DMG creation status in comments.
- Replaced symlink with cpSync in finalize-desktop-artifacts.mjs to improve file handling during DMG creation, ensuring proper copying of application bundles.
2026-08-01 22:18:22 +01:00
0e19d25a92 Refactor zstd decompression logic in expand-windows-installer.mjs
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Introduced a new approach for finding zstd decompression commands, prioritizing a zig-zstd executable over the system zstd for improved compatibility.
- Enhanced error messages during decompression to include command details for better debugging.
- Streamlined the process of copying and decompressing archives, ensuring clearer path management and improved reliability on Windows platforms.
2026-08-01 22:16:27 +01:00
4307d74e92 Refactor zstd decompression handling in expand-windows-installer.mjs
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Updated the findZstdDecompressCommand function to improve compatibility with Windows by adding shell options for command execution.
- Simplified candidate path resolution for zstd executables by utilizing a dedicated electrobun directory, enhancing clarity and maintainability.
- Improved error handling during decompression and extraction processes to ensure better reliability on Windows platforms.
2026-08-01 22:13:10 +01:00
f6bd45c214 Enhance core dependency management and CLI script for macOS
Some checks are pending
farmcontrol/farmcontrol-server/pipeline/head Build queued...
- Updated ensure-electrobun-core.mjs to ensure core dependencies for both host and target architectures, improving compatibility.
- Modified patch-electrobun-src.mjs to enhance the handling of the Bun binary, ensuring the correct binary is used based on availability, which improves error reporting and execution reliability.
2026-08-01 22:12:58 +01:00
72cea3a740 Refactor Windows installer scripts and enhance build process
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Updated farmcontrol-server.nsi to simplify setup file handling by defining APP_SOURCE_DIR and removing unnecessary variables.
- Modified installer.nsh to reference the correct launcher executable path.
- Refactored build-windows-nsis.ps1 to accept APP_DIR instead of individual setup file parameters, streamlining the build process.
- Introduced expand-windows-installer.mjs for handling decompression and extraction of Windows app archives, improving artifact management.
- Enhanced finalize-desktop-artifacts.mjs to integrate the new expansion process and ensure proper cleanup of temporary files.
2026-08-01 22:10:41 +01:00
ebc3920d65 Refactor macOS DMG creation process in finalize-desktop-artifacts.mjs
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Removed the dynamic search for `create-dmg` and replaced it with a fixed path for improved reliability.
- Updated the buildMacDmg function to handle staging directories more effectively and ensure cleanup after DMG creation.
- Simplified error handling for the DMG creation process, enhancing clarity and maintainability.
2026-08-01 22:07:31 +01:00
1b7bb03456 Refactor macOS build process and remove create-dmg dependency
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Removed `create-dmg` from package.json and bun.lock as it is no longer needed.
- Updated Jenkinsfile to ensure proper installation of `create-dmg` if not found.
- Enhanced finalize-desktop-artifacts.mjs to dynamically locate the `create-dmg` command and improve error handling during DMG creation.
2026-08-01 22:02:48 +01:00
3a34082bfd Update macOS build process and dependencies
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Added `create-dmg` package to package.json for improved DMG creation.
- Modified Jenkinsfile to clean up staging directories correctly.
- Enhanced finalize-desktop-artifacts.mjs to utilize `create-dmg` for generating DMG files, improving artifact management and error handling.
2026-08-01 22:00:50 +01:00
1669c7a72c Refactor macOS build process and update configuration
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Updated electrobun.config.ts to disable DMG creation during the build process, streamlining artifact management.
- Enhanced Jenkinsfile with a new function to prepare the macOS build workspace, ensuring proper cleanup of previous volumes and staging directories.
- Introduced new functions in finalize-desktop-artifacts.mjs for building and cleaning macOS DMG files, improving the overall build workflow and artifact handling.
2026-08-01 21:57:03 +01:00
5f97ac2cff Enhance desktop window creation and logging
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Updated electrobun.config.ts to conditionally disable ASAR packaging for macOS to improve module loading reliability.
- Added detailed logging in src/bun/index.js to track the startup process of the desktop host and services.
- Improved the createDesktopWindow function in src/desktop/window.js with enhanced logging and timeout handling for the webview's readiness, ensuring better visibility during the window creation process.
2026-08-01 21:51:51 +01:00
3107a517c3 Refactor zstd decompression in expand-macos-bundle script
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Replaced the findZstd function with a new decompressTarZst function to streamline the zstd decompression process.
- Improved error handling by logging an error message and exiting the process if zstd is not found.
- Updated the script to directly call the new decompression function, enhancing clarity and maintainability.
2026-08-01 21:39:47 +01:00
cda0286db7 Add postWrap script for macOS bundle expansion and implement expand-macos-bundle script
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Updated electrobun.config.ts to include a new postWrap script for expanding macOS bundles.
- Introduced expand-macos-bundle.mjs script to handle the extraction and setup of macOS application bundles, including metadata validation and resource management.
- Enhanced error handling and logging for better visibility during the expansion process.
2026-08-01 21:38:05 +01:00
6f3c312f6d Implement NSIS installer for Farm Control Server and update build scripts
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Added a new NSIS installer script (farmcontrol-server.nsi) for packaging the Farm Control Server on Windows, replacing the previous MSI approach.
- Updated the build process to utilize the new NSIS script, including changes in the finalize-desktop-artifacts.mjs to reflect the new installer format.
- Removed the obsolete MSI build script (build-windows-msi.ps1) and related files to streamline the packaging process.
- Updated the README to reflect changes in the post-package process for Windows installers.
2026-08-01 21:30:11 +01:00
c429a88315 Fix macOS arm64 build command in Jenkinsfile
- Updated the macOS arm64 build command to use the correct label for architecture compatibility, ensuring proper execution during the build process.
2026-08-01 21:29:44 +01:00
575a2d1d20 Enhance macOS build process and configuration
Some checks reported errors
farmcontrol/farmcontrol-server/pipeline/head Something is wrong with the build of this commit
- Updated electrobun.config.ts to conditionally enable code signing and notarization based on developer ID presence.
- Refactored Jenkinsfile to support separate macOS builds for x64 and arm64 architectures.
- Added new scripts for ensuring core dependencies and patching Electrobun source for cross-architecture compatibility.
- Enhanced build-macos.mjs to improve architecture detection and build order, ensuring robust handling of macOS builds.
- Updated package.json to include a post-install script for patching Electrobun source files.
2026-08-01 21:27:58 +01:00
7bbe717823 Refactor Jenkinsfile to redefine releaseBaseUrl variable
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Moved the definition of releaseBaseUrl into the runBuild function for improved scope management and clarity in the build process.
2026-08-01 21:15:12 +01:00
8741a2c6fd Enhance build configuration and scripts
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Updated electrobun.config.ts to include environment-based settings for stability and external dependencies.
- Refactored package.json scripts for improved build processes and streamlined commands.
- Added new build scripts for Linux and renderer, while removing the obsolete build-server script.
- Enhanced pre-build validation to ensure required files are present and added logging for better visibility.
- Updated clean-build script to remove additional artifact directories for thorough cleanup.
2026-08-01 21:13:51 +01:00
c14a12648a Refactor Jenkinsfile and update build scripts
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Introduced a new runBuild function in Jenkinsfile to streamline build command execution across different environments.
- Updated package.json to use a new cleanBuild script for improved build cleanup.
- Enhanced build-macos.mjs to support architecture-specific builds with better cross-compilation handling.
- Added a new clean-build.mjs script for efficient removal of build artifacts.
2026-08-01 21:08:23 +01:00
f21224becc Update Jenkinsfile and Windows installer configuration
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Changed the build discard policy in Jenkinsfile from 20 to 10 builds to optimize storage.
- Refactored the farmcontrol-server.wxs file to rename the main setup component and separate SetupArchive and SetupMetadata into distinct components for improved clarity and management in the MSI packaging process.
2026-08-01 20:13:49 +01:00
d867d017bb Enhance Electrobun configuration and build scripts
Some checks reported errors
farmcontrol/farmcontrol-server/pipeline/head Something is wrong with the build of this commit
- Updated electrobun.config.ts to dynamically set the application version from package.json and added a release configuration for base URL.
- Modified Jenkinsfile to include the ELECTROBUN_RELEASE_BASE_URL environment variable during the build process.
- Refactored build-macos.mjs to streamline the build command execution for different architectures.
- Enhanced finalize-desktop-artifacts.mjs to improve artifact handling and introduced a new pre-build script for validation of required files and environment variables.
- Improved error handling and logging for better build process visibility.
2026-08-01 20:12:30 +01:00
8b8475d11d Add Windows installer files to MSI build process
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Updated the farmcontrol-server.wxs file to include SetupArchive and SetupMetadata files for the MSI packaging.
- Modified the build-windows-msi.ps1 script to accept new parameters for SetupArchive and SetupMetadata, enhancing the MSI build process.
- Refactored the finalize-desktop-artifacts script to find and handle multiple Windows installer files, ensuring proper artifact publication.
2026-08-01 20:04:14 +01:00
90da336696 Update macOS build process and enhance artifact finalization
- Replaced the macOS build command in package.json to use a new script for better architecture handling.
- Added a new script for building macOS applications that supports both arm64 and x64 architectures.
- Enhanced the finalize-desktop-artifacts script to improve artifact discovery and cleanup, ensuring proper handling of macOS DMG and app bundles.
- Updated functions to streamline the process of finding and publishing artifacts, improving overall reliability.
2026-08-01 20:01:55 +01:00
6ed2347214 Refactor Windows MSI build script to improve argument handling
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Introduced a new function, ConvertTo-WixVersion, to standardize version formatting for the MSI build process.
- Updated the PowerShell script to use arrays for passing arguments to the candle and light commands, enhancing readability and reliability.
- Ensured proper handling of paths with spaces by quoting arguments appropriately.
2026-08-01 19:58:13 +01:00
503fd6e0de Add printer configuration methods for speed, extrude, velocity, acceleration, and corner settings
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Implemented new methods in PrinterClient to set speed factor, extrude factor, max velocity, max acceleration, square corner velocity, and min cruise ratio.
- Enhanced error handling and logging for each method to ensure robust operation and user feedback.
- Updated PrinterManager to handle new actions for these settings, allowing for dynamic adjustments during operation.
2026-08-01 19:37:13 +01:00
d4f3ba0fca Add pdfjs-dist dependency to package.json and bun.lock
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Included pdfjs-dist version 5.6.205 in both package.json and bun.lock to enhance PDF handling capabilities.
- Updated related dependencies to ensure compatibility with the new pdfjs-dist version.
2026-07-28 23:15:44 +01:00
bee95563d8 Remove redundant path specification for macOS package installation in finalize-desktop-artifacts script
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
2026-07-28 22:42:01 +01:00
b4755174d9 Update postPackage script path in Electrobun configuration for consistency
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
2026-07-28 22:40:03 +01:00
f3ae50c788 Add Windows MSI packaging and finalize desktop artifacts script
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Introduced a new Windows Installer XML (WXS) file for packaging the Farm Control Server as an MSI.
- Added a PowerShell script to build the MSI from the WXS file.
- Implemented a new script to finalize desktop artifacts, handling the publication of macOS and Windows packages.
- Updated the Linux build script to improve artifact naming and organization.
- Enhanced the Electrobun configuration to include a post-package script for finalizing desktop artifacts.
2026-07-28 22:37:38 +01:00
603fe14d26 Update Vite configuration to use CommonJS for SVGO plugin import
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Replaced ES module import of `vite-plugin-svgo` with CommonJS `require` to ensure compatibility with the current module system.
- Added `createRequire` to facilitate the CommonJS import in an ES module context.
2026-07-28 22:19:44 +01:00
bb538fe454 Refactor Linux binary build script for improved exit code handling
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Updated the exit code handling in the Linux binary build script to use the `exited` property from the compile result.
- Simplified the process of exiting the script on failure, enhancing clarity and reliability.
2026-07-28 22:18:27 +01:00
b2db8f0aa0 Refactor Bun installation checks in Jenkinsfile
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Renamed the function from `ensureBunInstalled` to `checkBun` for clarity.
- Simplified the Bun version check process by removing installation commands, focusing solely on verifying Bun's presence.
- Updated stage names in the CI pipeline to reflect the new function and improve readability.
2026-07-28 22:16:32 +01:00
de895fed7d Enhance Bun integration in Jenkinsfile
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Introduced helper functions to manage Bun installation paths for both Unix and Windows environments.
- Wrapped Bun installation and dependency setup stages in a new `withBun` closure for improved readability and organization.
- Ensured consistent handling of Bun installation across different stages of the CI pipeline.
2026-07-28 22:14:36 +01:00
0b1530a405 Refine Bun installation script in Jenkinsfile
Some checks reported errors
farmcontrol/farmcontrol-server/pipeline/head Something is wrong with the build of this commit
- Simplified the error handling in the Bun installation script by removing the 'pipefail' option.
- Ensured the script remains robust while maintaining compatibility across Unix environments.
2026-07-28 22:12:31 +01:00
4fadd072bd Fix path formatting for Bun installation in Jenkinsfile
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Updated the path separator from backslashes to forward slashes for consistency across environments.
- Ensured the PATH variable is correctly set for Bun installation on Windows systems.
2026-07-28 22:11:11 +01:00
ef4f440db4 Add Bun installation checks to Jenkins pipeline
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Introduced a function to ensure Bun is installed on both Unix and Windows environments.
- Updated the Jenkinsfile to call this function during the setup stages, improving the reliability of the build process.
- Ensured the PATH is correctly set for Bun after installation.
2026-07-28 22:07:14 +01:00
fa389e3eb7 Update CI pipeline, documentation, and config for Bun/Electrobun.
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 22:03:23 +01:00
8453e7c7cf Switch package manager and runtime from Node/pnpm to Bun.
Update build scripts, entry points, and packaged-path detection for the new toolchain.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 22:03:20 +01:00
07cbd2e07c Simplify PDF utils dynamic imports for Bun runtime.
Remove pkg bytecode workarounds that are no longer needed outside Node pkg builds.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 22:03:14 +01:00
7d8031e009 Route IPC through desktop notify and remove CLI OTP prompting.
OTP authentication is now handled by the desktop UI instead of stdin prompts.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 22:03:11 +01:00
97974ada12 Add Electrobun configuration and renderer bridge for desktop app.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 22:03:06 +01:00
f0b6059e70 Add desktop RPC layer replacing Electron IPC and window management.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 22:03:03 +01:00
1728c08e39 Rename UI source directory from src/electron to src/app.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 22:02:57 +01:00
01b3cc1aa1 Update Linux package build command and enhance PDF utility imports
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Modify the Linux package build command in package.json to include the --no-bytecode flag for improved compatibility with ESM packages.
- Refactor pdfUtils.js to handle dynamic imports more robustly, ensuring compatibility with pkg snapshots and improving error handling for ESM modules.
- Simplify image processing logic by removing unnecessary default property access for the sharp module.
2026-07-28 02:58:03 +01:00
5fe8d76310 Refactor PDF conversion utilities for dynamic imports and option handling
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Replace static imports with dynamic imports using a helper function to improve compatibility with pkg snapshots.
- Simplify options handling by destructuring parameters, enhancing readability and maintainability.
- Update image processing logic to utilize destructured width and height options for resizing.
2026-07-28 02:18:27 +01:00
4677e17c7f Refactor file upload and progress handling in PrinterFileManager and PrinterClient
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Implement retry logic for file uploads in PrinterFileManager to enhance reliability.
- Update progress tracking in PrinterClient to streamline deployment feedback.
- Simplify progress callback management in FileManager for improved clarity.
- Enhance logging for upload processes and error handling across components.
2026-07-28 00:22:35 +01:00
853784e361 Enhance command line utilities and logging functionality
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Refactor commandline.js to improve server status checks and OTP authentication handling.
- Introduce new functions for checking server status, printing server information, and setting log levels.
- Add support for command line flags to manage log levels and server information display.
- Implement logging level management in localserver.js, allowing dynamic log level adjustments via API.
- Create a new logging.js module to centralize log level validation and application.
- Update commandlineutils.js to include utility functions for flag handling and improved CLI output.
2026-07-27 23:51:54 +01:00
e2600f8242 Refactor logging in PrinterDatabase and PrinterManager, and streamline config saving in SocketClient
- Update logging in PrinterDatabase to correctly reference the printer state type.
- Remove redundant call to stopWaiting() in PrinterManager for cleaner code execution.
- Ensure config saving in SocketClient occurs unconditionally for improved reliability.
2026-07-27 23:15:20 +01:00
3ca730ecee Add data directory management and enhance command line output
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Introduce functions to determine and create default data directories for both production and development environments in config.js.
- Update commandline.js to display the configured data directory and config path in the command line output.
- Modify filemanager.js to ensure the existence of a dedicated files directory within the data directory.
- Enhance localserver.js to include the data directory and config path in the server response, providing better context for users.
2026-07-27 18:15:29 +01:00