- 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.
- 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.
- 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.
- Increased the DMG window dimensions to enhance the visual presentation during installation, adjusting the height and width values for better content accommodation.
- Adjusted the DMG window dimensions to enhance the visual presentation during installation, changing the height and width values for better content accommodation.
- Adjusted the DMG window dimensions to enhance the visual presentation during installation, changing the height and width values for better content accommodation.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.