- Cleaned up whitespace and formatting in build_windows.py for better readability.
- Consolidated environment variable setup for stdout and stderr.
- Streamlined subprocess command calls by removing unnecessary line breaks.
- Enhanced error handling and logging for better debugging.
- Updated comments for clarity and consistency.
Update updater.py to improve checksum verification logic
- Modified checksum verification to prioritize specific .sha256 files matching installer names.
- Added fallback logic to check for any .sha256 file if no specific match is found.
Enhance update manager UI with download progress dialog
- Introduced DownloadingDialog to provide feedback during update downloads.
- Updated MainWindow to manage the new downloading dialog and handle its lifecycle.
- Removed the skip version functionality from the update dialog as per new requirements.
Refactor update manager UI tests for clarity and maintainability
- Removed tests related to the skip version functionality.
- Updated test cases to reflect changes in the update manager UI.
- Ensured all tests are aligned with the new dialog structure and signal emissions.
- Implemented `set_exe_version` method in `WindowsBuilder` to set the version information for the generated executable.
- This ensures proper MSI updates by comparing file versions.
- Added error handling for missing `pefile` dependency and version resource.
- Updated `requirements-dev.txt` to include `pefile` as a dependency for building.
- Changed installation scope from "perMachine" to "perUser" in the Windows installer configuration.
- Updated installation directory from "ProgramFiles64Folder" to "LocalAppDataFolder" for user-specific installations.
- Enhanced the configuration saving method to create parent directories if they don't exist.
- Improved the main window script loading logic to support multiple installation scenarios (development, PyInstaller, MSI).
- Added detailed logging for script loading failures and success messages.
- Implemented a new method to reconfigure logging settings at runtime, allowing dynamic updates from the settings dialog.
- Enhanced the settings dialog to handle configuration saving, including log level changes and error handling.
- Updated the WiX configuration in build_windows.py to include required properties for the WixUI_InstallDir dialog.
- Changed the UI reference from WixUI_Minimal to WixUI_InstallDir for improved installation experience.
- Added custom branding images for the installer UI using WixVariable for background and banner images.
- Introduced a new license.rtf file containing the MIT License for the WebDrop Bridge project.
- Updated binary resources for background and banner images.
- Included WixUIExtension in candle and light commands to enable UI features.
- Added references for minimal and error progress UI dialogs in the WiX XML configuration.
- Mark components as 64-bit by adding Win64="yes" attribute in harvested files.
- Update WiX configuration to use ProgramFiles64Folder for installation.
- Add a new component for creating a desktop shortcut for the WebDrop Bridge application.
- Updated the path to the built executable to reflect changes in the output structure.
- Added calculation and display of total distribution size after build.
- Enhanced error reporting for the MSI linking process by capturing and printing stdout and stderr output.
- Updated WiX source file to include UI namespace for better compatibility.
- Removed unnecessary blank line in test_msi.py for cleaner code.
This commit introduces a new test script, `test_msi.py`, which automates the process of creating an MSI installer. The script utilizes the `WindowsBuilder` class to generate the installer and checks for its successful creation, providing feedback on the result and the file size.
- Automatically generate checksum file after building exe
- Checksum saved as WebDropBridge.exe.sha256
- Required for package uploads
- Also increase upload timeout to 600s for large files
- Added a professional HTML welcome page displayed when no web application is configured.
- Enhanced `_load_webapp()` method to support improved path resolution for both development and bundled modes.
- Updated error handling to show the welcome page instead of a bare error message when the webapp file is not found.
- Modified unit tests to verify the welcome page is displayed in error scenarios.
build: Complete Windows and macOS build scripts
- Created `build_windows.py` for building Windows executable and optional MSI installer using PyInstaller.
- Developed `build_macos.sh` for creating macOS application bundle and DMG image.
- Added logging and error handling to build scripts for better user feedback.
docs: Add build and icon requirements documentation
- Created `PHASE_3_BUILD_SUMMARY.md` detailing the build process, results, and next steps.
- Added `resources/icons/README.md` outlining icon requirements and creation guidelines.
chore: Sync remotes script for repository maintenance
- Introduced `sync_remotes.ps1` PowerShell script to fetch updates from origin and upstream remotes.