From 9ecd532a7176aab68611d0e0e05a8552b1824d0e Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 28 Mar 2026 17:07:45 +0000 Subject: [PATCH 1/3] fix: include test-suite.html in build output build.sh was not copying test-suite.html to dist/, causing "File not found" when opening it as an extension page. https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT --- build.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/build.sh b/build.sh index cd6681e..d300bff 100755 --- a/build.sh +++ b/build.sh @@ -32,6 +32,7 @@ build() { # Copy other root files cp README.md "$out/" 2>/dev/null || true + cp test-suite.html "$out/" 2>/dev/null || true echo " → $out/ ready" } From ed9419f04b085d53def419012193efc79cb9b678 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 28 Mar 2026 18:13:17 +0000 Subject: [PATCH 2/3] fix: test suite CSP compatibility for Firefox extension pages Replace inline onclick handlers with addEventListener (Firefox extension CSP blocks inline event handlers). Show loading state and test count on page load. https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT --- test-suite.html | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/test-suite.html b/test-suite.html index 7654017..712b2f3 100644 --- a/test-suite.html +++ b/test-suite.html @@ -29,8 +29,8 @@ Load this page as an extension page (or inject via dev console on the Options page).
Tests exercise sync, encryption, storage, auto-redact, and domain management.

- - + +
@@ -485,7 +485,8 @@ // RUN ALL // ============================================================ - window.runAllTests = async function() { + async function runAllTests() { + document.getElementById('results').innerHTML = '

Running tests...

'; const outcomes = []; for (const t of results) { try { @@ -497,10 +498,18 @@ } } renderResults(outcomes); - }; + } - // Auto-register tests on load + // Wire up buttons (CSP blocks inline onclick) + document.getElementById('btnRunTests').addEventListener('click', runAllTests); + document.getElementById('btnClear').addEventListener('click', () => { + document.getElementById('results').innerHTML = ''; + document.getElementById('summary').textContent = ''; + }); + + // Show ready state console.log(`[Silent Send Tests] ${results.length} tests registered. Click "Run All Tests" to start.`); + document.getElementById('results').innerHTML = `

${results.length} tests loaded. Click "Run All Tests" to start.

`; From a2b598236c8675070e6ee7ae92be4b9a0963c537 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 28 Mar 2026 18:20:21 +0000 Subject: [PATCH 3/3] chore: bump version to 0.9.2 https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT --- manifest.firefox.json | 2 +- manifest.json | 2 +- package.json | 2 +- src/options/options.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/manifest.firefox.json b/manifest.firefox.json index 24da4cd..7495a5d 100644 --- a/manifest.firefox.json +++ b/manifest.firefox.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "Silent Send", - "version": "0.9.0", + "version": "0.9.2", "description": "Intercepts personal info and substitutes it with user-defined replacements before sending to AI services.", "browser_specific_settings": { "gecko": { diff --git a/manifest.json b/manifest.json index efbf558..66c211d 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "Silent Send", - "version": "0.9.0", + "version": "0.9.2", "description": "Intercepts personal info and substitutes it with user-defined replacements before sending to AI services.", "permissions": [ "storage", diff --git a/package.json b/package.json index 97a2290..fcc67be 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "silent-send", - "version": "0.9.0", + "version": "0.9.2", "private": true, "license": "BSL-1.1", "description": "Browser extension that substitutes personal data before sending to AI services", diff --git a/src/options/options.html b/src/options/options.html index 226bada..588ae06 100644 --- a/src/options/options.html +++ b/src/options/options.html @@ -629,7 +629,7 @@