Skip to content

Releases: davidtorcivia/floatview

FloatView v1.4.2

24 Apr 03:51

Choose a tag to compare

Download the installer for your platform below.

Windows: .msi installer or portable .exe. Requires Windows 10 or 11. WebView2 Runtime is installed automatically if missing.

macOS: .dmg universal binary (Apple Silicon + Intel).

FloatView v1.4.1

24 Apr 02:28

Choose a tag to compare

Download the installer for your platform below.

Windows: .msi installer or portable .exe. Requires Windows 10 or 11. WebView2 Runtime is installed automatically if missing.

macOS: .dmg universal binary (Apple Silicon + Intel).

FloatView v1.4.0

24 Apr 02:04

Choose a tag to compare

Download the installer for your platform below.

Windows: .msi installer or portable .exe. Requires Windows 10 or 11. WebView2 Runtime is installed automatically if missing.

macOS: .dmg universal binary (Apple Silicon + Intel).

FloatView v1.3.0

22 Apr 18:57

Choose a tag to compare

Download the installer for your platform below.

Windows: .msi installer or portable .exe. Requires Windows 10 or 11. WebView2 Runtime is installed automatically if missing.

macOS: .dmg universal binary (Apple Silicon + Intel).

FloatView v1.2.0

15 Apr 02:46

Choose a tag to compare

FloatView v1.2.0

Big under-the-hood cleanup: the Rust crate was split from a single 1,900-line main.rs into 14 focused modules, the config save pipeline learned how to shut down cleanly, and a round of review-driven fixes landed along the way.

Fixes

  • Config save survives shutdown. The background saver thread is now joined via RunEvent::Exit before the process exits, so bookmarks and window geometry always reach disk. The previous "fix" queued writes into a channel that got killed mid-flight.
  • Startup safety. Click-through mode is force-cleared on launch and written to disk synchronously so a user can never be trapped behind an invisible window after a crash-restart loop.
  • Tray quit persists geometry. Quit from the tray now saves the current position/size before exiting.
  • Media hotkeys target the right element. window.__floatViewLastMedia now tracks the most recently interacted <video> / <audio> across the page, and the media tracker correctly waits for document.body instead of silently no-opping on early-injected pages.
  • Bookmark add fixed. Dedup check runs before the 50-item limit, so re-bookmarking an existing URL at capacity no longer errors. Uses origin + path + query fuzzy matching server-side.
  • Crop region persists across restarts via new set_crop / clear_crop commands. Clamped to [0, 1] with a 1% minimum and guarded against NaN/Inf (which would have panicked in f64::clamp).
  • Opacity startup race fixed. The deferred set_window_opacity now reads the current value from state at apply time rather than capturing it at spawn time, so adjustments made during the 300 ms boot window aren't overwritten.
  • Error-page detection no longer false-positives on blog posts titled "Error…". Title regex narrowed to specific Chrome/Edge failure states.
  • Tray "Exit Click-Through Mode" menu item starts disabled and tracks lock state reliably via direct MenuItem<Wry> storage.
  • Click-through exit from the global hotkey now logs at error! level if set_ignore_cursor_events fails — this is the safety-critical path that rescues a stuck user.
  • Clear-site-data is now a real WebView2 native call instead of best-effort JS cookie clearing.

