browse-code 0.2.11__tar.gz → 0.2.12__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. {browse_code-0.2.11 → browse_code-0.2.12}/PKG-INFO +1 -1
  2. browse_code-0.2.12/browse_code/__init__.py +1 -0
  3. {browse_code-0.2.11 → browse_code-0.2.12}/browse_code/extension/content.js +27 -4
  4. {browse_code-0.2.11 → browse_code-0.2.12}/browse_code.egg-info/PKG-INFO +1 -1
  5. {browse_code-0.2.11 → browse_code-0.2.12}/setup.py +1 -1
  6. browse_code-0.2.11/browse_code/__init__.py +0 -1
  7. {browse_code-0.2.11 → browse_code-0.2.12}/README.md +0 -0
  8. {browse_code-0.2.11 → browse_code-0.2.12}/browse_code/cli.py +0 -0
  9. {browse_code-0.2.11 → browse_code-0.2.12}/browse_code/extension/icon128.png +0 -0
  10. {browse_code-0.2.11 → browse_code-0.2.12}/browse_code/extension/icon16.png +0 -0
  11. {browse_code-0.2.11 → browse_code-0.2.12}/browse_code/extension/icon48.png +0 -0
  12. {browse_code-0.2.11 → browse_code-0.2.12}/browse_code/extension/manifest.json +0 -0
  13. {browse_code-0.2.11 → browse_code-0.2.12}/browse_code/extension/popup.html +0 -0
  14. {browse_code-0.2.11 → browse_code-0.2.12}/browse_code/extension/popup.js +0 -0
  15. {browse_code-0.2.11 → browse_code-0.2.12}/browse_code/extension/spoof.js +0 -0
  16. {browse_code-0.2.11 → browse_code-0.2.12}/browse_code/server.py +0 -0
  17. {browse_code-0.2.11 → browse_code-0.2.12}/browse_code.egg-info/SOURCES.txt +0 -0
  18. {browse_code-0.2.11 → browse_code-0.2.12}/browse_code.egg-info/dependency_links.txt +0 -0
  19. {browse_code-0.2.11 → browse_code-0.2.12}/browse_code.egg-info/entry_points.txt +0 -0
  20. {browse_code-0.2.11 → browse_code-0.2.12}/browse_code.egg-info/requires.txt +0 -0
  21. {browse_code-0.2.11 → browse_code-0.2.12}/browse_code.egg-info/top_level.txt +0 -0
  22. {browse_code-0.2.11 → browse_code-0.2.12}/pyproject.toml +0 -0
  23. {browse_code-0.2.11 → browse_code-0.2.12}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: browse_code
3
- Version: 0.2.11
3
+ Version: 0.2.12
4
4
  Summary: Turn any AI chatbot into an autonomous coding agent
5
5
  Description-Content-Type: text/markdown
6
6
  Requires-Dist: fastapi
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -231,11 +231,34 @@ async function injectAndSend(promptText) {
231
231
 
232
232
  await new Promise(r => setTimeout(r, 800));
233
233
 
234
- const sendButton = document.querySelector(PLATFORM.sendBtn);
235
- if (sendButton && (!sendButton.disabled && sendButton.getAttribute('aria-disabled') !== 'true')) {
236
- sendButton.click();
237
- } else {
234
+ const trySend = () => {
235
+ const btn = document.querySelector(PLATFORM.sendBtn);
236
+ if (btn && !btn.disabled && btn.getAttribute('aria-disabled') !== 'true') {
237
+ btn.click();
238
+ return true;
239
+ }
240
+ return false;
241
+ };
242
+
243
+ if (!trySend()) {
238
244
  inputBox.dispatchEvent(new KeyboardEvent('keydown', { bubbles: true, cancelable: true, key: 'Enter', code: 'Enter' }));
245
+
246
+ // If the user switched tabs, React might suspend and the button stays disabled.
247
+ // Setup an aggressive retry loop that clicks it the moment they focus the tab and React wakes up.
248
+ const clickInterval = setInterval(() => {
249
+ const currentText = inputBox.tagName === 'INPUT' || inputBox.tagName === 'TEXTAREA' ? inputBox.value : inputBox.textContent;
250
+ // Abort if the user manually cleared or changed the input significantly
251
+ if (!currentText || currentText.length < promptText.length * 0.5) {
252
+ clearInterval(clickInterval);
253
+ return;
254
+ }
255
+ if (trySend()) {
256
+ clearInterval(clickInterval);
257
+ }
258
+ }, 500);
259
+
260
+ // Clear interval after 15 seconds to avoid infinite loops
261
+ setTimeout(() => clearInterval(clickInterval), 15000);
239
262
  }
240
263
  }
241
264
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: browse_code
3
- Version: 0.2.11
3
+ Version: 0.2.12
4
4
  Summary: Turn any AI chatbot into an autonomous coding agent
5
5
  Description-Content-Type: text/markdown
6
6
  Requires-Dist: fastapi
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="browse_code",
5
- version="0.2.11",
5
+ version="0.2.12",
6
6
  description="Turn any AI chatbot into an autonomous coding agent",
7
7
  long_description=open("README.md").read(),
8
8
  long_description_content_type="text/markdown",
@@ -1 +0,0 @@
1
- __version__ = "0.2.11"
File without changes
File without changes