From daa4b55ee5871e5f1cd7e320373ab61c4b435771 Mon Sep 17 00:00:00 2001 From: Aaron Elijah Mars Date: Sun, 20 Jul 2025 23:43:30 +0200 Subject: [PATCH] Update to version 1.1.0 with tab_list timeout fixes and enhanced documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fixed tab_list timeout issue on Chrome by increasing content script timeout from 1s to 3s - Updated all package.json and manifest files to version 1.1.0 - Set check_content_script default to false to avoid timeouts - Enhanced DXT build script with comprehensive installation guide and GitHub repo links - Fixed OpenDia logo path in README.md - Updated tool examples and documentation to reflect timeout improvements πŸ€– Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- README.md | 2 +- build-dxt.sh | 78 +++++++++++++------ opendia-extension/manifest-chrome.json | 2 +- opendia-extension/manifest-firefox.json | 2 +- opendia-extension/manifest.json | 2 +- opendia-extension/package-lock.json | 4 +- opendia-extension/package.json | 2 +- .../src/background/background.js | 10 +-- opendia-mcp/package-lock.json | 4 +- opendia-mcp/package.json | 2 +- 10 files changed, 70 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index eb108d9..7f9271d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# OpenDia OpenDia +# OpenDia OpenDia **The open alternative to Dia** Connect your browser to AI models. No browser switching neededβ€”works seamlessly with Chrome, Firefox, and any Chromium browser. diff --git a/build-dxt.sh b/build-dxt.sh index 9ca4508..6e0a342 100755 --- a/build-dxt.sh +++ b/build-dxt.sh @@ -34,7 +34,7 @@ cp opendia-mcp/server.js dist/opendia-dxt/ cat > dist/opendia-dxt/package.json << 'EOF' { "name": "opendia", - "version": "1.0.6", + "version": "1.1.0", "description": "🎯 OpenDia - The open alternative to Dia. Connect your browser to AI models with anti-detection bypass for Twitter/X, LinkedIn, Facebook", "main": "server.js", "scripts": { @@ -116,7 +116,7 @@ cat > dist/opendia-dxt/manifest.json << 'EOF' "dxt_version": "0.1", "name": "opendia", "display_name": "OpenDia - Browser Automation", - "version": "1.0.6", + "version": "1.1.0", "description": "🎯 OpenDia - The open alternative to Dia. Connect your browser to AI models with anti-detection bypass for Twitter/X, LinkedIn, Facebook + universal automation", "author": { "name": "Aaron Elijah Mars", @@ -271,7 +271,7 @@ cat > dist/opendia-dxt/manifest.json << 'EOF' "browser_extension": { "name": "OpenDia Browser Extension", "description": "Required Chrome/Firefox extension for browser automation by Aaron Elijah Mars", - "version": "1.0.6", + "version": "1.1.0", "auto_install": false } } @@ -295,9 +295,21 @@ cp LICENSE dist/opendia-dxt/ 2>/dev/null || echo "⚠️ LICENSE not found, ski cat > dist/opendia-dxt/EXTENSION_INSTALL.md << 'EOF' # OpenDia Browser Extension Installation -## Quick Setup +**πŸ”— Official Repository:** https://github.com/aaronjmars/opendia -### For Chrome/Chromium Browsers +## Complete Installation Guide + +### Step 1: Install the DXT Package (Already Done!) +βœ… You've successfully installed the OpenDia DXT package in Claude Desktop + +### Step 2: Install Browser Extension + +**πŸ“¦ Get Latest Extension:** +Download the latest extension from: https://github.com/aaronjmars/opendia/releases + +**Or use the included extension in this DXT package:** + +#### For Chrome/Chromium Browsers 1. **Enable Developer Mode** - Go to `chrome://extensions/` @@ -306,37 +318,57 @@ cat > dist/opendia-dxt/EXTENSION_INSTALL.md << 'EOF' 2. **Install Extension** - Click "Load unpacked" - Select the `extension/` folder from this DXT package - - Extension should appear in your extensions list + - Extension should appear in your extensions list with OpenDia icon -### For Firefox +#### For Firefox 1. **Load Temporary Add-on** - Go to `about:debugging#/runtime/this-firefox` - Click "Load Temporary Add-on..." - Select the `manifest-firefox.json` file from the `extension/` folder -> **Note**: Firefox extensions are loaded as temporary add-ons and will be removed when Firefox restarts. +> **Firefox Note**: Extensions are loaded as temporary add-ons and will be removed when Firefox restarts. For permanent installation, use the signed extension from GitHub releases. -## Verify Connection +### Step 3: Verify Everything Works -- Click the OpenDia extension icon -- Should show "Connected to MCP server" -- Green status indicator means ready to use +1. **Check Extension Status** + - Click the OpenDia extension icon in your browser + - Should show "Connected to MCP server" + - Green status indicator means ready to use + +2. **Test in Claude Desktop** + - Ask Claude: "List my open browser tabs" + - Should return your current tabs if working correctly ## Supported Browsers -- Mozilla Firefox (Manifest V2) -- Google Chrome (Manifest V3) -- Arc Browser, Microsoft Edge, Brave Browser, Opera -- Any Chromium-based browser +- βœ… **Mozilla Firefox** (Manifest V2) +- βœ… **Google Chrome** (Manifest V3) +- βœ… **Arc Browser, Microsoft Edge, Brave Browser, Opera** +- βœ… **Any Chromium-based browser** -## Features -🎯 Anti-detection bypass for Twitter/X, LinkedIn, Facebook -πŸ“± Smart automation and page analysis -πŸ”§ Form filling with enhanced compatibility -πŸ“Š Multi-tab workflows and background operations -🎨 Page styling and visual customization +## Key Features +🎯 **Anti-detection bypass** for Twitter/X, LinkedIn, Facebook +πŸ“± **Smart automation** and intelligent page analysis +πŸ”§ **Form filling** with enhanced compatibility +πŸ“Š **Multi-tab workflows** and background operations +🎨 **Page styling** and visual customization +πŸ”’ **Privacy-first** - everything runs locally -For more help, visit: https://github.com/aaronjmars/opendia +## Getting Help + +- **πŸ“– Full Documentation:** https://github.com/aaronjmars/opendia +- **πŸ› Report Issues:** https://github.com/aaronjmars/opendia/issues +- **πŸ’¬ Discussions:** https://github.com/aaronjmars/opendia/discussions + +## What's Next? + +Try these example prompts in Claude Desktop: +- "List my open browser tabs" +- "Analyze the content of my current tab" +- "Apply a dark theme to this webpage" +- "Extract the main article text from this page" + +**πŸš€ Ready to supercharge your browser with AI!** EOF # Verify structure before zipping diff --git a/opendia-extension/manifest-chrome.json b/opendia-extension/manifest-chrome.json index 9a15bab..a99dfef 100644 --- a/opendia-extension/manifest-chrome.json +++ b/opendia-extension/manifest-chrome.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "OpenDia", - "version": "1.0.6", + "version": "1.1.0", "description": "Connect your browser to AI models", "icons": { "16": "icons/icon-16.png", diff --git a/opendia-extension/manifest-firefox.json b/opendia-extension/manifest-firefox.json index 9f2aeb7..1049773 100644 --- a/opendia-extension/manifest-firefox.json +++ b/opendia-extension/manifest-firefox.json @@ -1,7 +1,7 @@ { "manifest_version": 2, "name": "OpenDia", - "version": "1.0.6", + "version": "1.1.0", "description": "Connect your browser to AI models", "applications": { "gecko": { diff --git a/opendia-extension/manifest.json b/opendia-extension/manifest.json index cf26bcb..f080b85 100644 --- a/opendia-extension/manifest.json +++ b/opendia-extension/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "OpenDia", - "version": "1.0.6", + "version": "1.1.0", "description": "Connect your browser to AI models", "icons": { "16": "icon-16.png", diff --git a/opendia-extension/package-lock.json b/opendia-extension/package-lock.json index 24ecff7..169511d 100644 --- a/opendia-extension/package-lock.json +++ b/opendia-extension/package-lock.json @@ -1,12 +1,12 @@ { "name": "opendia-extension", - "version": "1.0.5", + "version": "1.0.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "opendia-extension", - "version": "1.0.5", + "version": "1.0.6", "license": "MIT", "dependencies": { "webextension-polyfill": "^0.12.0" diff --git a/opendia-extension/package.json b/opendia-extension/package.json index d4c0002..10ff577 100644 --- a/opendia-extension/package.json +++ b/opendia-extension/package.json @@ -1,6 +1,6 @@ { "name": "opendia-extension", - "version": "1.0.6", + "version": "1.1.0", "description": "Connect your browser to AI models", "scripts": { "build": "node build.js", diff --git a/opendia-extension/src/background/background.js b/opendia-extension/src/background/background.js index ebd54f3..e390c29 100644 --- a/opendia-extension/src/background/background.js +++ b/opendia-extension/src/background/background.js @@ -358,7 +358,7 @@ async function getTabContentScriptStatus(tabId) { } const response = await new Promise((resolve, reject) => { - const timeout = setTimeout(() => resolve(null), 1000); + const timeout = setTimeout(() => resolve(null), 3000); // Increase to 3 seconds browser.tabs.sendMessage(tabId, { action: 'ping' }, (response) => { clearTimeout(timeout); resolve(response); @@ -382,12 +382,12 @@ function getAvailableTools() { /* 🎯 BACKGROUND TAB WORKFLOW GUIDE: - 1. DISCOVER TABS: Use tab_list with check_content_script=true to see all tabs and their IDs + 1. DISCOVER TABS: Use tab_list with check_content_script=false to see all tabs and their IDs 2. TARGET SPECIFIC TABS: Add tab_id parameter to any tool to work on background tabs 3. MULTI-TAB OPERATIONS: Process multiple tabs without switching between them Example Multi-Tab Workflow: - - tab_list({check_content_script: true}) β†’ Get tab IDs and readiness status + - tab_list({check_content_script: false}) β†’ Get tab IDs quickly - page_analyze({intent_hint: "article", tab_id: 12345}) β†’ Analyze background research tab - page_extract_content({content_type: "article", tab_id: 12345}) β†’ Extract content without switching - get_selected_text({tab_id: 67890}) β†’ Get quotes from another background tab @@ -689,8 +689,8 @@ function getAvailableTools() { inputSchema: { type: "object", examples: [ - { check_content_script: true }, // RECOMMENDED: Check which tabs are ready for background operations - { current_window_only: false, check_content_script: true } // Check all tabs across windows + { check_content_script: false }, // RECOMMENDED: Default false to avoid timeouts + { current_window_only: false, check_content_script: false } // Get all tabs across windows ], properties: { current_window_only: { diff --git a/opendia-mcp/package-lock.json b/opendia-mcp/package-lock.json index f89697d..59340af 100644 --- a/opendia-mcp/package-lock.json +++ b/opendia-mcp/package-lock.json @@ -1,12 +1,12 @@ { "name": "opendia", - "version": "1.0.5", + "version": "1.0.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "opendia", - "version": "1.0.5", + "version": "1.0.6", "license": "MIT", "dependencies": { "cors": "^2.8.5", diff --git a/opendia-mcp/package.json b/opendia-mcp/package.json index 7f76b8b..caee63e 100644 --- a/opendia-mcp/package.json +++ b/opendia-mcp/package.json @@ -1,6 +1,6 @@ { "name": "opendia", - "version": "1.0.6", + "version": "1.1.0", "description": "🎯 OpenDia - The open alternative to Dia. Connect your browser to AI models with anti-detection bypass for Twitter/X, LinkedIn, Facebook", "main": "server.js", "bin": {