78 lines
No EOL
2.1 KiB
Markdown
78 lines
No EOL
2.1 KiB
Markdown
# Minimal Implementation Steps
|
|
|
|
## What You Need to Do:
|
|
|
|
### 1. Add the Enhanced Extractor File
|
|
- Copy `enhanced_thread_extractor.js` to your extension folder (same directory as `content.js`)
|
|
|
|
### 2. Update `manifest.json`
|
|
Add the new file to web_accessible_resources:
|
|
|
|
```json
|
|
"web_accessible_resources": [
|
|
{
|
|
"resources": ["email_parser.js", "enhanced_thread_extractor.js"],
|
|
"matches": ["https://mail.google.com/*"]
|
|
}
|
|
]
|
|
```
|
|
|
|
### 3. Update `content.js`
|
|
Add this at the TOP of content.js (around line 10, after the color definitions):
|
|
|
|
```javascript
|
|
// Load enhanced thread extractor
|
|
const script = document.createElement('script');
|
|
script.src = chrome.runtime.getURL('enhanced_thread_extractor.js');
|
|
script.onload = function() {
|
|
console.log('Enhanced thread extractor loaded');
|
|
};
|
|
(document.head || document.documentElement).appendChild(script);
|
|
```
|
|
|
|
### 4. Comment Out Old Functions
|
|
In content.js, comment out or remove these functions (lines ~1000-1100):
|
|
- `function extractThreadId(context = 'current')`
|
|
- `function getSelectedThreadIds()`
|
|
|
|
Just add `/*` before the function and `*/` after it:
|
|
|
|
```javascript
|
|
/*
|
|
function extractThreadId(context = 'current') {
|
|
// ... existing code ...
|
|
}
|
|
*/
|
|
|
|
/*
|
|
function getSelectedThreadIds() {
|
|
return extractThreadId('selected');
|
|
}
|
|
*/
|
|
```
|
|
|
|
### 5. Reload Extension
|
|
1. Go to `chrome://extensions/`
|
|
2. Find your extension
|
|
3. Click the refresh icon
|
|
4. Test on Gmail
|
|
|
|
## That's It! 🎉
|
|
|
|
The enhanced extractor provides the same function names (`extractThreadId` and `getSelectedThreadIds`), so your existing code will automatically use the enhanced versions.
|
|
|
|
## What You Get:
|
|
- ✅ 7+ extraction methods (vs current 4)
|
|
- ✅ Automatic fallbacks
|
|
- ✅ Better logging
|
|
- ✅ Session history tracking
|
|
- ✅ No breaking changes
|
|
|
|
## Test It:
|
|
1. Open Gmail
|
|
2. Open DevTools Console (F12)
|
|
3. Try selecting threads in inbox - you'll see detailed extraction logs
|
|
4. Try opening a thread - you'll see which method found the ID
|
|
|
|
## If Something Goes Wrong:
|
|
Simply uncomment the old functions and remove the script injection - takes 30 seconds to rollback. |