Commit graph

70 commits

Author SHA1 Message Date
fb710d5b00 Remove obsolete documentation and test files related to debugging, update feature fixes, versioning, and web app loading issues. Consolidate versioning process to a single source of truth in __init__.py. Enhance web app loading with improved path resolution and a professional fallback UI. Implement timeout handling in update features to prevent application hangs, ensuring user-friendly error messages and background processing. 2026-02-18 09:27:28 +01:00
c32453018b feat: Improve dragstart handler installation with retry logic for Angular handlers 2026-02-18 08:06:11 +01:00
e91a2445f3 feat: Implement asynchronous checkout status check with improved error handling and logging 2026-02-18 08:01:33 +01:00
2a9926d934 feat: Enhance checkout process by checking asset status before prompting user 2026-02-18 07:41:28 +01:00
dee02ad600 Add drag & drop script variants and enhanced debugging tools
- Introduced multiple JavaScript scripts for handling drag & drop functionality:
  - `bridge_script.js`: Original implementation with popup prevention.
  - `bridge_script_debug.js`: Debug version with extensive logging for troubleshooting.
  - `bridge_script_v2.js`: Enhanced version extending DataTransfer for better integration.
  - `bridge_script_hybrid.js`: Hybrid approach allowing parallel native file drag.
  - `bridge_script_drop_intercept.js`: Intercepts drop events for custom handling.
  - `bridge_script_intercept.js`: Prevents browser drag for ALT+drag, using Qt for file drag.

- Added detailed documentation in `SCRIPT_VARIANTS.md` outlining usage, status, and recommended workflows for each script.
- Implemented logging features to capture drag events, DataTransfer modifications, and network requests for better debugging.
- Enhanced DataTransfer handling to support Windows-specific file formats and improve user experience during drag & drop operations.
2026-02-17 19:19:14 +01:00
88dc358894 Refactor drag handling and update tests
- Renamed `initiate_drag` to `handle_drag` in MainWindow and updated related tests.
- Improved drag handling logic to utilize a bridge for starting file drags.
- Updated `_on_drag_started` and `_on_drag_failed` methods to match new signatures.
- Modified test cases to reflect changes in drag handling and assertions.

Enhance path validation and logging

- Updated `PathValidator` to log warnings for nonexistent roots instead of raising errors.
- Adjusted tests to verify the new behavior of skipping nonexistent roots.

Update web application UI and functionality

- Changed displayed text for drag items to reflect local paths and Azure Blob Storage URLs.
- Added debug logging for drag operations in the web application.
- Improved instructions for testing drag and drop functionality.

Add configuration documentation and example files

- Created `CONFIG_README.md` to provide detailed configuration instructions for WebDrop Bridge.
- Added `config.example.json` and `config_test.json` for reference and testing purposes.

Implement URL conversion logic

- Introduced `URLConverter` class to handle conversion of Azure Blob Storage URLs to local paths.
- Added unit tests for URL conversion to ensure correct functionality.

Develop download interceptor script

- Created `download_interceptor.js` to intercept download-related actions in the web application.
- Implemented logging for fetch calls, XMLHttpRequests, and Blob URL creations.

Add download test page and related tests

- Created `test_download.html` for testing various download scenarios.
- Implemented `test_download.py` to verify download path resolution and file construction.
- Added `test_url_mappings.py` to ensure URL mappings are loaded correctly.

Add unit tests for URL converter

