101 Commits

Author SHA1 Message Date
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
cb799ae8b7 Add command line handling for server status and authentication
- Introduce a new command line utility in commandline.js to manage server status checks and OTP authentication.
- Refactor index.js to utilize the new command line handling, improving clarity and separation of concerns.
- Enhance localserver.js to include connection status in the server response, providing more detailed information about the server state.
2026-07-27 18:09:50 +01:00
9a68358432 Enhance server initialization error handling and logging
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Introduce a check for the Farm Control Server status during initialization, providing clearer feedback when the server is not running.
- Improve error handling by logging specific failure messages instead of throwing errors, enhancing user experience during startup.
2026-07-27 02:17:34 +01:00
1525667f54 Update chalk dependency to version 5.4.1 and enhance server initialization logging
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Downgrade chalk from version 6.0.0 to 5.4.1 in package.json and pnpm-lock.yaml to ensure compatibility.
- Add a call to stopWaiting() in the server initialization process to improve user experience during startup.
2026-07-27 02:06:03 +01:00
ee9895d562 Update configuration and enhance CLI logging functionality
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Change log level in development config from "debug" to "info" for improved clarity.
- Add new dependencies: chalk and cli-spinners for enhanced CLI output.
- Introduce command line utility functions for better logging and spinner management.
- Refactor various components to utilize the new CLI logging methods, improving user feedback during operations.
- Update package and lock files to reflect new dependencies.
2026-07-27 02:03:17 +01:00
20080929f9 Update build discarder configuration in Jenkinsfile to retain the last 20 builds, improving build management. 2026-07-27 00:21:10 +01:00
22c96768a5 Add sleep delay before displaying server info in after-install script. 2026-07-27 00:20:27 +01:00
e04c06493b Delete builds older than 25.
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
2026-07-26 23:56:12 +01:00
d649ce42ff Add build discarding properties to Jenkinsfile
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
Introduce a build discarder configuration in the Jenkinsfile to retain the last 10 builds, improving build management and resource utilization.
2026-07-26 23:46:43 +01:00
3f5f02b087 Enhance SocketClient functionality and improve host update handling
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
Add a new method to handle host updates in SocketClient, ensuring that updates are processed correctly based on the host ID. Additionally, improve logging in index.js to include the first tag of the host for better visibility. This change streamlines the management of host information and enhances the overall logging clarity.
2026-07-26 23:42:48 +01:00
d616a45f21 Improve logging for host tags and streamline build information display
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
Refactor the logging in index.js to handle cases where host tags are absent, ensuring a clear output of "Tags: n/a" when no tags are available. Additionally, simplify the build information logging for better readability by consolidating logger.info calls.
2026-07-26 23:34:32 +01:00
9f927b1ef5 Enhance build process and server version management
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
Refactor build-linux-bundle.mjs to include package version and build number from environment variables and package.json. Update headless.js to streamline initialization and improve error handling. Introduce serverVersion.js to centralize version information retrieval, replacing redundant code in localserver.js. Enhance logging in index.js to display build number and version more clearly.
2026-07-26 23:27:08 +01:00