Commit Graph
176 Commits
Author SHA1 Message Date
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
Claude 002a67ba95 license: switch from BSL-1.1 to MIT
MIT is true open source (OSI-approved) and provides the same liability
protection through its warranty disclaimer. The strengthened disclaimer
covering silent third-party failures, regulatory non-compliance, and
user verification responsibility is retained in the LICENSE file.

BSL restricted commercial use but didn't add legal protection — the
liability limitation is what protects against lawsuits, and that works
the same under MIT.

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-28 21:09:14 +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
Claude ed9419f04b 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
2026-03-28 18:13:17 +00:00
Claude 9ecd532a71 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
2026-03-28 17:07:45 +00:00
Outis 75e39f2d69 Merge pull request #38 from outis1one/claude/read-repo-YMu21
v0.9.0: Security hardening, new sites, custom redact patterns, test suite
2026-03-28 12:56:20 -04:00
Outis 9971a86098 Merge pull request #37 from outis1one/claude/read-repo-wA3y1
Claude/read repo w a3y1
2026-03-28 12:42:16 -04:00
Claude 7c3c2ba3ae merge: integrate claude/read-repo-YMu21 branch
Merged changes from the other session:
- Ko-fi support link in options footer
- PPI → PII renaming across codebase
- Legal/licensing updates (stronger disclaimer, non-commercial only)
- Custom secret/auto-redact patterns
- Internal refactoring of secret scanner to auto-redact naming
- Custom domains in popup Options tab
- Additional AI services (Perplexity, DeepSeek, HuggingChat, Poe)
- Developer sites (GitHub, GitLab, Reddit, StackOverflow, Pastebin)
- Dynamic content script registration for custom domains

Resolved conflicts in options.html and popup.html (kept newer
"Auto Redact" naming with custom patterns description).

https://claude.ai/code/session_01SWSwDfMVij53bCTNSCLMwn
2026-03-28 16:39:27 +00:00
Claude ccf69a91a7 fix: duplicate optAutoRedact ID + hardcoded log limit + add test suite
Bug 1: popup.html had duplicate id="optAutoRedact" on both the
Auto Redact toggle and Auto-redact Detected PII toggle. The second
overwrote the first, making the Auto Redact setting uncontrollable.
Fixed by giving the second toggle id="optAutoRedactDetected".

Bug 2: injector.js hardcoded activity log trim to 100, ignoring the
user's maxLogEntries setting. Now reads the setting from storage.

Added test-suite.html with 35+ tests covering storage, encryption,
sync (encryption-mandatory flows), auto-redact (built-in + custom
patterns), substitution engine, smart patterns, and auto-detect.

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-28 16:36:57 +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 5ce639f40f docs: update support section wording
https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-28 16:28:05 +00:00
Claude ad3b8718fa fix: PPI → PII across entire codebase + add Ko-fi support section
PII (Personally Identifiable Information) is the correct standard term.
Renamed all instances — comments, UI labels, variable names, function
names (autoDetectPPI → autoDetectPII, scanInputForPPI → scanInputForPII,
ppiWarnings → piiWarnings), CSS comments, README, and options page.

Added Ko-fi donation section to README and Options footer. Tone: no
obligation, no warranty, no influence on updates — just appreciation.

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-28 16:21:21 +00:00
Claude 22205c2590 legal: remove commercial licensing, non-commercial use only
Commercial use is no longer permitted under the license. The BSL-1.1
still converts to MIT on March 26, 2030. All disclaimer and liability
language retained — applies to all users regardless.

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-28 15:59:20 +00:00
Claude f237139e80 legal: strengthen disclaimer, liability, and warranty language
- LICENSE: expanded warranty disclaimer covering silent failures from
  third-party changes, coverage gaps, regulatory non-compliance, and
  commercial licensee expectations. Explicit limitation of liability
  for privacy breaches, identity theft, and regulatory penalties.
- PRIVACY.md: added limitations section covering third-party changes,
  coverage gaps, user responsibility, and compliance disclaimer.
