You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
WSL support: detects Windows ADB via cmd.exe /c where, scans Downloads/platform-tools* dirs, creates bash wrapper ~/.local/bin/adb → adb.exe so all commands resolve
Settings tab: users can manually set paths to ADB, Frida, scrcpy, curl, xz. Saves to ~/.config/barrel/settings.json, creates bash wrappers in ~/.local/bin/ so the whole app uses the configured binaries. Native Browse button uses file dialog.
Settings — Font Size: slider + preset buttons (Small–XX-Large), persists across restarts, scales entire app interface via CSS variable --app-font-size. Collapsible category groups for future extensibility.
Settings — Dark Mode toggle: iOS-style toggle switch in Appearance section, synced with Save button. Persisted to both localStorage and settings.json for reliable state on restart.
Collapsible settings categories: Appearance and Tool Paths both start collapsed, toggle on header click
Intent Sender: new sidebar tab for crafting and firing adb shell am intents. Action presets, data URI, MIME, package/class, flags, dynamic extras (String/Int/Boolean/Float/Long). Four modes: Start Activity, Start Service, Send Broadcast, Foreground Service. Shows raw command and output.
Docs site: added Intent Sender and Settings documentation sections with sidebar links
--input-solid-bg CSS variable: fully opaque theme-aware fallback for input backgrounds on Windows WebView2
Docs site: Windows build labeled "Experimental" with SmartScreen troubleshooting section
Fixed
Windows build failure: std::os::unix::fs::symlink calls not gated behind #[cfg(unix)]
Launch screen update fetcher: replaced bare curl call with find_binary("curl") + wget fallback so it works on systems without curl
WSL ADB "Invalid argument" error: replaced symlink with bash wrapper script (exec 'adb.exe' "$@") — WSL interop for .exe symlinks is unreliable, bash wrapper works consistently
Font size preset buttons not responding: missing data-fsval attribute prevented slider from matching active preset
Theme state not persisted on Save: added dark_mode field to settings backend, save collects and applies saved theme on startup
Sidebar theme toggle removed: moved to Settings > Appearance for a cleaner sidebar
Tool Paths arrow direction mismatch: header starts with collapsed class so arrow points right when section is closed
Intent Sender now uses Command::arg() instead of bash -c — works on Windows and WSL without bash, eliminates shell injection surface
Tool path Browse button replaced with Detect — searches PATH and common install dirs instead of using native file dialog. Fixes freeze on WSL (no display server for GTK dialogs)
Device info on Dashboard now uses adb_shell Rust command instead of exec_command — no bash dependency, works on Windows natively
Shell terminal: PTY now initialised at actual terminal dimensions instead of 24×80 then immediately resizing — fixes "wwwwwwww" garbage output and ADB shell instability on resize
Proxy input white background on all platforms: moved glass effect to wrapper <div> (.proxy-input-wrap) with backdrop-filter: blur(8px); inputs use background: transparent. <input> elements don't support backdrop-filter cross-platform — applying it to the wrapper avoids the native white input backdrop compositing issue on WebView2/WKWebView/WebKitGTK.
Logcat cmd popup on Windows: added hide_window(&mut cmd) to adb_logcat_create in logcat.rs — the spawned adb logcat process was missing CREATE_NO_WINDOW flag.
Tab drag-and-drop on Windows/macOS: added dragenter event listeners with preventDefault() to shell/logcat tabs and tab bars. WebView2 and WKWebView require preventDefault() on dragenter — dragover alone was silently cancelling drops.
Tab bar dragenter: tab bar containers in both shell.js and logcat.js now have dragenter handlers to allow drops.
Proxy section layout: host/port inputs on same row, green/red indicator dots for active/inactive status, pill-shaped badge with dot.
Docs site download grid: refactored from inline styles to shared CSS classes (.dl-sub, .dl-note, .dl-buttons, .dl-btn). Windows card shows Experimental badge + SmartScreen note. 3-column grid enforced from 769px+.
Changed
Settings tool paths reduced to ADB, Frida, scrcpy only (curl/xz removed — globally available on most systems)
Tool paths hint text updated to clarify they're optional overrides