Commit Graph
72 Commits
Author SHA1 Message Date
Claude 90b0a04a9c Bump version to 0.9.29 2026-03-30 14:24:33 +00:00
Claude 74df048cef Bump version to 0.9.28 2026-03-30 13:56:49 +00:00
Claude 1390e3d245 Bump version to 0.9.26
https://claude.ai/code/session_01ReZUeR1nrYzJeX7fTqwXMw
2026-03-29 21:36:51 +00:00
Claude 4b494b5eab Fix PDF decompression, add proper noun detection toggle, bump to 0.9.25
- document-scanner.js: Add missing await on _inflateSync() call — FlateDecode
  streams were not being decompressed because the async function was called
  without await, causing decompressed to hold a Promise instead of data
- content.js, storage.js, options.html, options.js: Gate proper noun / capital
  letter detection behind a new detectProperNouns setting (default off); was
  previously always-on causing noisy false-positive warnings on AI thinking
  output and common capitalized words
- Bump version 0.9.23 → 0.9.25

https://claude.ai/code/session_01ReZUeR1nrYzJeX7fTqwXMw
2026-03-29 21:09:49 +00:00
Claude 4fa607d53f Wire up document scanner for file upload interception, bump to 0.9.23
- Inject document-scanner.js into page world via injector.js (as module,
  sets globalThis.DocumentScanner)
- Add FormData interception to fetch hook: scans File/Blob entries through
  DocumentScanner.processUpload(), also substitutes string fields
- Add document-scanner.js to web_accessible_resources in both manifests
- Bump version to 0.9.23 in package.json, manifest.json, manifest.firefox.json

https://claude.ai/code/session_01NNBEPuXMFGWezJb1f958nL
2026-03-29 19:49:04 +00:00
Claude 2719e1be44 revert: restore entire src/ from pre-doc-scanner commit (e4b44a7)
Going back to a known-good baseline. This version had:
- Working reveal mode with CSS Highlight API
- Working substitution (fetch + XHR hooks)
- Smart patterns (names, emails, phones, usernames)
- Encryption/sync (password, TOTP, WebAuthn)
- Multiple identity profiles
- Activity log
- Secret scanner
- Auto-detect PII warnings
- Pre-send PII detection

Kept current manifests (UUID, data_collection_permissions, version).
No renames applied — uses original naming (secretScanning, PPI, etc).
Will re-apply renames and new features from this working base.

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-29 18:45:10 +00:00
Outis 73bc08dad2 Merge pull request #57 from outis1one/claude/read-repo-YMu21
fix: config race condition — use persistent JSON element, bump 0.9.20
2026-03-29 14:25:47 -04:00
Claude 740f692ff1 fix: config not reaching content.js — race condition with script removal
The data-ss-config attribute on the script tag was being removed
(via script.onload) before content.js could read it. Changed approach:
inject config as a separate <script type="application/json" id="ss-config-data">
element that persists in the DOM until content.js reads and removes it.

This eliminates the race condition between script execution and onload
removal. Bump 0.9.20.

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-29 18:25:28 +00:00
Outis 274bb89b48 Merge pull request #56 from outis1one/claude/read-repo-YMu21
fix: restore working injector + add get:decrypted-config handler, bump 0.9.19
2026-03-29 14:07:38 -04:00
Claude b622d5abd4 fix: restore working injector.js + add missing get:decrypted-config handler
Restored injector.js from v2.0.14 (commit 9a11896) which:
- Requests decrypted config from background via get:decrypted-config
  message instead of passing empty arrays when data is encrypted
- Handles the identity.profiles merge correctly for background responses
- Passes ss_settings directly (not checking _ssLocalEncrypted which
  caused settings loss)

Added missing get:decrypted-config message handler to service-worker.js
which returns decrypted mappings, identity, and settings via Storage
module.

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-29 18:06:51 +00:00
Outis 685917f695 Merge pull request #55 from outis1one/claude/read-repo-YMu21
fix: restore working content.js from v2.0.14, bump 0.9.18
2026-03-29 13:56:13 -04:00
Claude 2a1bd88dd6 fix: restore working content.js from v2.0.14 with renames applied
Reverted content.js to commit 9a11896 (the last version where reveal
mode worked) and re-applied only the renames:
- PPI → PII
- secretScanning → autoRedact
- SECRET_PATTERNS → REDACT_PATTERNS
- scanAndRedactSecrets → runAutoRedact
- category: 'secret' → category: 'redact'
- Added customRedactPatterns support to runAutoRedact

This restores:
- Individual word storage in sessionSubstitutions (needed for reveal)
- fetch(Request) handling (not just fetch(url, options))
- Blob/ArrayBuffer/URLSearchParams body conversion
- isInNonChatArea scoping (narrowed version)
- Proper noun detection gated by settings.detectProperNouns
- Mapping values added to configured skip set

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-29 17:55:54 +00:00
Outis a465926170 Merge pull request #54 from outis1one/claude/read-repo-YMu21
fix: narrow isInNonChatArea to stop blocking chat reveal, bump 0.9.17
2026-03-29 13:50:39 -04:00
Claude fe684047a8 fix: isInNonChatArea too aggressive — blocking reveal on chat content
The class-based selectors ([class*="header"], [class*="Header"],
[class*="nav-"], etc.) were matching Claude.ai's chat content area
elements, preventing reveal from running on any response text.

