608 Commits

Author SHA1 Message Date
9bd581ee03 Refactor Windows installer and scripts to enhance user access and installation behavior
Some checks reported errors
farmcontrol/farmcontrol-ui/pipeline/head Something is wrong with the build of this commit
- Updated `package.json` to change installation scope from `perMachine` to `perUser`, allowing installations for standard users without admin rights.
- Modified `farmcontrol.nsi` to adjust installation directory and registry keys to use `HKCU` instead of `HKLM`, improving accessibility for non-admin users.
- Refined `installer.nsh` and related scripts to ensure proper handling of the farmcontrol URI handler and shortcuts, aligning with the new user access model.
- Removed references to the `grant-users-access.nsh` script, as user access permissions are now managed directly within the installer.
2026-08-03 01:17:00 +01:00
f641ea390d Implement user access permissions and update deeplink handling in Windows installer
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Added a new macro in `grant-users-access.nsh` to grant standard users read and execute access to the installation directory, enhancing accessibility for non-admin users.
- Updated `installer.nsh` to include the new macro during installation, ensuring proper permissions are set.
- Changed the output file from `deeplink.js` to `deeplink.exe` in the build process, improving the executable handling for the application.
- Refactored the installer script to ensure the correct command is used for the farmcontrol URI handler, enhancing functionality.
- Introduced a new script, `patch-windows-binaries.mjs`, to set the requested execution level for Windows binaries, improving security and compliance.
2026-08-03 00:59:07 +01:00
27e5ef13bc Refactor Windows app path handling to remove unnecessary directory change
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Removed the `chdirSync` call in `ensureWindowsWorkingDirectory` function, replacing it with a check using `existsSync` to streamline the directory validation process.
- This change enhances the reliability of the function by avoiding unnecessary directory changes that could lead to errors.
2026-08-03 00:26:17 +01:00
ee35e12959 Add farmcontrolinstaller logo and enhance Windows path handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Introduced a new logo file for the farmcontrol installer.
- Updated the `patch-electrobun-src.mjs` script to improve the resolution of the native wrapper path, ensuring compatibility across different execution contexts.
- Refactored the `index.js` file to utilize a new function for setting the working directory on Windows, enhancing application behavior.
- Added a new module in `windows-app-paths.js` to manage Windows-specific directory resolution and ensure the correct working directory is set before launching the application.
2026-08-02 23:32:27 +01:00
4cf4f5e27f Refactor updater script for Windows application restart handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Simplified the script for restarting the application by removing unnecessary process checks and sleep logic.
- Introduced a new variable for the application directory to ensure the correct working directory is set before launching the application.
- Updated the method of executing the restart script to use `spawn` instead of `schtasks`, improving reliability and clarity in the restart process.
2026-08-02 23:12:28 +01:00
5c1ea30e5d Enhance Windows installer and application path handling
- Added a macro to fix the working directory for shortcuts in the Windows installer, ensuring correct execution context.
- Updated shortcut creation logic in `installer.nsh` to utilize the new macro for both desktop and start menu shortcuts.
- Implemented a function to patch the native wrapper path in the Electrobun source, improving compatibility with different execution contexts.
- Adjusted the `deeplink.js` and `index.js` files to set the current working directory appropriately, enhancing application behavior on Windows.
- Introduced a new module for managing window work area constraints, improving window management and user experience on Windows platforms.
2026-08-02 23:09:39 +01:00
2335a64c03 Refactor Windows path handling for application data directories
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Updated multiple files to consistently use `os.homedir()` for constructing the local application data path, improving compatibility and clarity across the codebase.
- This change enhances the reliability of directory retrieval for Windows environments.
2026-08-02 22:35:24 +01:00
1fdbb01ceb Refactor Windows instance directory retrieval in deeplink handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Updated the `getInstanceDir` function to use `os.homedir()` as a fallback for the local app data path, ensuring compatibility across different Windows environments.
- Improved code clarity by consolidating the logic for determining the local application data directory.
2026-08-02 22:25:14 +01:00
5f061f92eb Enhance deeplink and single instance management for Windows
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Added functions to manage lock files and check if the primary instance is running, improving instance handling.
- Implemented retry logic for forwarding deeplinks via Windows pipes, enhancing reliability in communication between instances.
- Refactored existing functions to streamline the deeplink forwarding process and improve code clarity.
2026-08-02 22:02:17 +01:00
282d0c6630 Add isElectrobunBridgeReady function and update error handling in AppUpdateContext
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Introduced isElectrobunBridgeReady function to check if the Electrobun bridge is initialized and ready for RPC requests.
- Updated error message in AppUpdateContext to provide clearer guidance when app updates fail, enhancing user experience.
- Modified ElectronContext to utilize the new isElectrobunBridgeReady function for improved bridge readiness checks.
- Adjusted RPC handling in the desktop module to ensure non-blocking app update progress reporting.
2026-08-02 21:40:30 +01:00
1cc21fd9e3 Enhance Windows startup window management
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Introduced a delay for maximizing the window on startup to improve user experience on Windows.
- Refactored window state application logic to ensure proper handling of window maximization and layout synchronization.
- Updated platform checks to use a dedicated constant for Windows, improving code clarity and maintainability.
2026-08-02 21:27:22 +01:00
5450473f74 Implement deeplink functionality and update installer for Windows
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Introduced a new script to build the Windows deeplink executable, enhancing deep link handling.
- Updated the installer script to replace references from `launcher.exe` to `deeplink.exe` for better integration with the new deeplink functionality.
- Added a new `deeplink.js` file to manage deeplink processing and communication with running instances.
- Refactored single instance management to utilize the new deeplink capabilities, improving instance handling and navigation.
- Removed deprecated Windows launch argument handling to streamline the codebase.
2026-08-02 21:24:05 +01:00
37593d73ce Implement logging for Windows launch arguments in single instance management
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Added `logWindowsLaunchArgs` function to log launch arguments and sources for better debugging on Windows.
- Integrated logging into `ensureSingleInstanceLock` and instance handling to provide insights during instance management.
- Enhanced existing logging to include context-specific messages for improved clarity in the Windows environment.
2026-08-02 21:03:12 +01:00
93df523b7c Enhance single instance and deep link functionality for Windows
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Introduced a Windows pipe server to facilitate communication between instances, improving single instance management.
- Updated `ensureSingleInstanceLock` to handle payload forwarding and signal writing more effectively.
- Refactored deep link handling to utilize the new protocol detection logic, enhancing URL parsing and navigation.
- Improved error handling and connection management for the Windows-specific implementation.
2026-08-02 20:51:03 +01:00
3ed7945b7c Enhance single instance and deep link handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Introduced `captureLaunchUrl` to retrieve launch URLs for Windows, improving deep link processing.
- Updated `ensureSingleInstanceLock` to accept a launch URL, enhancing instance management.
- Refactored deep link handling functions to utilize the captured launch URL, ensuring better navigation and focus management.
- Improved signal processing by consolidating instance signal handling functions for better clarity and efficiency.
2026-08-02 20:38:06 +01:00
76ec8389c2 Add logging for navigation events in ElectronContext
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Introduced a console log statement to track navigation events within the ElectronContext component.
- This enhancement aids in debugging and monitoring navigation actions triggered by the desktop bridge.
2026-08-02 20:20:14 +01:00
9ef02304fe Add restart stage to app update process
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Introduced a new restart stage in the app update progress component, allowing for better handling of application restarts.
- Updated the status management to include restart states, enhancing user feedback during the update process.
- Modified installation completion messages to indicate that a restart will occur after installation.
- Adjusted prop types to accommodate the new restart stage in the UpdateStage component.
2026-08-02 20:04:30 +01:00
30f0ac1559 Refactor app update process and restart handling
- Removed the restart stage from the app update progress component, simplifying the update stages to only include download and install.
- Updated the app update logic to schedule a restart after installation instead of handling it directly in the installer functions.
- Enhanced the messaging for installation completion by removing references to automatic restarts in the progress messages.
- Introduced a new updater-runner module to manage application restarts across platforms, improving the update workflow.
2026-08-02 20:03:54 +01:00
4caa7a4bd1 Refactor single instance and deep link handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Removed deprecated single instance handlers and streamlined deep link processing.
- Updated `ensureSingleInstanceLock` to initiate signal watching for better instance management.
- Enhanced deep link handling by introducing `setupWindowsDeepLinkHandling` for improved navigation and focus management.
- Refactored URL parsing in `findProtocolUrl` for better reliability in deep link resolution.
2026-08-02 19:45:54 +01:00
37113b1b41 Implement enhanced window management for Windows platform
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Introduced syncWindowsWebviewLayout function to ensure webview layout updates with window size changes.
- Added applyWindowsStartupWindowState function to manage window state and layout synchronization during startup on Windows.
- Updated createMainWindow to call applyWindowsStartupWindowState for improved initial window handling on Windows.
2026-08-02 19:40:18 +01:00
fb81cfedd2 Enhance single instance management and deep link processing
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Refactored single instance handling to improve lock management and signal processing.
- Introduced functions for acquiring and releasing primary locks, along with handling instance signals.
- Updated deep link processing to utilize a signal file for better communication between instances.
- Enhanced Windows-specific launch argument retrieval to improve deep link handling on that platform.
2026-08-02 19:37:09 +01:00
813b43595b Update DashboardNavigation to include a vertical divider between logos
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Added a vertical Divider component between the FarmControlLogoSmall and the next logo for improved visual separation.
- Adjusted the right margin of the FarmControlLogoSmall to enhance layout consistency.
2026-08-02 19:31:53 +01:00
6dad9c820c Enhance single instance management and deep link processing
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Refactored single instance handling to support multiple local hosts, improving reliability in message forwarding.
- Introduced functions for managing pending deep links, including staging, consuming, and clearing deeplink files.
- Updated `getSingleInstanceUrl` to accept dynamic host parameters and improved error handling in instance locking.
- Added Windows-specific launch argument retrieval to enhance deep link handling on that platform.
2026-08-02 19:16:44 +01:00
3b28aa4308 Add application menu structure for macOS and Windows
- Implemented functions to build application menus for macOS, including 'About', 'Edit', 'File', and 'Window' menus.
- Enhanced the application menu template to include these new menu structures, improving user navigation and functionality.
- Ensured compatibility with macOS by conditionally adding the app menu based on the platform.
2026-08-02 19:04:14 +01:00
40ccacc9a8 Refactor single instance management and deep link handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Updated single instance server functionality to improve message dispatching and handling of deep links.
- Introduced `setSingleInstanceHandlers` to manage event callbacks for deep link and focus events.
- Enhanced `findProtocolUrl` to support better URL parsing and handling of incoming messages.
- Refactored `startPrimaryInstanceServer` to utilize fetch for message forwarding, improving reliability.
2026-08-02 18:43:33 +01:00
1c8fc51db2 Update window management for Windows platform
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Changed fullscreen mode to maximize window on Windows during startup in both mainWindow.js and window.js.
- Improved consistency in window behavior across different operating systems.
2026-08-02 18:34:43 +01:00
611cd4aad5 Implement single instance management and enhance deep link handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Added single instance server functionality to prevent multiple app instances.
- Introduced `ensureSingleInstanceLock` and `closeSingleInstanceServer` methods for managing instance locks.
- Updated main application entry point to handle deep links and focus events.
- Enhanced window management by showing the main window on focus and handling deep links appropriately.
2026-08-02 16:25:09 +01:00
1b77428a8a Fix button order in DashboardWindowButtons component for consistent window management display 2026-08-02 16:24:54 +01:00
d0345fd7f3 Enhance window management for macOS and Windows
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Added functionality to maximize the window on macOS and set it to fullscreen on Windows during startup.
- Introduced applyStartupWindowState function to manage initial window state based on the operating system.
- Updated createMainWindow to call applyStartupWindowState for improved user experience.
2026-08-02 16:20:59 +01:00
8e3ce20bb6 Add macOS traffic light controls and enhance window management
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Introduced a new MacOSTrafficLights component to manage window controls (close, minimize, fullscreen) with custom SVG icons.
- Updated DashboardWindowButtons to integrate the new traffic light controls for macOS.
- Enhanced window control functionality in mainWindow.js to toggle fullscreen mode.
- Added CSS styles for traffic light indicators to improve visual representation.
- Refactored DashboardNavigation to streamline the handling of fullscreen state.
2026-08-02 15:57:54 +01:00
a8339aa9f8 Enhance macOS window effects validation and build process
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Introduced functions to validate the macOS dynamic library, ensuring it meets size and architecture requirements.
- Updated build scripts to resolve target architecture dynamically and validate the generated dylib.
- Enhanced the macOS window effects implementation to include traffic light positioning and improved error handling.
- Refactored the dylib path resolution logic to support multiple potential locations for the library.
2026-08-02 13:05:28 +01:00
8d9455eaa9 Refine macOS vibrancy styles and enhance layout structure
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Updated CSS for macOS vibrancy, improving background opacity for light and dark modes in main content and sidebar.
- Added styles for selected menu items in light mode to enhance UI consistency.
- Modified DashboardLayout to include a specific class for the main content layout, ensuring better styling application.
2026-08-02 12:50:29 +01:00
805361516e Enhance macOS window effects and improve Electrobun integration
- Adjusted CSS for macOS vibrancy, refining background opacity for light and dark modes.
- Introduced new styles for selected menu items in dark mode to enhance UI consistency.
- Added traffic light positioning and window chrome observer in native macOS window effects for better window management.
- Refactored Electron context to utilize the Electrobun bridge for improved API interactions and error handling.
- Streamlined the initialization process for the Electrobun bridge in the main application entry point.
2026-08-02 12:18:30 +01:00
f6978f44b2 Enhance Electrobun integration and pre-build process
- Updated pre-build script to create a stub for the dev environment, preventing warnings during Vite development.
- Refactored electrobun-bridge.js to improve initialization logic and ensure proper setup of the Electrobun RPC.
- Modified ElectronContext to dynamically retrieve the desktop API, enhancing compatibility and maintainability.
- Integrated Electrobun bridge initialization in the main application entry point for improved startup behavior.
2026-08-02 03:19:36 +01:00
b1ca3818e3 Enhance DashboardNavigation component with drag-and-drop support
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Added 'electrobun-webkit-app-region-no-drag' class to navigation items for improved drag-and-drop functionality in Electron.
- Updated layout structure to ensure proper flex behavior in the navigation component.
2026-08-02 02:52:28 +01:00
274852b895 Add macOS vibrancy support and related build scripts
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Introduced native macOS window effects with a new dynamic library for enhanced UI.
- Updated build scripts to compile the macOS effects library and integrate it into the application.
- Modified Electron context to apply macOS-specific styles and effects based on the platform.
- Enhanced CSS for macOS vibrancy support in the application layout.
- Updated configuration files to include new build steps and dependencies for macOS.
2026-08-02 02:44:24 +01:00
f90ef10b78 Refactor Windows installer scripts and enhance Electron navigation
- Added macros for uninstalling previous Farm Control installations in the NSIS installer.
- Updated the MSI wrapped configuration to include custom actions for handling previous installations.
- Improved the Electron navigation by modifying CSS classes for better drag-and-drop functionality.
- Enhanced build scripts to include the WixUtilExtension for improved MSI packaging.
2026-08-02 01:49:37 +01:00
37fe489b07 Refactor macappupdate.js to streamline imports and improve code clarity
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Replaced the use of createRequire with a direct import for the '@vscode/sudo-prompt' module.
- Removed unnecessary whitespace for cleaner code formatting.
2026-08-02 00:41:15 +01:00
888c0fe38a Enhance build configuration and scripts for multi-platform support
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Updated electrobun.config.ts to include environment-based settings for macOS builds.
- Added new build scripts for Windows and macOS, including support for architecture-specific builds.
- Introduced scripts for cleaning build artifacts, managing dependencies, and ensuring core binaries are present.
- Enhanced Jenkinsfile to integrate new build processes and improve artifact management.
- Added new assets for application icons and installer configurations.
- Implemented NSIS and MSI packaging scripts for Windows installer creation.
- Updated package.json with new scripts for development and build processes, including post-installation tasks.
2026-08-02 00:28:33 +01:00
f1826548ea Add initial Electrobun configuration and build scripts for macOS
Some checks reported errors
farmcontrol/farmcontrol-ui/pipeline/head Something is wrong with the build of this commit
- Created electrobun.config.ts to define application settings and build parameters.
- Added build-macos.mjs script to handle macOS builds, including architecture targeting.
- Introduced finalize-desktop-artifacts.mjs for managing post-build processes and artifact publishing.
- Implemented pre-build.mjs for validating required files before the build process.
- Added utility scripts for managing release artifacts and syncing views.
- Established desktop-specific functionalities in the src/desktop directory, including app update handling and menu management.
- Updated .gitignore to include dist directory and test results for cleaner repository management.
- Introduced bun.lock for dependency management with Bun.
2026-08-01 20:18:02 +01:00
00f55d44bf Update PrinterMiscPanel to modify G-code scripts for LCD and BEEPER control
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Changed the script for controlling the LCD backlight to use the SET_PIN command with the appropriate pin name.
- Updated the BEEPER control script to utilize the SET_PIN command, adjusting the value format for consistency in handling sound output.
2026-08-01 19:37:02 +01:00
1cc77390df Refactor printer control actions and introduce new restart components
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Removed outdated restart functions from ControlPrinter component to streamline code.
- Added new RestartPrinter, RestartPrinterFirmware, and RestartMoonraker components for improved modularity and user interaction.
- Updated Printer model to integrate new restart components into the action menu, enhancing user experience and maintainability.
2026-08-01 19:18:20 +01:00
8fb8f5e337 Refactor UserProfilePopover and ActionsContext for improved state management and action handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Integrated useEffect in UserProfilePopover to close the popover on route changes, enhancing user experience.
- Simplified modal object data handling in ActionsContext to ensure consistent user profile access.
- Updated User model action handling to correctly pass user data to the NewAppPassword component.
- Streamlined dropdown action rendering in UserProfilePopover, improving code clarity and maintainability.
2026-08-01 19:09:24 +01:00
f4635d9188 Refactor finance and inventory components to enhance modal handling and state management
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Integrated useEffect hooks in InvoiceInfo, PaymentInfo, and other components to utilize ActionsContext for managing modal states.
- Removed unused modal states and related code to streamline component logic.
- Added setCurrentObject prop to various components for improved object handling during state changes.
- Enhanced overall code maintainability and readability by consolidating modal logic and reducing redundancy.
2026-08-01 18:25:47 +01:00
89b6f476c1 Add ModelRoutes and ActionsContext for enhanced model management
- Introduced ModelRoutes to handle dynamic routing for model pages based on object models.
- Created ActionsContext to manage actions and modal states across components, improving action handling and navigation.
- Updated various components to utilize the new buildActionUrl utility for consistent URL generation.
- Refactored existing components to integrate the ActionsProvider, enhancing state management and user interaction.
2026-08-01 18:25:29 +01:00
c3cfd0a55e Remove unused DownloadIcon import from About component to streamline code and improve maintainability.
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
2026-08-01 17:17:01 +01:00
e6760d3dfc Add SoftwareUpdateIcon component and integrate into About and AppUpdateProgress
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Created SoftwareUpdateIcon component using SVG for software update representation.
- Replaced DownloadIcon with SoftwareUpdateIcon in the About component's update actions for better visual context.
- Enhanced AppUpdateProgress modal title with SoftwareUpdateIcon for improved user interface clarity.
- Updated imports and styling in relevant components to accommodate the new icon.
2026-08-01 16:40:33 +01:00
d982b8dfb3 Refactor components to improve logging and ID handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Removed console.log statements from FilePreview and ObjectForm components for cleaner code.
- Replaced console.log with loglevel in KeyboardShortcut for better logging management.
- Updated ID handling in ObjectForm, ObjectTable, PrinterMiscPanel, PrinterPositionPanel, and PrinterTemperaturePanel components to ensure IDs are consistently converted to lowercase, enhancing data integrity.
2026-08-01 16:18:37 +01:00
a2d27c692a Add PrinterControlButtons component for enhanced printer action management
- Introduced PrinterControlButtons to encapsulate start, pause, and cancel actions for printers, improving user interaction.
- Updated ControlPrinter component to integrate PrinterControlButtons, enhancing layout with Flex for better alignment.
- Adjusted button states based on printer status and loading state, ensuring appropriate user feedback and action availability.
2026-08-01 15:54:00 +01:00
e3544ef2e2 Refactor PrinterPositionPanel and PrinterTemperaturePanel for improved styling and layout
- Introduced controlLabelStyle and controlInputStyle for consistent styling of control elements in PrinterPositionPanel.
- Replaced Space components with Flex for better alignment and layout management in PrinterPositionPanel.
- Updated input field widths in PrinterTemperaturePanel for enhanced usability and consistency.
2026-08-01 15:37:51 +01:00