- Created `test_url_converter.py` to validate URL conversion logic and mapping behavior.
2026-02-17 15:56:53 +01:00
c9704efc8d feat: Update README with status change, enhanced configuration details, and improved installation instructions
Some checks failed
Tests & Quality Checks / Test on Python 3.11 (push) Has been cancelled
Tests & Quality Checks / Test on Python 3.12 (push) Has been cancelled
Tests & Quality Checks / Test on Python 3.11-1 (push) Has been cancelled
Tests & Quality Checks / Test on Python 3.12-1 (push) Has been cancelled
Tests & Quality Checks / Test on Python 3.10 (push) Has been cancelled
Tests & Quality Checks / Test on Python 3.11-2 (push) Has been cancelled
Tests & Quality Checks / Test on Python 3.12-2 (push) Has been cancelled
Tests & Quality Checks / Build Artifacts (push) Has been cancelled
Tests & Quality Checks / Build Artifacts-1 (push) Has been cancelled
2026-02-10 10:00:10 +01:00
4ab44c83ba feat: Enhance update check and download processes with safety timeouts and logging 2026-01-30 13:09:50 +01:00
f4eb511a1c feat: Implement timeout handling and background processing for update feature 2026-01-30 12:09:03 +01:00
c97301728c feat: Add settings button and dialog for configuration management 2026-01-30 11:31:52 +01:00
8e97f85c64 feat: Add window title configuration and update related components and tests 2026-01-30 11:28:23 +01:00
c621e63a8d feat: Enhance navigation toolbar with help actions and update related tests 2026-01-30 11:22:33 +01:00
a355c13c82 feat: Implement configuration bundling for customer-specific builds and enhance build scripts 2026-01-30 11:09:19 +01:00
4e5deab7e9 fix: Remove APP_ENV and unnecessary variables from .env.example 2026-01-30 10:59:33 +01:00
6643640ab4 fix: Update ProductVersion to 0.1.0 in WebDropBridge.wxs 2026-01-30 10:03:11 +01:00
bba6caf7c5 feat: Add function to read APP_VERSION from .env or .env.example in create_release.ps1 2026-01-30 09:57:08 +01:00
03c9cbe802 feat: Add function to update APP_VERSION in .env file during version sync 2026-01-30 09:53:16 +01:00
ad6e388dc8 fix: Enhance subprocess calls with UTF-8 encoding and error handling 2026-01-30 09:41:31 +01:00
fb82d8d612 fix: Update version to 0.1.0 in configuration files and tests 2026-01-30 09:19:03 +01:00
0d9464854d feat: Implement centralized version management and sync process 2026-01-30 09:16:12 +01:00
c1133ae8e9 docs: Update documentation for auto-update system and integration tests 2026-01-30 08:43:52 +01:00
f701247fab fix: Implement drag-and-drop functionality with QWebChannel integration 2026-01-30 08:17:01 +01:00
b2681a9cbd fix: Remove type ignore comments for web view page actions 2026-01-30 07:10:42 +01:00
64378f753b feat: Add user feedback dialog for manual update checks and handle dialog closure 2026-01-29 15:52:59 +01:00
e57e822bed fix: Improve background thread management and error handling in update check 2026-01-29 15:27:00 +01:00
a8eaa84310 fix: Specify type for log level combo box and adjust method signature 2026-01-29 12:53:54 +01:00
8b0df0e04f Add unit tests for configuration management and settings dialog
- Implement tests for ConfigValidator to ensure proper validation of configuration settings, including valid configurations, required fields, type checks, and error handling.
- Create tests for ConfigProfile to verify profile management functionalities such as saving, loading, listing, and deleting profiles.
- Add tests for ConfigExporter to validate JSON export and import processes, including error handling for non-existent files and invalid JSON.
- Introduce tests for SettingsDialog to confirm proper initialization, tab existence, and configuration data retrieval and application.
2026-01-29 12:52:53 +01:00
5dc988005c feat: Implement structured JSON logging and performance tracking features 2026-01-29 10:25:54 +01:00
db3799a643 Refactor code structure for improved readability and maintainability 2026-01-29 10:19:52 +01:00
4581fd393c fix: Correct method call for retrieving URL in navigation request handler 2026-01-29 10:04:21 +01:00
ca9526c1c1 fix: Ensure release objects are not None in update flow integration tests 2026-01-29 10:02:44 +01:00
e1bf5a57c2 feat: Update DEVELOPMENT_PLAN with completion status and test coverage details for auto-update features 2026-01-29 09:10:44 +01:00
6ffea4d575 fix: Refactor import statements in test_main_window to improve clarity 2026-01-29 09:09:31 +01:00
6278ef8eed feat: Enhance Help menu with About dialog and update check functionality 2026-01-29 09:09:04 +01:00
eb7ffe9969 feat: Update DEVELOPMENT_PLAN with deliverables and acceptance criteria; add integration tests for update flow 2026-01-29 09:01:58 +01:00
50311139bf fix: Correct window flag type for close button hint in update dialogs 2026-01-29 08:48:29 +01:00
41549848ed feat: Implement asynchronous update check on startup with UI integration 2026-01-29 08:44:03 +01:00
5b28c931d8 feat: Add status bar with update status indicator
Status bar implementation:
- Status bar at bottom of main window
- Update status label with emoji support
- set_update_status() method for updates:
  -  Checking for updates
  -  Update available
  -  Downloading update
  -  Update failed
  - Clean status display

Test coverage:
- 8 new tests for status bar
- Test creation and initialization
- Test status updates with/without emoji
- Test all status states (checking, available, downloading, error)
- All 154 tests passing, 86% coverage

