feat: Update documentation for version 0.9.1, including changelog, configuration, and package manager support
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

This commit is contained in:
claudi 2026-04-16 08:38:41 +02:00
parent 1054266d0e
commit ac10fdcbdd
11 changed files with 196 additions and 159 deletions

View file

@ -2,7 +2,7 @@
> Professional Qt-based desktop application for intelligent drag-and-drop file handling between web applications and desktop clients (InDesign, Word, Notepad++, etc.)
![Status](https://img.shields.io/badge/Status-Phase%204%20Complete-green) ![License](https://img.shields.io/badge/License-MIT-blue) ![Python](https://img.shields.io/badge/Python-3.10%2B-blue)
![Status](https://img.shields.io/badge/Status-Phase%205%20RC%20In%20Progress-green) ![License](https://img.shields.io/badge/License-MIT-blue) ![Python](https://img.shields.io/badge/Python-3.9%2B-blue)
## Overview
@ -19,23 +19,25 @@ WebDrop Bridge embeds a web application in a Qt container with full filesystem a
## Features
- ✅ **Qt-based Architecture** - Professional Windows support via PySide6 (macOS support planned)
- ✅ **Qt-based Architecture** - Professional cross-platform desktop app via PySide6 for Windows and macOS
- ✅ **Embedded Web App** - QtWebEngine provides Chromium without browser limitations
- ✅ **Drag Interception** - Converts text paths to native file operations
- ✅ **Path Whitelist** - Security-conscious file system access control
- ✅ **Configuration Management** - Profile-based settings with validation
- ✅ **Settings Dialog** - Professional UI for path, URL, logging, and window configuration
- ✅ **Configuration Management** - JSON config, profile import/export, and validation
- ✅ **Runtime Branding** - Switch branding templates and packaged variants without code changes
- ✅ **Multilingual UI** - Built-in translations for English, German, French, Italian, Russian, and Chinese
- ✅ **Settings Dialog** - Language, branding, web source, path, URL, logging, and window configuration
- ✅ **Auto-Update System** - Automatic release detection via Forgejo API
- ✅ **Professional Build Pipeline** - MSI for Windows, DMG for macOS
- ✅ **Comprehensive Testing** - Unit, integration, and end-to-end tests (80%+ coverage)
- ✅ **Continuous Testing** - GitHub Actions test automation
- ✅ **Comprehensive Testing** - Unit and integration coverage across core modules
- ✅ **Continuous Testing** - Automated CI validation
- ✅ **Structured Logging** - File-based logging with configurable levels
## Quick Start
### Requirements
- Python 3.10+
- Windows 10/11
- Python 3.9+
- Windows 10/11 or macOS 12+
- 200 MB disk space (includes Chromium from PyInstaller)
### Installation from Pre-Built Release (Recommended)
@ -58,11 +60,11 @@ brew upgrade webdrop-bridge # Update to latest version
**Option 2: Direct wget (if you know the version)**
```bash
# Replace VERSION with release tag (e.g., v0.8.0)
wget https://git.him-tools.de/HIM-public/webdrop-bridge/releases/download/VERSION/WebDropBridge_Setup.msi
# Replace X.Y.Z with a release version (e.g., 0.9.1)
wget https://git.him-tools.de/HIM-public/webdrop-bridge/releases/download/vX.Y.Z/WebDropBridge-X.Y.Z-win-x64.msi
# Example for v0.8.0:
wget https://git.him-tools.de/HIM-public/webdrop-bridge/releases/download/v0.8.0/WebDropBridge_Setup.msi
# Example for v0.9.1:
wget https://git.him-tools.de/HIM-public/webdrop-bridge/releases/download/v0.9.1/WebDropBridge-0.9.1-win-x64.msi
```
**Option 3: Automated script (auto-detects platform)**
@ -93,6 +95,7 @@ python -m venv venv
# Install dependencies
pip install -r requirements.txt
pip install -e .
# Run application
python -m webdrop_bridge.main
@ -103,6 +106,7 @@ python -m webdrop_bridge.main
```bash
# Install development dependencies
pip install -r requirements-dev.txt
pip install -e .
# Run tests
pytest tests -v
@ -178,42 +182,36 @@ webdrop-bridge/
## Configuration
WebDrop Bridge supports two configuration methods:
WebDrop Bridge supports persisted JSON configuration plus optional bootstrap environment defaults.
### 1. Settings Dialog (Recommended)
### 1. Settings Dialog / JSON Config (Recommended)
Launch the application and access the Settings menu to configure:
- **Paths Tab** - Add/remove allowed root directories
- **URLs Tab** - Configure allowed web URLs (whitelist mode)
- **Logging Tab** - Set log level and file location
- **Window Tab** - Configure window dimensions
- **Profiles Tab** - Save/load/export-import configuration profiles
- **General Tab** - Select the UI language or follow the system locale automatically
- **Branding Tab** - Switch, import, export, and preview runtime branding templates
- **Web Source Tab** - Configure the embedded web application URL
- **Paths / URLs / Logging / Window Tabs** - Control filesystem access, allowed sites, log output, and initial window size
- **Profiles Tab** - Save, load, import, and export complete configuration profiles
Profiles are saved in `~/.webdrop_bridge/profiles/`
Saved settings are written to the brand-specific application config directory as `config.json`.
### 2. Environment Variables
Create a `.env` file in the project root. Available settings:
### 2. Bootstrap Environment Variables (`.env`)
A `.env` file is still supported for local development and branded packaged defaults. It is used when no JSON config exists yet.
```bash
# Application
APP_NAME=WebDrop Bridge
APP_VERSION=1.0.0
# Paths (comma-separated)
BRAND_ID=webdrop_bridge
WEBAPP_URL=https://dev.agravity.io/
ALLOWED_ROOTS=Z:/,C:/Users/Public
# Web URLs (empty = no restriction, items = kiosk mode)
ALLOWED_URLS=
# Interface
WEBAPP_URL=file:///./webapp/index.html
LANGUAGE=auto
LOG_LEVEL=INFO
WINDOW_WIDTH=1024
WINDOW_HEIGHT=768
# Logging
LOG_LEVEL=INFO
ENABLE_LOGGING=true
```
For the full JSON structure and branding workflow, see [CONFIG_README.md](CONFIG_README.md) and [BRANDING_AND_RELEASES.md](docs/BRANDING_AND_RELEASES.md).
## Testing
WebDrop Bridge includes comprehensive test coverage with unit, integration, and end-to-end tests.
@ -272,11 +270,20 @@ python build/scripts/build_windows.py --msi --code-sign
```
Output:
- Portable executable: `build/dist/windows/WebDropBridge/WebDropBridge.exe` (~195 MB)
- Professional MSI installer: `build/dist/windows/WebDropBridge-{version}-Setup.msi`
- SHA256 checksum: `build/dist/windows/WebDropBridge/WebDropBridge.exe.sha256`
- Portable executable: `build/dist/windows/webdrop_bridge/WebDropBridge/WebDropBridge.exe`
- Professional MSI installer: `build/dist/windows/webdrop_bridge/WebDropBridge-<version>-win-x64.msi`
- SHA256 checksum: `build/dist/windows/webdrop_bridge/WebDropBridge-<version>-win-x64.msi.sha256`
**Note on macOS**: Build scripts exist for macOS (DMG generation), but have never been built or tested. macOS support is theoretical at this point. The Qt/PySide6 architecture should support macOS, but platform-specific testing and validation would be required.
### macOS DMG Installer
```bash
bash build/scripts/build_macos.sh
```
Output:
- Application bundle: `build/dist/macos/webdrop_bridge/WebDropBridge.app`
- DMG installer: `build/dist/macos/webdrop_bridge/WebDropBridge-<version>-macos-universal.dmg`
- SHA256 checksum: `build/dist/macos/webdrop_bridge/WebDropBridge-<version>-macos-universal.dmg.sha256`
### Creating Releases
@ -314,8 +321,8 @@ powershell -ExecutionPolicy Bypass -File build/scripts/create_release.ps1
## Troubleshooting
### Application won't start
- Ensure Python 3.10+ is installed
- Check `logs/webdrop_bridge.log` for errors
- Ensure Python 3.9+ is installed
- Check the application log in your platform-specific app data directory
- Verify all dependencies: `pip list`
### Drag-and-drop not working
@ -332,10 +339,10 @@ powershell -ExecutionPolicy Bypass -File build/scripts/create_release.ps1
| Platform | Version | Status | Notes |
|----------|---------|--------|-------|
| Windows | 10, 11 | ✅ Full | Tested on x64, MSI installer support |
| macOS | 12+ | ⚠️ **Untested** | Possible via Qt/PySide6, but never built or tested. Theoretical support only. |
| Windows | 10, 11 | ✅ Full | Primary target with MSI packaging and update support |
| macOS | 12, 13, 14 | ✅ Supported | Universal DMG builds for Intel and Apple Silicon |
**Note**: WebDrop Bridge is currently developed and tested exclusively on Windows. While the Qt/PySide6 framework supports macOS, we cannot guarantee functionality without actual macOS testing and validation. Contributions for macOS support validation are welcome.
**Note**: Release candidates currently target both Windows and macOS. For branded production releases, validate signing assets and installer behavior on the target platform before shipping.
## Contributing
@ -367,4 +374,4 @@ MIT License - see [LICENSE](LICENSE) file for details
---
**Development Phase**: Phase 4 Complete | **Last Updated**: February 18, 2026 | **Current Version**: 1.0.0 | **Python**: 3.10+ | **Qt**: PySide6 (Qt 6)
**Development Phase**: Phase 5 Release Candidates | **Last Updated**: April 16, 2026 | **Current Version**: 0.9.1 | **Python**: 3.9+ | **Qt**: PySide6 (Qt 6)