allow to ask for remote host profiles and save token on first connection for later use

This commit is contained in:
2026-05-01 19:07:04 +02:00
parent 2f982fa714
commit 5ff340a6d3
11 changed files with 216 additions and 33 deletions
+6 -4
View File
@@ -18,8 +18,10 @@ def _handle(command, args=None, profile=None):
raise SystemExit(1)
def _handle_multi(command, args=None, profile=None):
def _handle_multi(command, args=None, profile=None, remote=None, token=None):
try:
if remote:
return send_command(command, args or {}, profile=profile, remote=remote, token=token)
return send_command(command, args or {}, profile=profile)
except (BrowserNotConnected, RuntimeError):
return None
@@ -30,7 +32,7 @@ def _multi_browser_targets():
if root.obj.get("browser_explicit"):
return []
targets = active_browser_targets()
if len(targets) <= 1:
if len(targets) <= 1 and not any(target.remote for target in targets):
return []
return targets
@@ -76,7 +78,7 @@ def tabs_list():
if targets:
tabs = []
for target in targets:
result = _handle_multi("tabs.list", profile=target.profile)
result = _handle_multi("tabs.list", profile=target.profile, remote=target.remote, token=target.token)
if result is None:
continue
tabs.extend({**tab, "browser": target.display_name} for tab in result)
@@ -163,7 +165,7 @@ def tabs_count(pattern):
total = 0
rows = 0
for target in targets:
count = _handle_multi("tabs.count", {"pattern": pattern}, profile=target.profile)
count = _handle_multi("tabs.count", {"pattern": pattern}, profile=target.profile, remote=target.remote, token=target.token)
if count is None:
continue
count = int(count or 0)