150 Commits

Author SHA1 Message Date
3505121f3e Implement network scanning enhancements in SocketClient and WebSocketScanner
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Added support for multiple scan sessions in `SocketClient`, allowing concurrent network scans with unique session IDs.
- Enhanced `WebSocketScanner` to support continuous scanning with the option to stop scans gracefully.
- Introduced detailed event emissions for scan progress and completion, improving real-time feedback during network scans.
- Updated `handleScanNetworkStart` and `handleScanNetworkStop` methods to manage scan sessions effectively, including error handling and session cleanup.
- Improved logging for better visibility into scanning operations and results.
2026-09-14 22:50:40 +01:00
e7bf650e82 Enhance document size management in DocumentPrinterClient and related interfaces
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Introduced a `getDocumentSizeId` utility function to streamline document size ID retrieval.
- Updated `DocumentPrinterClient` to manage subscriptions for current document sizes, ensuring accurate updates and handling of document size changes.
- Enhanced `DocumentPrinterManager` to handle document size updates and propagate changes to connected clients.
- Improved `CupsInterface` and `ReceiptInterface` to support document size resolution and default media application based on current document sizes.
- Added detailed logging for document size updates and error handling to improve debugging and user feedback.
2026-09-02 20:55:59 +01:00
d04e722366 Refactor HostManager and SocketClient for improved authentication and event handling
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Introduced a dedicated `HostManager` class to encapsulate host-related logic, including authentication and event subscription.
- Enhanced authentication methods in `HostManager` to handle OTP and standard authentication processes.
- Updated `SocketClient` to delegate host-related actions to `HostManager`, streamlining the connection and event handling workflow.
- Improved logging and configuration management during host authentication and updates.
- Removed redundant code from `SocketClient`, enhancing maintainability and clarity.
2026-09-01 13:03:57 +01:00
d5fe978361 Enhance connection handling in DocumentPrinterClient
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Introduced connection state management with `isConnecting` to prevent multiple concurrent connection attempts.
- Added `scheduleReconnect` method to handle reconnection logic with a delay.
- Improved error handling and logging during connection and reconnection processes.
- Updated `updateDocumentPrinterState` to optimize state updates and prevent unnecessary changes.
2026-09-01 12:34:37 +01:00
bb9b472559 Enhance printing functionality in DocumentPrinterClient and interfaces
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Introduced job quantity handling in `DocumentPrinterClient` to manage multiple copies of print jobs.
- Added `resolvePrintQuantity` method to ensure valid print quantities.
- Updated `CupsInterface` and `ReceiptInterface` to accept a quantity parameter in the `print` method, allowing for multiple copies to be printed in a single call.
- Improved logging to reflect the number of copies being printed for better user feedback.
2026-08-22 20:02:53 +01:00
0dc7ed3f92 Enhance document printing progress tracking and rendering functionality
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Updated the `DocumentPrinterClient` to include detailed progress tracking during the deployment process, improving user feedback.
- Modified the `deploy` methods in `CupsInterface` and `ReceiptInterface` to accept an `onProgress` callback for real-time progress updates.
- Enhanced the `SocketClient` to support rendering templates with progress notifications, allowing for better handling of asynchronous rendering tasks.
2026-08-22 14:03:56 +01:00
e03a56bb78 Update SocketClient to include padding parameter in API requests
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Modified the API request parameters in the `SocketClient` class to include a `padding` option set to `false` for both PDF and image type requests, enhancing control over response formatting.
2026-08-21 22:39:27 +01:00
470a0edd80 Enhance job state update functionality in DocumentPrinterClient
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Introduced a `notify` parameter in the `editObject` method of `SocketClient` to control notification behavior during job state updates.
- Updated the `updateJobState` method in `DocumentPrinterClient` to conditionally set the `notify` parameter based on the job state type, improving the handling of job notifications.
2026-08-19 18:58:38 +01:00
bec253cde8 Refactor receipt printing and template rendering logic
- Updated the `ReceiptInterface` to await the `printImageBuffer` method for proper asynchronous handling.
- Modified the `renderTemplateJPG` method in `SocketClient` to accept an image type parameter and improved error handling for template download failures.
- Enhanced the response handling to correctly parse and return image data based on the content type.
2026-08-19 18:19:49 +01:00
75fa9e2270 Adjust macOS DMG icon positioning for consistency
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Updated icon positioning values in the DMG build script to maintain a consistent layout during installation, ensuring a polished appearance.
2026-08-02 00:38:28 +01:00
2ceca996d9 Update macOS DMG icon positioning for improved aesthetics
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Adjusted the icon positioning values in the DMG build script to enhance the visual layout during installation, ensuring a more polished appearance.
2026-08-02 00:21:14 +01:00
b3d0da69d6 Add rcedit dependency and implement resolver function
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Added `rcedit` as a dependency in `package.json` and `bun.lock`.
- Implemented a new function to resolve the path of the `rcedit` package in the `patch-electrobun-src.mjs` script, enhancing project compatibility.
- Updated the CLI handling to utilize the patched `rcedit` path if available, improving error handling and user experience.
2026-08-02 00:19:38 +01:00
b59c525c22 Remove rcedit dependency from bun.lock
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
2026-08-02 00:16:55 +01:00
779eb13324 Update DMG background images for visual enhancement
- Replaced the existing background images for the macOS DMG installer with new versions to improve the overall visual appeal during installation.
2026-08-02 00:16:19 +01:00
b07061a6db Update DMG background images for improved visual consistency
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Replaced the existing background images for the macOS DMG installer with updated versions to enhance the visual presentation during installation.
2026-08-02 00:13:48 +01:00
456e7904bf Update Windows installer and build scripts for launcher executable and icon management
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Replaced references to `farmcontrol-server.exe` with `launcher.exe` in the NSIS installer script and build scripts for consistency with the new executable naming.
- Updated the icon path in the configuration to use a PNG file instead of ICO, enhancing visual fidelity.
- Removed the `prepare-windows-app-binaries.mjs` script to streamline the build process, as its functionality is now integrated into other scripts.
- Enhanced error handling in the build script to ensure the correct executable is present before proceeding.
2026-08-02 00:09:48 +01:00
f04daa1998 Update NSIS installer and build script for improved file handling and icon management
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Changed the application source directory definition in the NSIS installer script to point to "app" for better clarity.
- Updated the file inclusion pattern to ensure all files are correctly packaged in the installer.
- Enhanced the build script to define a local installer name and manage the icon file more effectively, ensuring it is copied to the working directory if present.
- Improved error handling to provide clearer messages regarding the installer creation process.
2026-08-01 23:59:59 +01:00
d572688370 Enhance NSIS installer script with size validation and staging checks
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Added a new parameter for minimum installer size to ensure the generated NSIS installer meets the required threshold.
- Implemented a function to calculate the total size of staged application files, validating that the complete app bundle is present before proceeding with the installer creation.
- Improved error handling to provide clearer messages if the staged application or installer does not meet size requirements.
2026-08-01 23:57:03 +01:00
d4b22e3734 Enhance Windows app binary preparation and icon embedding
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Added a new script to embed icons into Windows executables, improving visual consistency across application binaries.
- Updated the NSIS installer script to conditionally embed an icon if provided, enhancing flexibility in icon management.
- Refactored the Windows app binary preparation process to utilize the new icon embedding functionality, ensuring icons are correctly applied to the launcher and runtime executables.
2026-08-01 23:52:59 +01:00
c711bd9863 Update macOS DMG window dimensions for improved layout
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Increased the DMG window dimensions to enhance the visual presentation during installation, adjusting the height and width values for better content accommodation.
2026-08-01 23:46:31 +01:00
5c1fccdba6 Update macOS DMG window dimensions for improved layout
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Adjusted the DMG window dimensions to enhance the visual presentation during installation, changing the height and width values for better content accommodation.
2026-08-01 23:43:47 +01:00
e469752c49 Update macOS DMG window dimensions for improved layout
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Adjusted the DMG window dimensions to enhance the visual presentation during installation, changing the height and width values for better content accommodation.
2026-08-01 23:40:41 +01:00
564b200d3c Update macOS DMG window height for improved layout
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Increased the DMG window height from 380 to 410 pixels to enhance the visual presentation of the application during installation.
- This change aims to provide a better user experience by accommodating additional content within the window.
2026-08-01 23:37:58 +01:00
ffe8bce3a5 Refactor finalize-desktop-artifacts.mjs for improved readability and consistency
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Reformatted code for better readability by adjusting line breaks and indentation.
- Updated macOS DMG window dimensions for improved layout.
- Streamlined the build architecture retrieval process for clarity.
- Enhanced filtering logic in the canUseDirectDmgSourceFolder function for consistency.
2026-08-01 23:24:31 +01:00
d0d43aebb7 Refactor Windows installer and update launcher executable
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Updated the NSIS installer script to replace references from `launcher.exe` to `farmcontrol-server.exe`, ensuring consistency with the new executable naming.
- Removed the `apply-windows-launcher-icon.mjs` script and integrated its functionality into a new script, `prepare-windows-app-binaries.mjs`, which handles branding and icon embedding for Windows app binaries.
- Enhanced the finalization process of desktop artifacts to utilize the new script for preparing Windows app binaries, improving the overall build workflow.
2026-08-01 23:22:43 +01:00
29444e2ed4 Add rcedit dependency and implement Windows launcher icon embedding
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Added rcedit dependency in package.json and bun.lock for embedding icons in Windows executables.
- Introduced a new script to generate and apply the application icon for Windows launcher binaries, improving visual consistency.
- Updated the NSIS installer script to support dynamic icon paths, enhancing flexibility in icon management during installation.
- Integrated the icon application process into the finalization of desktop artifacts, ensuring the icon is embedded in the generated binaries.
2026-08-01 23:16:22 +01:00
eb49ba7ce3 Add DMG background images and update asset management
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Introduced new background images for macOS DMG packaging, including standard and retina versions.
- Updated the finalize-desktop-artifacts.mjs script to check for the presence of these background images, enhancing error handling.
- Refactored the ensureMacDmgAssets function to improve asset validation and streamline the DMG building process.
2026-08-01 23:14:13 +01:00
f63b1fbc37 Enhance macOS DMG generation with asset management
- Added functionality to ensure the presence of DMG assets, including a volume icon and background image, using Jimp for image creation.
- Refactored the DMG building process to incorporate these assets, improving the visual presentation of the generated DMG.
- Updated the buildMacDmgWithCreateDmg function to accept additional parameters for app bundle name and DMG assets, enhancing flexibility.
2026-08-01 23:11:19 +01:00
11a0f3484d Update DMG creation process and add Jimp dependency
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Replaced appdmg with create-dmg for macOS DMG generation in finalize-desktop-artifacts.mjs, enhancing compatibility and reliability.
- Updated electrobun.config.ts comments to reflect the new DMG creation method.
- Added Jimp dependency in package.json and bun.lock for image processing tasks, improving app icon handling.
- Refactored icon preparation script to utilize Jimp for resizing images, streamlining the icon generation process.
2026-08-01 23:05:33 +01:00
ce1aeee8d5 Add WiX configuration for Windows MSI packaging
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Introduced a new msi-wrapped.wxs file containing the WiX configuration for the Farm Control Server MSI installer.
- Defined product properties, major upgrade settings, and installation conditions to ensure compatibility with Windows 7 and above.
- Added custom actions and directory structure to facilitate the installation process.
- Updated the build-windows-msi.ps1 script to improve the search for the WiX Toolset, ensuring proper tool availability for MSI generation.
2026-08-01 23:02:40 +01:00
e33643e709 Add appdmg integration for macOS DMG creation
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Introduced appdmg dependency in package.json and bun.lock for streamlined DMG generation.
- Updated finalize-desktop-artifacts.mjs to replace the previous create-dmg method with appdmg, enhancing the DMG building process.
- Modified comments in electrobun.config.ts to reflect the new DMG creation method using appdmg.
2026-08-01 22:58:08 +01:00
19d845d327 Refactor Windows MSI build script for improved readability and efficiency
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Simplified database interaction by replacing InvokeMember calls with direct method invocations in the build-windows-msi.ps1 script.
- Enhanced handling of null values in database records to ensure proper insertion and management of data.
- Updated SQL commands to use null for optional fields, improving clarity and consistency in the database schema.
2026-08-01 22:56:53 +01:00
2cf5f18892 Add app icon generation and update build configurations
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Introduced a new script for preparing application icons, supporting macOS, Windows, and Linux formats.
- Updated electrobun.config.ts to specify paths for app icons in the build configuration.
- Added generated app icons to .gitignore to prevent tracking of build artifacts.
- Updated package.json and bun.lock to include the png-to-ico dependency for icon conversion.
2026-08-01 22:52:28 +01:00
a4d8a501d1 Enhance Windows MSI build script with improved error handling and database modes
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Added constants for Windows Installer OpenDatabase modes to clarify database access options.
- Improved error handling in the Set-InstallerBinaryStream function to gracefully handle cases where the Binary table is empty.
- Refactored the New-WrapperMsiDatabase function to ensure proper path handling and database creation, enhancing the robustness of the MSI generation process.
2026-08-01 22:52:07 +01:00
8783caa93c Add Windows MSI build script and integrate into artifact finalization
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Introduced build-windows-msi.ps1 script for generating MSI installers, enhancing the Windows packaging process.
- Updated finalize-desktop-artifacts.mjs to include a new function for building MSI packages, ensuring proper integration with existing artifact generation workflows.
- Enhanced error handling and logging during the MSI build process for better feedback on failures.
2026-08-01 22:40:09 +01:00
3aec10c87f Update electrobun.config.ts to enable exit on last window closed
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Changed the runtime configuration to set exitOnLastWindowClosed to true, ensuring the application exits when the last window is closed.
2026-08-01 22:39:11 +01:00
cf0643b7dd Add macOS code signing functionality and integrate into artifact finalization
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Introduced a new script, codesign-macos-app.mjs, to handle the code signing of macOS application bundles.
- Replaced the existing resignMacAppBundle function in finalize-desktop-artifacts.mjs with a call to the new codesignMacAppBundle function for improved clarity and maintainability.
- Enhanced error handling and logging during the code signing process to provide better feedback on failures.
- Updated the logic for resolving the app bundle path to streamline the signing process.
2026-08-01 22:35:25 +01:00
67cbe3ec6e Remove Windows MSI packaging scripts and related functionality
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Deleted the msi-wrapped.wxs file, which contained the WiX configuration for MSI packaging.
- Removed the build-windows-msi.ps1 script, responsible for generating MSI installers, from the build process.
- Updated finalize-desktop-artifacts.mjs to eliminate the call to the now-removed MSI build function, streamlining the artifact generation process.
2026-08-01 22:27:06 +01:00
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