Skip to content

Commit 0551126

Browse files
committed
✨ feat: feat: security audit, code quality overhaul, and Qt6 WebApp Viewer (v3.1.0)
SECURITY FIXES: - Eliminate all shell=True command injection vectors in command_executor.py Replace subprocess shell calls with argv lists - Fix ZIP path traversal vulnerability (ZipSlip) in webapp import - Remove relative path usage, use absolute paths consistently BUG FIXES: - Fix F823: translation function `_` referenced before assignment - Fix Gtk.Label.set_ellipsize wrong API call (use Pango.EllipsizeMode) - Fix _open_folder infinite recursion on missing xdg-open - Fix get_system_default_browser regex failure on empty xdg output - Fix dual application IDs (unified to br.com.biglinux.webapps) - Fix duplicate gtk_box_append in webapp_dialog - Fix base_dir resolution for icon paths - Fix icon persistence when editing webapps CODE QUALITY: - Add type hints to 120+ functions across 12 files - Add ruff.toml config (E402 per-file ignores for gi.repository) - Format all files with ruff (line-length 88) - Replace print statements with structured logging - Remove unused variables and dead code - Upgrade AdwAboutWindow → AdwAboutDialog (libadwaita ≥1.5) - Add enhanced delete confirmation dialog with app name - Use uuid4 for unique webapp IDs instead of sequential counters - Clean up legacy ~/.bigwebapps path references - Centralize version in APP_VERSION variable (3.1.0) NEW FEATURE — big-webapps-viewer (Qt6/PySide6 + Chromium WebEngine): - CSD frameless window with custom Adwaita-style headerbar - System icon theme integration (bigicons-papient with fallback chain) - SVG icon recoloring adapts to light/dark system themes - Window controls (minimize, maximize, close) matching GNOME style - Navigation buttons (back, forward, reload) in headerbar - Fullscreen mode with auto-hide nav overlay on hover - Per-webapp persistent profile (cookies, localStorage, cache) - Keyboard shortcuts: F5/Ctrl+R reload, Ctrl+Q quit, Alt+←/→ nav, F11 fullscreen, Escape exit fullscreen - Geometry persistence (size, maximized state) per app-id - Rounded top corners matching libadwaita window style - SIGINT handler for clean Ctrl+C termination from terminal FILES ADDED: - biglinux-webapps/usr/bin/big-webapps-viewer - ruff.toml - PLANNING.md (audit roadmap and tracking)
1 parent 1844640 commit 0551126

20 files changed

Lines changed: 1439 additions & 548 deletions

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,3 +161,5 @@ cython_debug/
161161

162162
# PyPI configuration file
163163
.pypirc
164+
165+
.audit

PLANNING.md

Lines changed: 280 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)