New

  • Crop / zoom region with persistence and resize-aware re-application.
  • Expanded hotkey parser. Full alphabet (a–z), digits (0–9), F1–F12, arrow/nav keys, punctuation ([ ] ; ' , . / \ \ - =`), space/enter/tab/escape/backspace/delete, home/end/pageup/pagedown.

Internal

  • Module split. Rust crate went from one 1,899-line main.rs to 14 focused modules. Largest file is now commands.rs at ~460 lines. Main orchestrator is 246 lines.
    • state.rs, config_io.rs, urls.rs, logging.rs, injection.rs, window_state.rs, actions.rs, hotkeys.rs, tray.rs, commands.rs
  • Hotkey parser rewritten from an 80-line match into a static OnceLock<HashMap<&str, Code>> — faster to scan, easier to extend, testable in isolation.
  • Cooperative shutdown for the geometry auto-save thread via AtomicBool: wakes every 1 s to check, saves every 30 s (unchanged disk cadence).
  • Dropped <R: Runtime> generics throughout. The app is Wry-only and the generics were pure ceremony.
  • Tray exit-lock stores MenuItem<Wry> directly instead of a Box<dyn Fn(bool) + Send + Sync> closure indirection.
  • Selective error logging in direct-action helpers — warn!/error! on failed native calls so a stuck session has a diagnostic trail.
  • Test suite: 17 tests (up from 5). Covers URL normalization (including rejection of file://, javascript:, empty, overlong), URL matching equivalence, config sanitize (clamps, dedup, bookmark limit, crop clamping, NaN-drop, minimized-geometry recovery), hotkey parsing (alphabet, digits, F-keys, punctuation, case-insensitive modifiers, unknown-key rejection, esc/escape aliasing), and window-geometry clamping.
  • cargo clippy -- -D warnings clean.
  • injection.js got a 20-item table of contents and section banners throughout — the 2,400-line file is now navigable.
  • AGENTS.md updated to document the new module layout.

Windows: .msi installer or NSIS .exe. Requires Windows 10 or 11. WebView2 Runtime installs automatically if missing.
macOS: universal .dmg (Apple Silicon + Intel), notarized.

v1.1.0

13 Apr 21:22

Choose a tag to compare

What's New in v1.1.0

Search

Type anything in the URL bar that isn't a URL and it searches DuckDuckGo automatically.

Navigation Controls

Back, Forward, and Refresh buttons added to the control strip.

Bookmarks

Star icon bookmarks the current page. Right-click the star for your bookmarks list. Supports up to 50 bookmarks with deduplication.

Window Title

Title bar now shows the current page title, updating in real-time.

Crash Recovery

  • Window position is auto-saved every 30 seconds
  • Config file backed up (.bak) before each write

Clear Site Data

New button in Settings to clear cookies, localStorage, and sessionStorage for the current site.

Bug Fixes

  • URL tracking on navigation (popstate + polling)
  • Dropdown interaction fixes (mutual dismissal between recent/bookmarks/snap)
  • Error page detection improved for smart quotes
  • Home button uses IPC with fallback

Cleanup

  • Removed unused dependencies (directories, webview2-com)
  • Removed dead config fields (audio_device_id, launch_at_startup)
  • Migrated to structured logging (tracing)

Full Changelog: v1.0.0...v1.1.0

FloatView v1.0.0

18 Mar 03:57

Choose a tag to compare

FloatView 1.0.0

New Features

  • Snap to Corners — Quickly position the window at any screen corner or center via toolbar popup or context menu
  • Auto-Refresh — Configurable page reload interval (1 min to 1 hour) in Settings
  • Crop/Zoom Mode — Click-and-drag to select a page region, then zoom in to fill the viewport. Press Escape to exit
  • Animated UI — All dropdowns, modals, and overlays now fade+scale in/out with spring curves
  • Floating Close Button — Settings panel has a circular close button beside the panel
  • Perceptual Opacity Slider — More control in the 60-100% range where users spend most time

UI Improvements

  • Floating pill toolbar with rounded corners, inset from window edges
  • macOS-style glassmorphism (neutral gray tint, soft shadows, no borders)
  • Copper accent color for active states, macOS system green for toggles
  • Thumbtack pin icon for always-on-top
  • Wider opacity slider, properly centered URL bar text
  • Borderless glass surfaces with diffused shadows

Bug Fixes

  • Fixed error page recovery — URL bar, home button, and recent URLs now work on broken pages
  • Fixed opacity slider dead zone and inverted perceptual curve
  • Fixed WS_EX_LAYERED flag not removed at 100% opacity causing residual transparency on Windows
  • Fixed tutorial modal event listener accumulation (memory leak)
  • Throttled opacity slider IPC calls to ~30/sec
  • Coalesced MutationObserver via microtask to reduce reflow spam
  • Recent dropdown moved outside toolbar for proper backdrop-filter blur

v0.6.0

17 Mar 04:47

Choose a tag to compare

UI Redesign: Implemented a modern glassmorphism aesthetic across the entire application, including the main landing page and the floating control strip. The update includes new animated backgrounds, frosted glass panels, refined typography, and visually centered icons.

FloatView v0.5.0

04 Mar 04:37

Choose a tag to compare

FloatView v0.5.0

Highlights

  • Fixed a startup geometry issue where the window could sometimes reopen tiny in the center of the main monitor.
  • Added safer window-geometry persistence by skipping minimized/maximized states and unexpectedly small dimensions.
  • Added startup-size normalization to restore the default 1280x720 window when bad minimized geometry was previously saved.
  • Applied persisted click-through (locked) state at startup and synchronized injected UI visibility accordingly.
  • Kept command token validation and URL sanitization paths in place for injected-page IPC safety.

Versioning

  • Bumped app/project version metadata to 0.5.0 across Tauri, Cargo, and npm manifests.

FloatView v0.4.7

27 Feb 21:27

Choose a tag to compare

Download the installer for your platform below.

Windows: .msi installer or portable .exe. Requires Windows 10 or 11. WebView2 Runtime is installed automatically if missing.

macOS: .dmg universal binary (Apple Silicon + Intel).