MobiDevTools

Changelog

4.1 — 2026-10

Added

Improved

Tests

4.0 — 2026-10

A major release. The panel's internals were rebuilt around three new foundations: - page hooks (page-hooks.js) that read the page's console, errors and listeners directly - network capture in the background (webRequest + filterResponseData) - a closed shadow root for the whole UI

Every change below was verified in Firefox 158 with an automated test suite (143 checks) on real pages: plain, strict CSP, CSP without eval, React 18, Vue 3 and Vue 2.

Fixed — reported in reviews

Review Problem Fix
★★ "call to eval() blocked by CSP" (Oct 2026) The REPL failed on every site whose CSP forbids eval. On sites that also forbid inline scripts it silently did nothing. New REPL engine. It picks the execution mode from the page's CSP: page context with eval, page context without eval, or an isolated context with full DOM/global access when the CSP blocks scripts added by extensions. Every expression now returns a result on every page.
★★★★★ "there are many bugs… sometimes it crashes or doesn't appear" (Oct 2026) Page console.* calls were never captured. 3.x patched the sandbox's own console, not the page's. Fatal page errors were only partly caught. page-hooks.js hooks the page's real console with exportFunction (works under any CSP). Captures console.*, uncaught errors, unhandled rejections, failed resources and CSP violations, from the first line of the page after a reload. One malformed message can no longer break the console.
★★★ "Selecting any css or js file shows me blank space" A contain: strict rule clipped the source viewer, and opening a snippet left the editor unscrollable. Virtualised source viewer: big and minified files open instantly. Containment bug and snippet style leak removed.
★★★ "scrolling… treats the scroll action as tap" File, snippet and workspace rows opened on touchend, which also fires after a scroll gesture. Rows react to taps only. A scroll gesture never activates anything.
★★★ "The network tab is useless. It is empty…" / ★ "Addon is closed when refreshing the page to measure network data" Only fetch/XHR made after opening appeared. Script, CSS, image and document requests never showed. Everything was lost on reload. The background records every request of every tab in a ring buffer. The Network panel shows what the page loaded before it was opened, survives reloads ("Preserve log" option), and adds payload, response body, preview, timings, cURL/fetch export and advanced filters.
★ "Doesnt really help when it gets closed on redirect/reload. The console is empty…" The panel re-opens on reload and navigation. Console output is captured from the start, and Preserve log keeps the previous page's messages.
★★★★ "Could it be possible to edit the local storage?" localStorage, sessionStorage and cookies are editable (add / edit / rename / delete) with JSON preview. IndexedDB records can be browsed.
★★★★★ "PLEASE incorporate a CSS-GRID viewer!!!!" Elements ▸ Layout: grid/flex properties, list of all grid and flex containers of the page, and on-page overlays with numbered grid lines and gaps.
★★★★ "all the button icons of dev tools are broken" (on Facebook) The page's CSS styled the panel. The UI lives in a closed shadow root with all: initial. Page CSS can no longer reach it.
★★★★ "theme… only effective under the current domain name" Settings, snippets and the assistant state lived in each site's localStorage. Everything is in extension storage and shared by all sites. Old per-site keys are migrated once and removed from the pages.
★★★★★ "would be the best if Download Folder exists" Sources ▸ ⬇ .zip downloads the page's HTML, scripts, stylesheets, inline code and a DOM snapshot.

Fixed — found during the 4.0 audit

Added

Performance

Permissions


3.7 and earlier

See the version history on addons.mozilla.org and SourceForge.