Narrowed to only structural elements: nav, aside, [role="navigation"],
[role="complementary"], [data-sidebar]. Removed HEADER/FOOTER from
SKIP_REVEAL_TAGS since sites use these tags inside chat layouts.

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-29 17:50:25 +00:00
Outis 77c48de5f5 Merge pull request #53 from outis1one/claude/read-repo-YMu21
fix: filter partial name subs from reveal pairs, bump 0.9.16
2026-03-29 13:35:55 -04:00
Claude 433e5a7736 fix: filter out partial name substitutions from reveal pairs
The smart engine records individual name parts ("Ademo"→"John",
"Demo"→"Smith") AND the combined form ("Ademo Demo"→"John Smith")
in sessionSubstitutions. The catch-all in buildRevealPairs was
adding all of them, causing partial replacements that corrupted
the DOM and made the cache oscillate between 4 and 0 pairs.

Fix: skip session entries whose key is a substring of a longer
entry (e.g. "ademo" is part of "ademo demo"). Only the combined
form gets added as a reveal pair.

Also: remove debug logging, improve cache with size tracking.

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-29 17:35:39 +00:00
Outis 476bc72faf Merge pull request #52 from outis1one/claude/read-repo-YMu21
fix: restore missing reveal scoping from unmerged branch, bump 0.9.15
2026-03-29 13:29:10 -04:00
Claude 3ae740216b fix: restore missing isInNonChatArea + SKIP_REVEAL_TAGS from unmerged branch
Root cause found: commit 9a11896 (v2.0.14) added isInNonChatArea()
and expanded SKIP_REVEAL_TAGS with NAV/ASIDE/HEADER/FOOTER, but that
commit was on a branch that was never merged into main. When we started
our work from main, these fixes were missing.

Restored:
- isInNonChatArea() function — prevents reveal from touching sidebars,
  navigation, headers, footers, and other non-chat UI
- SKIP_REVEAL_TAGS expanded with NAV, ASIDE, HEADER, FOOTER
- isInNonChatArea checks added to revealInElement, unrevealInElement,
  and highlightMatches (both element-level and walker-level)

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-29 17:28:46 +00:00
Outis 8eb08dc56e Merge pull request #51 from outis1one/claude/read-repo-YMu21
fix: reveal pairs oscillating, bump 0.9.14
2026-03-29 13:21:02 -04:00
Claude 5e47ed5aae fix: reveal pairs oscillating between populated and empty
Two bugs found:
1. Individual name parts ("Ademo"→"John", "Demo"→"Smith") were added
   as reveal pairs, causing partial replacements that corrupted the DOM.
   The smart engine sends combined forms ("Ademo Demo"→"John Smith")
   which the catch-all already handles. Removed individual name entries
   from buildRevealPairs — only emails, usernames, hostnames, phones
   are matched individually.

