Commit graph

64 commits

Author SHA1 Message Date
a261de3460 feat: implement Open With functionality for file chooser integration 2026-03-10 13:16:27 +01:00
939c2f896f Refactor code structure for improved readability and maintainability 2026-03-10 12:52:12 +01:00
e3fae14c69 feat: add Developer Tools integration with shortcut for enhanced debugging 2026-03-04 16:56:38 +01:00
810baf65d9 feat: implement mouse event emulator for Qt WebEngineView to enhance hover effects
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-03-04 14:49:40 +01:00
c612072dc8 feat: enhance drag-and-drop functionality to support multiple file paths and URLs 2026-03-04 13:43:21 +01:00
1e848e84b2 feat: enhance settings dialog to handle domain changes with restart prompt and silent reload for path changes 2026-03-04 13:19:19 +01:00
3f7623f11c feat: add settings dialog enhancements for webapp URL change detection and restart handling 2026-03-04 13:09:25 +01:00
695182c44f fix: enhance authorization token capture logic based on checkout feature status 2026-03-04 12:56:49 +01:00
308f77f84e fix: improve drag handler installation logic to prevent multiple installations and enhance retry mechanism 2026-03-04 12:52:16 +01:00
ced50dd1f6 fix: simplify drag interception logic by removing native DnD check and updating console messages 2026-03-04 11:57:17 +01:00
705969cdba feat: enhance web engine view with profile isolation and add cache clearing functionality
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-03-03 10:22:14 +01:00
ba0594c260 fix: standardize profile directory naming from ".webdrop-bridge" and "WebDropBridge" to ".webdrop_bridge"
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-03-03 09:44:29 +01:00
530e7f92a3 feat: add OpenDropZone widget for opening files with default applications via drag-and-drop
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-02-25 16:16:52 +01:00
f7111896b5 feat: enhance dragstart interception with native DnD disable check via URL param 2026-02-25 15:45:26 +01:00
9609a12ae7 Bump version to 0.6.5 and enhance update download functionality
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
- Updated version number in __init__.py to 0.6.5.
- Modified the download_update method in updater.py to accept a progress_callback for tracking download progress.
- Implemented chunked downloading in _download_file to report progress via the callback.
- Adjusted installer launching logic in updater.py to handle MSI files correctly using msiexec.
- Connected download progress signal in main_window.py to update the downloading dialog.
2026-02-25 15:26:02 +01:00
fba25534d9 chore: update version to 0.6.4 and add log file opening functionality in main window 2026-02-25 15:09:22 +01:00
bbf5e9f875 fix: correct capitalization of "hörl" in About dialog 2026-02-25 15:04:12 +01:00
025e9c888c Refactor Windows build script for improved readability and consistency
- 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.
2026-02-25 14:38:33 +01:00
cbd1f3f77c Add enable_checkout configuration option and update drag handling logic 2026-02-25 13:34:37 +01:00
986793632e Refactor SettingsDialog for improved readability and maintainability
- Cleaned up whitespace and formatting throughout the settings_dialog.py file.
- Enhanced type hints for better clarity and type checking.
- Consolidated URL mapping handling in get_config_data method.
- Improved error handling and logging for configuration operations.
- Added comments for better understanding of the code structure and functionality.
2026-02-25 13:26:46 +01:00
7873d0a060 Fix import order by moving QTabWidget to the correct position in settings_dialog.py
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-02-20 08:45:54 +01:00
6ba40ce25d Add web source configuration tab and URL mapping management to settings dialog 2026-02-20 08:45:41 +01:00
f34421bb18 Update about dialog with enhanced product description and contact information 2026-02-20 08:35:20 +01:00
8f3f859e5b Refactor Windows installer configuration and improve logging functionality
- 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.
2026-02-19 15:48:59 +01:00
0c276b9022 Add support for PyInstaller bundle in main_window.py
- Updated icon path handling to support both development mode and PyInstaller bundle.
- Modified script path loading to accommodate PyInstaller bundle structure.
- Adjusted download interceptor path to work with PyInstaller bundle.
2026-02-19 15:34:10 +01:00
dffc925bb6 refactor: Change logging level from info to debug for download and JS messages
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-18 13:19:38 +01:00
6d8af7f8fb fix: Improve checkout data handling in response processing 2026-02-18 13:14:17 +01:00
de98623ee0 Add application icon in PNG format to resources/icons directory 2026-02-18 13:07:01 +01:00
4011f46ab7 fix: Add error handling for script injection and improve logging for URL mappings 2026-02-18 10:28:15 +01:00
0eba82b8af feat: Enhance drag interception with dynamic URL pattern matching configuration injection 2026-02-18 10:15:42 +01:00
ae5c86814f Remove obsolete WebDrop Bridge scripts: bridge_script.js, bridge_script_debug.js, bridge_script_drop_intercept.js, bridge_script_hybrid.js, bridge_script_v2.js 2026-02-18 09:29:33 +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
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
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
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