feat: add performance controls for large browser ops

- Add throttled large-operation handling for tab, group, and session commands.
- Introduce performance profiles, audible-tab aware gentle mode, and job progress tracking.
- Support background session restores with status/cancel commands and lazy placeholders.
- Expose new perf and extension CLI groups plus matching Python SDK methods.
- Preserve pinned tabs during session snapshots and debounce auto-save updates.
- Bump browser-cli and extension versions to 0.10.0 and add pytest-cov to dev deps.
- Add coverage for performance controls, background jobs, lazy restores, and tab metadata.
This commit is contained in:
2026-05-20 22:13:57 +02:00
parent e1e4adbb25
commit 545abeb515
18 changed files with 1054 additions and 148 deletions
+21
View File
@@ -0,0 +1,21 @@
import time
import click
from rich.console import Console
from browser_cli.commands import _handle
console = Console()
@click.group("extension")
def extension_group():
"""Manage the browser-cli browser extension."""
@extension_group.command("reload")
def extension_reload():
"""Reload the browser-cli extension service worker.
Useful after updating background.js without restarting the browser.
The command returns immediately; the extension restarts ~200 ms later.
Re-connects automatically via the keepalive alarm within ~25 seconds.
"""
_handle("extension.reload")
console.print("[green]Extension reloading…[/green] reconnects automatically")