2. Cache invalidated on every ss:config-updated (including settings-only
   changes like reveal toggle). Now only invalidates when mappings or
   identity actually change.

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-29 17:20:48 +00:00
Outis 2bcdd00b74 Merge pull request #50 from outis1one/claude/read-repo-YMu21
debug: reveal pairs logging, bump 0.9.13
2026-03-29 13:10:31 -04:00
Claude e9faf1df8e debug: add reveal pairs logging to diagnose empty pairs issue, bump 0.9.13
https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-29 17:10:18 +00:00
Outis 3c794a7c1e Merge pull request #49 from outis1one/claude/read-repo-YMu21
chore: bump version to 0.9.12
2026-03-29 12:53:06 -04:00
Claude 9cb582652f chore: bump version to 0.9.12
https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-29 16:52:34 +00:00
Outis 862ddc2e62 Merge pull request #48 from outis1one/claude/read-repo-YMu21
fix: reveal mode not working when already ON at page load, bump 0.9.11
2026-03-29 12:49:56 -04:00
Claude d494ebaf8c fix: reveal mode not working when already ON at page load
If reveal mode was saved as ON in settings, the page loaded with
revealMode=true and prevRevealMode=true. The checkRevealToggle
function only fires on transitions (off→on or on→off), so the
reveal interval was never started. Added initialization check
that starts the reveal interval immediately if revealMode is
already true at page load.

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-29 16:49:42 +00:00
Outis c0e1254d62 Merge pull request #47 from outis1one/claude/read-repo-YMu21
fix: new extension UUID, bump 0.9.10
2026-03-29 00:06:05 -04:00
Claude 65d60cfbe0 fix: new unique extension UUID to avoid duplicate ID on AMO, bump 0.9.10
https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-29 04:05:54 +00:00
Outis 11b749c5fd Merge pull request #46 from outis1one/claude/read-repo-YMu21
fix: data_collection_permissions required must be array, bump 0.9.9
2026-03-29 00:02:42 -04:00
Claude 281e1a1d08 fix: data_collection_permissions.required must be array ["none"]
Per Mozilla docs, required is an array of data type strings.
For extensions that collect no data: ["none"].
Source: https://extensionworkshop.com/documentation/develop/firefox-builtin-data-consent/

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-29 04:02:31 +00:00
Outis 3026b13f49 Merge pull request #45 from outis1one/claude/read-repo-YMu21
fix: correct data_collection_permissions format, bump 0.9.8
2026-03-28 23:59:40 -04:00
Claude 75f1dd7aca fix: data_collection_permissions requires 'required' property, bump min version to 140
AMO expects { required: false } not { collect_user_data: false }.
Bumped strict_min_version to 140.0 (when data_collection_permissions
was introduced). Version 0.9.8.

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-29 03:59:29 +00:00
Outis bde4f9bb35 Merge pull request #44 from outis1one/claude/read-repo-YMu21
fix: correct data_collection_permissions location, bump 0.9.7
2026-03-28 23:57:46 -04:00
Claude e759b5f1b4 fix: move data_collection_permissions under browser_specific_settings.gecko
AMO requires the property at browser_specific_settings/gecko/data_collection_permissions,
not at the manifest root. Bump 0.9.7.

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-29 03:57:34 +00:00
Outis 9331fa8d5e Merge pull request #43 from outis1one/claude/read-repo-YMu21
fix: AMO validation — add data_collection_permissions, bump 0.9.6
2026-03-28 23:41:55 -04:00
Claude 85c71631eb fix: add data_collection_permissions for AMO validation, bump 0.9.6
Mozilla now requires data_collection_permissions in the manifest.
Set collect_user_data: false (Silent Send collects no user data).

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-29 03:41:44 +00:00
Outis ed887c9d78 Merge pull request #42 from outis1one/claude/read-repo-YMu21
chore: bump version to 0.9.5
2026-03-28 21:27:03 -04:00
Claude 072511eb7a chore: bump version to 0.9.5
https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-29 01:26:52 +00:00
Outis d484f21cf6 Merge pull request #41 from outis1one/claude/read-repo-YMu21
v0.9.4: Reveal mode fix, MIT license, test suite CSP fix
2026-03-28 21:21:50 -04:00
Claude d8784e8f75 fix: reveal mode broken when encryption enabled — encrypted settings blob passed to content script
When at-rest encryption is enabled, storage.onChanged fires with
encrypted blobs for ss_settings. The injector was passing this
encrypted blob directly as settings to the page world content script,
overwriting real settings with { _ssLocalEncrypted: true, data: ... }.

This broke reveal mode, highlights, and any setting toggle because
the content script's settings object became the encrypted blob.

Fix: skip encrypted settings blobs in injector.js (same check already
existed for mappings and identity). The background's settings:updated
message already sends decrypted settings correctly.

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-29 00:53:17 +00:00
Outis b5dfae814e Merge pull request #40 from outis1one/claude/read-repo-YMu21
fix: move test suite JS to external file for Firefox CSP, bump 0.9.3
2026-03-28 14:41:26 -04:00
Claude d3646fbdf3 fix: move test suite JS to external file for Firefox CSP, bump 0.9.3
Firefox extension CSP blocks inline <script> tags. Moved all test
code to test-suite.js (loaded via src attribute). Build script updated
to copy both files.

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-28 18:37:58 +00:00
Outis 9e0588e4e3 Merge pull request #39 from outis1one/claude/read-repo-YMu21
Claude/read repo y mu21
2026-03-28 14:21:07 -04:00
Claude a2b598236c chore: bump version to 0.9.2
https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-28 18:20:21 +00:00
Outis 528fba7f6e Merge pull request #35 from outis1one/claude/read-repo-wA3y1
Claude/read repo w a3y1
2026-03-28 12:31:12 -04:00
Claude 4b478c71bd chore: set version to 0.9.0 for pre-release testing
https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-28 15:17:20 +00:00
Claude 9da922f662 chore: set version to 0.9.0 (beta)
Not a fully tested release. Marking as beta until all services
are verified and edge cases are resolved.

https://claude.ai/code/session_01SWSwDfMVij53bCTNSCLMwn
2026-03-28 12:00:10 +00:00
Outis 7576043542 Merge pull request #34 from outis1one/claude/read-repo-wA3y1
Claude/read repo w a3y1
2026-03-27 19:28:44 -04:00
Claude fa36a1f977 feat: add Copilot + Edge support, update README
Added copilot.microsoft.com to host_permissions, content_scripts
matches, and BUILTIN_URL_PATTERNS in both Chrome and Firefox manifests
plus the service worker.

Updated README:
- Added Copilot to supported services table
- Added Edge and Brave to browser list
- Added note about desktop apps (can't intercept, use web version)
- Removed old duplicate browser note

https://claude.ai/code/session_01SWSwDfMVij53bCTNSCLMwn
2026-03-27 23:15:03 +00:00
Outis 893ecce6d4 Merge pull request #31 from outis1one/claude/read-repo-YMu21
feat: add AI services and developer/support sites to built-in domains
2026-03-27 17:26:31 -04:00