Commit 0551126
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
File tree
- biglinux-webapps/usr
- bin
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
161 | 161 | | |
162 | 162 | | |
163 | 163 | | |
| 164 | + | |
| 165 | + | |
Large diffs are not rendered by default.
0 commit comments