- README.md: detailed disclaimer with specific scenarios — site API
  changes, coverage gaps, user verification responsibility, and
  commercial license scope.
- Popup: expanded footer warning about third-party changes and user
  responsibility.
- Options page: added footer disclaimer with LICENSE link, updated
  version to 0.9.0.

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-28 15:30:45 +00: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 33d1542d12 refactor: rename all secret scanner internals to auto-redact
Full internal rename since still in testing — no backwards compat needed:
- secret-scanner.js → auto-redact.js
- SecretScanner → AutoRedact
- SECRET_PATTERNS → REDACT_PATTERNS
- secretScanning → autoRedact (setting key)
- customSecretPatterns → customRedactPatterns (setting key)
- scanAndRedactSecrets → runAutoRedact (function)
- All DOM ids, CSS classes, and variable names updated
- category: 'secret' → category: 'redact'
- getOrgSecretPatterns → getOrgRedactPatterns

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-28 14:59:59 +00:00
Claude 7ec058f1ea feat: custom secret patterns + rename Secret Scanner → Auto Redact
Users can now define custom regex patterns for proprietary token formats,
internal URLs with keys, or any secret the built-in scanner doesn't cover.
Patterns are added/toggled/removed from the Options page and apply to both
the live interception (content.js) and the Test tab (popup.js).

Renamed all user-facing "Secret scanning" labels to "Auto Redact" across
popup and options. Internal variable names (secretScanning, SecretScanner)
kept for backwards compatibility with stored settings.

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-28 14:32:57 +00:00
Claude eb2e946673 feat: bump-version.sh v2 — preview, confirm, undo, profiles, help
Complete rewrite with safety features:
- Version profiles: groups files by version, only updates the current
  version (ignores unrelated X.Y.Z strings in the project)
- Preview: shows exact line-by-line diff before applying changes
- Confirmation: asks y/N before modifying files (--yes to skip)
- Undo: saves rollback info, ./bump-version.sh undo to revert
- --help: full usage documentation with examples
- Only matches version DECLARATIONS (requires keyword context like
  "version":, version=, VERSION=, v prefix) — won't match random
  numbers like dates, IPs, or port numbers

https://claude.ai/code/session_01SWSwDfMVij53bCTNSCLMwn
2026-03-28 12:43:32 +00:00
Claude 863e637642 feat: make bump-version.sh truly project-agnostic
Now supports all common version patterns:
- JSON ("version": "X.Y.Z") — Node, extensions, composer
- TOML (version = "X.Y.Z") — Rust, Python pyproject.toml
- YAML (version: X.Y.Z) — Helm, GitHub Actions
- Python (__version__ = "X.Y.Z") — packages
- PHP (Version: X.Y.Z) — WordPress plugins/themes
- Shell (VERSION="X.Y.Z") — scripts
- HTML (vX.Y.Z) — display footers
- XML — .csproj, plist

Skips node_modules, dist, build, .git, __pycache__, venv, vendor.
Skips itself to avoid matching usage examples.
Skips files over 500KB to avoid scanning binaries.

https://claude.ai/code/session_01SWSwDfMVij53bCTNSCLMwn
2026-03-28 12:30:13 +00:00
Claude e8746babe4 feat: add version bump script (bump-version.sh)
Agnostic version bump tool that finds all version strings in the
project and updates them together.

Usage:
  ./bump-version.sh          # interactive menu
  ./bump-version.sh patch    # 0.9.0 → 0.9.1
  ./bump-version.sh minor    # 0.9.0 → 0.10.0
  ./bump-version.sh major    # 0.9.0 → 1.0.0
  ./bump-version.sh 1.2.3    # set to specific version

Finds versions in JSON files ("version": "X.Y.Z") and HTML/JS
files (vX.Y.Z). Excludes node_modules and dist directories.

https://claude.ai/code/session_01SWSwDfMVij53bCTNSCLMwn
2026-03-28 12:23:31 +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
Claude b0fce541f3 chore: rename 'Secret Scanner' to 'Auto-redact' in all UI
'Secret Scanner' described what it looks for. 'Auto-redact' describes
what it does — clearer for users. Renamed in popup, options page,
org section, and README. Internal code (secret-scanner.js) unchanged
to avoid breaking references.

