generated from coulomb/repo-seed
Switch to HTTP Basic Auth and improve PDF detection
- Replace token-based auth with HTTP Basic Authentication per Binect API v1 spec - Improve PDF detection: check current tab first, then background service, fallback to recent downloads - Add password visibility toggle in login form - Add extensive debug logging throughout for troubleshooting - Update manifest with alarms, activeTab permissions and <all_urls> host permission - Add documentation files and development helper scripts - Add Binect API specs for reference Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
229
QUICK_TEST_GUIDE.md
Normal file
229
QUICK_TEST_GUIDE.md
Normal file
@@ -0,0 +1,229 @@
|
||||
# Quick Test Guide - BinectChrome
|
||||
|
||||
## 1. Setup (2 minutes)
|
||||
|
||||
```bash
|
||||
# Rebuild extension
|
||||
npm run build
|
||||
|
||||
# Load in Chrome
|
||||
# 1. Open chrome://extensions/
|
||||
# 2. Enable "Developer mode"
|
||||
# 3. Click "Reload" on BinectChrome (or "Load unpacked" if first time, select dist/)
|
||||
# 4. Accept new permissions when prompted
|
||||
```
|
||||
|
||||
## 2. Open Debug Consoles
|
||||
|
||||
**Service Worker:**
|
||||
- `chrome://extensions/` → Click "service worker" under BinectChrome
|
||||
- Keep this window open
|
||||
|
||||
**Popup (optional):**
|
||||
- Click extension icon → Right-click → "Inspect"
|
||||
|
||||
## 3. Test PDF Viewer Detection (RECOMMENDED - Most Reliable)
|
||||
|
||||
**This is the easiest way to test the API integration!**
|
||||
|
||||
1. **Open a test PDF in Chrome:**
|
||||
```
|
||||
https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf
|
||||
```
|
||||
Just paste the URL in the address bar and press Enter
|
||||
|
||||
2. **Click the extension icon**
|
||||
- Should detect the PDF immediately
|
||||
- Shows filename, domain, "Send PDF to Binect" button
|
||||
|
||||
3. **Sign in and send:**
|
||||
- Enter your Binect credentials
|
||||
- Click "Send PDF to Binect"
|
||||
- Watch for "Uploading..." → "Success!"
|
||||
|
||||
**Expected Popup Logs:**
|
||||
```
|
||||
[Popup] Loading last PDF...
|
||||
[Popup] Found PDF in current tab: dummy.pdf
|
||||
```
|
||||
|
||||
**✅ This method always works - no service worker timing issues!**
|
||||
|
||||
## 4. Test Download Detection (May Need Fallback)
|
||||
|
||||
**Method 1: Right-click → Save**
|
||||
1. Right-click this link: https://www.africau.edu/images/default/sample.pdf
|
||||
2. Select "Save link as..."
|
||||
3. Save to Downloads
|
||||
4. Watch service worker console for logs
|
||||
|
||||
**Method 2: Direct download**
|
||||
1. Paste URL: https://www.adobe.com/support/products/enterprise/knowledgecenter/media/c4611_sample_explain.pdf
|
||||
2. Chrome starts download
|
||||
3. Watch service worker console
|
||||
|
||||
**Expected Service Worker Logs (if working):**
|
||||
```
|
||||
[PDF Detector] Download changed: {...}
|
||||
[PDF Detector] Download complete, searching for item: X
|
||||
[PDF Detector] PDF detected!
|
||||
[Service Worker] PDF DETECTED CALLBACK: sample.pdf
|
||||
[Service Worker] Badge updated, PDF stored in memory
|
||||
```
|
||||
|
||||
**If badge shows "1":** Download detection worked! ✅
|
||||
|
||||
**If no badge:** Fallback will still work! Continue...
|
||||
|
||||
5. **Click extension icon**
|
||||
- Even if service worker missed it, popup checks recent downloads
|
||||
- PDF should appear
|
||||
|
||||
**Expected Popup Logs (fallback):**
|
||||
```
|
||||
[Popup] Background has no PDF, checking recent downloads as fallback...
|
||||
[Popup] Checked recent downloads: X items
|
||||
[Popup] Found recent PDF: sample.pdf
|
||||
```
|
||||
|
||||
## 5. Test Binect API Integration
|
||||
|
||||
**Prerequisites:**
|
||||
- Have Binect credentials ready
|
||||
- PDF is detected (from viewer OR download)
|
||||
|
||||
**Steps:**
|
||||
1. Click extension icon
|
||||
2. If not signed in:
|
||||
- Enter username and password
|
||||
- Click "Sign In"
|
||||
- Should show main view
|
||||
3. PDF details should be visible
|
||||
4. Click "Send PDF to Binect"
|
||||
5. Wait for upload
|
||||
|
||||
**Expected Results:**
|
||||
```
|
||||
Status: Uploading...
|
||||
→ Success! Document ID: [id]
|
||||
```
|
||||
|
||||
**Check Tracking:**
|
||||
- Click "?" button in popup
|
||||
- Opens tracking page
|
||||
- Should show the transfer with success status
|
||||
|
||||
## 6. Test Error Handling
|
||||
|
||||
**Invalid Credentials:**
|
||||
1. Sign out (if signed in)
|
||||
2. Enter wrong username/password
|
||||
3. Click "Sign In"
|
||||
4. Should show error: "Invalid credentials"
|
||||
|
||||
**Network Error:**
|
||||
1. Disconnect from internet
|
||||
2. Try to authenticate or send PDF
|
||||
3. Should show network error
|
||||
|
||||
## Quick Debug Checklist
|
||||
|
||||
**If PDF viewer detection doesn't work:**
|
||||
- [ ] Is the URL actually a PDF? (ends with .pdf)
|
||||
- [ ] Check popup console for error logs
|
||||
- [ ] Try refreshing the PDF tab
|
||||
|
||||
**If download detection doesn't work:**
|
||||
- [ ] Check service worker console for `[PDF Detector]` logs
|
||||
- [ ] Look for "Listener registered successfully"
|
||||
- [ ] Try downloading again while service worker console is open
|
||||
- [ ] Open popup - fallback should still find it
|
||||
|
||||
**If API upload fails:**
|
||||
- [ ] Check credentials are correct
|
||||
- [ ] Verify PDF URL is accessible (try opening in new tab)
|
||||
- [ ] Check popup console for detailed error
|
||||
- [ ] Look at Network tab in popup DevTools for API calls
|
||||
|
||||
## Expected Console Output Summary
|
||||
|
||||
### Service Worker (when working):
|
||||
```
|
||||
[Service Worker] ===== BinectChrome service worker loaded =====
|
||||
[Service Worker] Initializing PDF detection...
|
||||
[PDF Detector] Starting PDF detection, registering download listener
|
||||
[PDF Detector] Listener registered successfully
|
||||
|
||||
# On download:
|
||||
[PDF Detector] Download changed: {id: X, ...}
|
||||
[PDF Detector] PDF detected!
|
||||
[Service Worker] PDF DETECTED CALLBACK: filename.pdf
|
||||
[Service Worker] Badge updated, PDF stored in memory
|
||||
```
|
||||
|
||||
### Popup (viewer detection):
|
||||
```
|
||||
[Popup] Loading last PDF...
|
||||
[Popup] Found PDF in current tab: document.pdf
|
||||
```
|
||||
|
||||
### Popup (fallback):
|
||||
```
|
||||
[Popup] Loading last PDF...
|
||||
[Popup] No PDF in current tab, checking background script...
|
||||
[Service Worker] Returning last PDF: none
|
||||
[Popup] Background has no PDF, checking recent downloads as fallback...
|
||||
[Popup] Found recent PDF: document.pdf
|
||||
```
|
||||
|
||||
## Common Questions
|
||||
|
||||
**Q: Badge doesn't show but popup finds the PDF?**
|
||||
A: Normal! Service worker may have been asleep. Fallback handled it.
|
||||
|
||||
**Q: PDF disappears after a few minutes?**
|
||||
A: Service worker memory is cleared when it sleeps. Fallback will re-fetch it.
|
||||
|
||||
**Q: Which detection method should I use?**
|
||||
A: **PDF viewer detection** is more reliable. Just open PDFs in Chrome instead of downloading.
|
||||
|
||||
**Q: Can I test without Binect credentials?**
|
||||
A: You can test PDF detection, but not the upload. You'll see authentication errors when trying to send.
|
||||
|
||||
## Test URLs
|
||||
|
||||
**Small PDFs (quick tests):**
|
||||
- https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf (1 page)
|
||||
- https://www.africau.edu/images/default/sample.pdf (1 page)
|
||||
|
||||
**Medium PDFs:**
|
||||
- https://www.adobe.com/support/products/enterprise/knowledgecenter/media/c4611_sample_explain.pdf (multi-page)
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. **Test viewer detection** - Most reliable
|
||||
2. **Test download detection** - May need fallback
|
||||
3. **Test API integration** - Requires credentials
|
||||
4. **Check tracking page** - Verify data is recorded
|
||||
|
||||
## Getting Help
|
||||
|
||||
If something doesn't work:
|
||||
1. Check the detailed guides:
|
||||
- `DEBUG_DOWNLOAD_DETECTION.md` - Download debugging
|
||||
- `TESTING_PDF_VIEWER.md` - Viewer testing
|
||||
- `DOWNLOAD_DETECTION_FIXES.md` - Technical details
|
||||
2. Export console logs (right-click → Save as)
|
||||
3. Note your Chrome version: `chrome://version/`
|
||||
4. Email: bernd.worsch@binect.de
|
||||
|
||||
## Success Criteria
|
||||
|
||||
✅ PDF viewer detection works consistently
|
||||
✅ Download detection works OR fallback finds PDFs
|
||||
✅ API authentication succeeds
|
||||
✅ PDF upload succeeds
|
||||
✅ Tracking records the transfer
|
||||
✅ Badge updates (when service worker is awake)
|
||||
|
||||
**You're ready to use BinectChrome!**
|
||||
Reference in New Issue
Block a user