Skip to content

Commit 88fdff6

Browse files
committed
fix: handle 'exists' status in extension and improve html detection
1 parent e8083be commit 88fdff6

2 files changed

Lines changed: 9 additions & 10 deletions

File tree

extension/popup.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,12 @@ async function sendToBridge(endpoint) {
9090
} else if (data.status === 'success') {
9191
status.textContent = "Done. Don't expect a medal.";
9292
btn.classList.remove('pulse');
93+
} else if (data.status === 'exists') {
94+
status.textContent = "Already exists. Stop hoarding.";
95+
btn.classList.remove('pulse');
9396
} else {
94-
let errorMessage = 'Unknown error';
95-
if (data.detail) {
96-
errorMessage = typeof data.detail === 'string' ? data.detail : JSON.stringify(data.detail);
97-
} else if (data.message) {
98-
errorMessage = data.message;
99-
}
97+
let errorMessage = data.detail || data.message || data.error || `HTTP ${response.status}`;
98+
if (typeof errorMessage !== 'string') errorMessage = JSON.stringify(errorMessage);
10099
status.textContent = "Rejected: " + errorMessage;
101100
btn.classList.remove('pulse');
102101
}

src/hermes_clipper/main.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -347,12 +347,10 @@ def check_duplicate(url, vault):
347347
return None
348348

349349
def clip(url, title, content, folder="Clippings", tags=None, metadata=None, mode="unique", caveman=False, **kwargs):
350-
# Robust HTML detection
350+
# Aggressive HTML detection
351351
is_html = False
352352
stripped_content = content.strip()
353-
if stripped_content.startswith("<"):
354-
is_html = True
355-
elif "</html>" in content.lower() or "<body" in content.lower() or "<div" in content.lower():
353+
if stripped_content.startswith("<") or "<html" in content.lower() or "<body" in content.lower() or "<div" in content.lower() or "<p" in content.lower() or "<script" in content.lower():
356354
is_html = True
357355

358356
if is_html:
@@ -368,6 +366,8 @@ def clip(url, title, content, folder="Clippings", tags=None, metadata=None, mode
368366
print_error("Vault path not set. Run 'hermes-clip setup'.")
369367
sys.exit(1)
370368

369+
print_header(f"Clipping: {title}")
370+
371371
if mode == "unique":
372372
if dup := check_duplicate(url, vault):
373373
print(json.dumps({"status": "exists", "path": dup}))

0 commit comments

Comments
 (0)