https://claude.ai/code/session_01SWSwDfMVij53bCTNSCLMwn
2026-03-27 22:49:43 +00:00
Outis ba58c26d6c Merge pull request #33 from outis1one/claude/read-repo-wA3y1
fix: Options tab broken — removed footer link crashed init
2026-03-27 18:26:01 -04:00
Claude a9c5f9b43f fix: Options tab broken — removed footer link crashed init
Removing the footer <a id="btnOptions"> made $('#btnOptions') return
null, causing addEventListener to throw. This killed the rest of
initUnlockedUI(), preventing the Options tab and all subsequent
handlers from being wired up.

https://claude.ai/code/session_01SWSwDfMVij53bCTNSCLMwn
2026-03-27 22:25:15 +00:00
Outis 9bd4c45de1 Merge pull request #32 from outis1one/claude/read-repo-YMu21
feat: frictionless custom domain management
2026-03-27 17:38:15 -04:00
Claude c8673d5b1c feat: frictionless custom domain management
- Edit domains inline (pencil icon, saves on Enter)
- Suggested domains: clickable chips for popular AI/dev/collab sites
- Bulk add: paste multiple domains at once (one per line or comma-separated)
- Popup domain management: add/remove/suggestions directly from the popup
- Permission revoke on removal + suggested list updates dynamically

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-27 21:32:31 +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
Claude e6e9894d99 feat: add AI services and developer/support sites to built-in domains
New AI sites: Perplexity, Copilot, DeepSeek, HuggingChat, Poe
Developer/support: GitHub, GitLab, Reddit (www + old), Stack Overflow, Pastebin

The existing interception is service-agnostic — it scans all JSON strings
in POST/PUT/PATCH requests through the 4-stage substitution pipeline.
No site-specific handling needed; all sites use the same method.

https://claude.ai/code/session_01KF4i7Ra7zCEDskxDBaNtcT
2026-03-27 21:12:13 +00:00
Outis adf5a8ea33 Merge pull request #30 from outis1one/claude/read-repo-wA3y1
Claude/read repo w a3y1
2026-03-27 17:07:25 -04:00
Claude 9a1189659b fix: reveal/highlight scoped to chat area only + remove footer link — v2.0.14
Reveal mode and highlights were replacing text in sidebars, navigation,
headers, repo names, and other non-chat UI elements. Now skips:
- <nav>, <aside>, <header>, <footer> elements
- Elements with role="navigation", role="banner", role="complementary"
- Elements with class names containing sidebar, nav, menu, header

Added isInNonChatArea() check to all five code paths:
- revealInElement, unrevealInElement, highlightMatches
- MutationObserver addedNodes and characterData handlers

Also:
- Removed footer Options link (redundant with 5th Options tab)
- Updated README: ChatGPT marked as Tested

https://claude.ai/code/session_01SWSwDfMVij53bCTNSCLMwn
2026-03-27 21:05:32 +00:00
Claude eec0d52681 fix: PPI warning accept/ignore buttons — v2.0.14
Accept (+) button:
- Was reading raw storage (getStorageData) which returns encrypted
  blobs when encryption is enabled, silently failing to add mappings
- Fixed: adds directly to the local mappings array and persists via
  setStorageData (storage bridge handles encryption transparently)

Auto-detect false positives:
- Was only checking identity values, not explicit mappings — values
  already in the mappings table still got flagged as unconfigured PPI
- Fixed: now adds all mapping real/substitute values to the skip set

Ignore button:
- Changed from plain text link to grey pill button for better UX
- Still persists permanently via ss_ignored_ppi in storage

https://claude.ai/code/session_01SWSwDfMVij53bCTNSCLMwn
2026-03-27 20:53:53 +00:00
Outis eb11d03db9 Merge pull request #29 from outis1one/claude/read-repo-wA3y1
Claude/read repo w a3y1
2026-03-27 13:10:53 -04:00