- Removed @napi-rs/canvas and pdf-to-img dependencies from package.json and bun.lock to streamline the project.
- Added PDF.js data directory configuration in the Linux service file and build scripts.
- Introduced a new pdfToImg module for rendering PDF pages to images, enhancing PDF conversion capabilities.
- Updated pdfUtils to utilize the new pdfToImg function, improving efficiency and modularity.
- Removed unnecessary external dependencies from the Linux binary build script to streamline the build process.
- Simplified the import mechanism for the `pdf-to-img` and `sharp` modules in the PDF conversion utilities, enhancing module loading efficiency.
- 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.
- 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.
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.
Introduce a new before-remove.sh script to stop and disable the farmcontrol-server service before package removal. Update after-remove.sh to only reload systemd, simplifying the uninstallation process. Modify build-linux-packages.sh to include the new before-remove script in the packaging process.
Introduce a new pdfUtils.js file for on-demand PDF conversion using pdf-to-img and sharp. Update package.json to include new build scripts for Linux packaging, enhancing the build process with public package handling. Add .npmrc for public hoisting patterns and create build-linux-packages.sh for streamlined package creation.