FireLeash Build Log

FireLeash Build Log

A running record of what shipped, how it works, and how it was verified. Newest first.

Originally built as MultiView — the earliest entries below predate the FireLeash rebrand, so the history reads straight through.

Every entry was screenshot- or measurement-verified in the packaged build before it counted as done.
Runtime: Electron 31 / Chromium 126 · Windows · portable single .exe (~70 MB) (early builds; panes are now real Firefox windows).

2026-07-20 — Public release

Shipped to the world — github.com/Divisionless/fireleash + fireleash.com

shipped

The full color system, published

shipped
2026-07-19 — Hardening + install

Pre-release hardening — 20 bugs found, 19 fixed

shipped

Proper install — NSIS, its own folders

shipped

Lazy panes + split-mark new tabs

shipped

The brand — three fox heads

shipped
2026-07-18 — The FireLeash pivot

One chrome — chrome-less Firefox + a FireLeash omnibox

shipped

Unified omnibox drives the exact pane

shipped

Retire Chromium — Firefox everywhere

shipped

Shared login — import once, signed in everywhere

shipped

Real Firefox windows as panes — owned-window embedding

shipped
2026-07-17 — Dual-engine shell (real Firefox + real Chrome panes)

Real browsers as first-class panes

shipped

FireLeash can now host real Firefox and real Chrome windows as panes, mixed with Chromium BrowserView panes, in the actual layout engine (resize with dividers), both logged in. Opt-in per pane via site.engine: 'firefox'|'chrome'; non-engine panes are byte-identical to before. Code in dual-engine/*.cjs + DUAL-ENGINE-ROADMAP.md.

2026-07-17

Consent gate for browser-history suggestions (nothing read without an explicit yes)

shipped

Autosuggest now reads your real Firefox history + bookmarks

shipped

Address-bar autosuggest (domains + visited sites)

shipped
2026-07-16

Fix: divider "snapped to the far side" after an edge-slam drag (lost mouseup)

shipped

Nested sections can be pulled to 0 width

shipped

Flexible-layout engine, step 2: NESTING — uneven grids + split/insert controls

shipped

Fix: collapsing a pane left the address bars' strip space empty

shipped

Fix: with 3+ panes, collapsing one froze the other dividers

shipped

Delete a workspace from its tab (hover ✕ + inline confirm)

shipped

Extension on/off toggles

shipped

Import all from Chrome + compatibility badges

shipped

Chrome extensions (unpacked)

shipped

Per-pane address bars (each in its own pane, not one crammed row)

shipped

Flexible-layout engine, step 1: the second axis (top/bottom split)

shipped

Drag tabs to reorder workspaces

shipped
2026-07-15

Per-domain styles/scripts + full-window settings

shipped

Pane shortcuts: zoom (Ctrl +/-/0, Ctrl+wheel) + back/forward (Ctrl ←/→)

shipped

Modern-browser chrome + address-bar close/pin/spring-load

shipped

Fix: drag-to-another-tab went blank + drop didn't apply until re-visiting

shipped

Insert panes from the address row ("+" between bars)

shipped

Logins now persist — session-cookie persistence + clean UA

shipped

Drag sites between workspaces — grips + cross-tab move

shipped

Drag-to-collapse — dividers do it all, collapse buttons removed

shipped
2026-07-12

Single instance + focus + "open another" prompt

shipped

Double-click a tab to rename

shipped

Per-site "own dark" — fixes force-dark black-on-black (Gmail)

shipped

Instant tab switching — persistent view cache

shipped

Per-pane address bar (toggleable)

shipped

Toolbar "+" — new split workspace

shipped

Unread badges on group tabs (active group)

shipped

Pane collapse / expand

shipped

Programmable panes — per-site custom CSS + JS

shipped

Dark mode — global, at the paint layer

shipped

Swap / reorder panes

shipped
Foundation (initial build)
Environment notes (gotchas that cost time)
SymptomCauseFix
"Electron failed to install correctly"npm's extract-zip corrupts the binary unpack on this machineExtract the cached zip with PowerShell Expand-Archive into node_modules/electron/dist, write path.txt
Build "hangs" ~10 minWindows Defender scanning the fresh 70 MB exe ("output file locked → waiting for unlock")Not a hang; clears itself
Build stalls at signingsigntool reaching a timestamp serverCSC_IDENTITY_AUTO_DISCOVERY=false (personal build needs no signing)
Google login keeps droppingForce-killing the app (/F) truncates Chromium's cookie writeAlways close gracefully (WM_CLOSE)
Copied profile logged out despite cookiesCookies encrypted with a key in the profile's Local StateCopy Local State alongside the partition

Build: CSC_IDENTITY_AUTO_DISCOVERY=false npx electron-builder --win portable