Enables visual feedback during update operations
2026-01-29 08:37:53 +01:00
2896f6ba5c feat: Add Help menu with Check for Updates action
Menu implementation:
- Added menu bar to MainWindow
- Help menu with 'Check for Updates...' action
- Signal-based architecture for async update check
- Action triggers check_for_updates signal

Test coverage:
- 3 new tests for menu bar functionality
- Test menu bar creation
- Test signal exists and is callable
- Test callback method exists
- All 146 tests passing, 86% coverage

Design:
- Decoupled menu from update logic
- Emits signal that main app listens to
- Allows async update check without blocking UI
2026-01-29 08:35:21 +01:00
af8e417197 feat: Implement auto-update system with Forgejo releases management 2026-01-29 08:19:42 +01:00
b221ba8436 feat: Add 6 update manager UI dialogs (100% coverage)
Dialog implementations:
1. CheckingDialog - Animated progress while checking for updates (10s timeout)
2. UpdateAvailableDialog - Shows version, changelog, action buttons
3. DownloadingDialog - Progress bar with size display and cancel option
4. InstallDialog - Confirmation with unsaved changes warning
5. NoUpdateDialog - Clean confirmation when up-to-date
6. ErrorDialog - Error handling with retry and manual download options

Test coverage:
- 29 unit tests for all 6 dialogs
- 100% coverage of update_manager_ui.py
- Signal emission testing for all interactive elements
- Progress bar and file display functionality
- Dialog state and flags validation
2026-01-29 08:18:39 +01:00
342044ec3f deps: Add pytest-asyncio to dev requirements
- Required for async test support (UpdateManager tests)
- Version 0.21.0+
2026-01-29 08:16:36 +01:00
d408c3a2de test: Add comprehensive unit tests for UpdateManager (20 tests, 77% coverage)
- Version parsing and comparison tests
- Cache management with TTL validation
- API fetching with network error handling
- Check for updates (with caching)
- Download update with checksum file handling
- Checksum verification (match/mismatch/missing)
- Platform-aware installer launching (Windows MSI, macOS DMG)
- All 20 tests passing with proper async/await support
- Installed pytest-asyncio for async test support
- Updated copilot instructions to document .venv environment
2026-01-29 08:15:35 +01:00
79afa91490 docs: Update copilot instructions to include development environment setup and quality checks 2026-01-29 08:13:54 +01:00
50ce5abb6f docs: Add detailed UI components for Phase 4.1 auto-update system
- Add 4.1.2 section for update manager UI
- Specify all dialogs (checking, available, downloading, install, failed, no updates)
- Include status bar integration with update indicators
- Define menu structure for Help menu updates
- Add background behavior specifications
- List async/non-blocking implementation requirements
- Include UI testing acceptance criteria
2026-01-29 08:04:01 +01:00
3d2f09636d feat: Add WiX installer configuration for WebDrop Bridge 2026-01-28 15:54:39 +01:00
15d68a9ba9 feat: Add MSI installer upload to Forgejo releases 2026-01-28 15:53:39 +01:00
0f9fd4c730 feat: Add WiX MSI installer creation with fallback to default installation path 2026-01-28 15:48:46 +01:00
634eed8996 docs: Update Phase 3 status to reflect distribution completion
Some checks failed
Tests & Quality Checks / Test on Python 3.11 (push) Has been cancelled
Tests & Quality Checks / Test on Python 3.12 (push) Has been cancelled
Tests & Quality Checks / Test on Python 3.11-1 (push) Has been cancelled
Tests & Quality Checks / Test on Python 3.12-1 (push) Has been cancelled
Tests & Quality Checks / Test on Python 3.10 (push) Has been cancelled
Tests & Quality Checks / Test on Python 3.11-2 (push) Has been cancelled
Tests & Quality Checks / Test on Python 3.12-2 (push) Has been cancelled
Tests & Quality Checks / Build Artifacts (push) Has been cancelled
Tests & Quality Checks / Build Artifacts-1 (push) Has been cancelled
2026-01-28 15:19:50 +01:00
1d26d785a3 fix: Use curl for file uploads and add UseBasicParsing flag for PowerShell 5.1 compatibility
Some checks are pending
Tests & Quality Checks / Test on Python 3.11 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.11-1 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12-1 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.10 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.11-2 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12-2 (push) Waiting to run
Tests & Quality Checks / Build Artifacts (push) Blocked by required conditions
Tests & Quality Checks / Build Artifacts-1 (push) Blocked by required conditions
2026-01-28 15:14:42 +01:00