fix: date false-positive, partial-word highlights, cross-browser sync
Bug fixes: - Date (possible DOB) pattern now requires context words (born, birthday, dob, etc.) before firing — prevents spurious warnings on page-load API calls that happen to contain ISO dates in conversation history. - Highlight regex now uses word boundaries (\b) so short substitute values (e.g. "aud") no longer match inside unrelated words like "Claude". - Both TreeWalkers in content.js now skip the extension's own UI elements (.ss-autodetect-warning, .ss-presend-warning, .ss-reveal-badge) to prevent the highlight API from marking text in the extension's banners. Settings sync: - New src/lib/sync.js: exportSyncCode / importSyncCode (base64 JSON) for manual copy-paste across any browser combination. Newest lastModified timestamp wins; force flag available to override. - browser.storage.sync support: when "Browser account sync" is enabled the extension automatically pushes/pulls via Firefox Sync or Chrome account, chunked to stay within per-item quota limits. - storage.js now writes ss_lastModified on every save so conflict resolution has an accurate timestamp. - service-worker.js listens for both local and sync storage changes to keep all copies in sync. - New "Sync Between Browsers" section in options.html with Generate/Copy/ Import Sync Code UI and the browser sync toggle. https://claude.ai/code/session_01TKpSR9M8JgHLXCp5CeDsQP
This commit is contained in:
+4
-2
@@ -25,6 +25,7 @@ const DEFAULT_SETTINGS = {
|
||||
maxLogEntries: 200,
|
||||
customDomains: [],
|
||||
categories: ['name', 'email', 'phone', 'address', 'ssn', 'dob', 'domain', 'general'],
|
||||
browserSync: false,
|
||||
};
|
||||
|
||||
const Storage = {
|
||||
@@ -36,7 +37,7 @@ const Storage = {
|
||||
},
|
||||
|
||||
async saveMappings(mappings) {
|
||||
await api.storage.local.set({ [KEYS.MAPPINGS]: mappings });
|
||||
await api.storage.local.set({ [KEYS.MAPPINGS]: mappings, ss_lastModified: Date.now() });
|
||||
},
|
||||
|
||||
async addMapping(mapping) {
|
||||
@@ -96,7 +97,7 @@ const Storage = {
|
||||
},
|
||||
|
||||
async saveProfiles(profiles) {
|
||||
await api.storage.local.set({ [KEYS.IDENTITY]: { profiles } });
|
||||
await api.storage.local.set({ [KEYS.IDENTITY]: { profiles }, ss_lastModified: Date.now() });
|
||||
},
|
||||
|
||||
async addProfile(name) {
|
||||
@@ -210,6 +211,7 @@ const Storage = {
|
||||
const current = await this.getSettings();
|
||||
await api.storage.local.set({
|
||||
[KEYS.SETTINGS]: { ...current, ...settings },
|
||||
ss_lastModified: Date.now(),
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user