app
adom-vscode
Public Made by Adomby adom
Let Claude, Codex and Kimi drive VS Code inside your Adom container
← Commit history
release 1.1.120
10 files changed
+26−11
VERSION+1−1@@ -1 +1 @@-1.1.119+1.1.120
bin/adom-vscode⋯ 1 unchanged line ⋯
bin/hydrogen-widget-claude-rc+22−7@@ -191,6 +191,9 @@ def data(): # the cloud list does not know (its sessions live under ANOTHER account) is added here, so the # hover can say which account to open on the phone to see it. me_acc = (out.get('account') or '').lower()+ def same_title(a, b):+ a = (a or '').replace('\u2026', '').strip().lower(); b = (b or '').replace('\u2026', '').strip().lower()+ return bool(a and b) and (a.startswith(b) or b.startswith(a)) for mm in mesh() or []: key = mm['name'].lower() m = next((x for x in out['machines'] if x['name'].lower() == key), None)@@ -200,13 +203,25 @@ def data(): for k in ('account', 'plan', 'logged_in', 'unreachable', 'threads', 'threads_rc', 'threads_unknown', 'thread_rows', 'threads_note'): if k in mm: m[k] = mm[k] m['other_account'] = bool(mm.get('account')) and mm['account'].lower() != me_acc- if not m['other_account'] and m.get('thread_rows'):- live = [x['title'] for x in m['sessions'] if x['connected']]- def on_rc(label):- lab = label.replace('\u2026', '').strip().lower()- return any(t.lower().startswith(lab) or lab.startswith(t.lower()) for t in live if lab and t)- for r in m['thread_rows']:- if r['rc'] is None: r['rc'] = on_rc(r['name'])+ # A conversation's own RC session names no machine (no environment, origin claude_code_vscode):+ # file it under the machine whose open tabs carry its title, which is also what marks that+ # tab "on phone" below.+ orphan = next((x for x in out['machines'] if x['name'] == 'unknown machine'), None)+ if orphan:+ keep = []+ for sess in orphan['sessions']:+ home = next((x for x in out['machines'] if x is not orphan and not x.get('other_account')+ and any(same_title(r['name'], sess['title']) for r in x.get('thread_rows') or [])), None)+ (home['sessions'] if home else keep).append(sess)+ orphan['sessions'] = keep+ if not keep and not orphan['host']: out['machines'].remove(orphan)+ else: orphan['name'] = 'Not matched to a machine'+ for m in out['machines']:+ if m.get('other_account') or not m.get('thread_rows'): continue+ live = [x['title'] for x in m['sessions'] if x['connected']]+ for r in m['thread_rows']:+ if r['rc'] is not True and any(same_title(r['name'], t) for t in live): r['rc'] = True+ elif r['rc'] is None: r['rc'] = False out['machines'].sort(key=lambda m: (not m['this_pc'], m['name'].lower())) # Something to fix: this PC's RC host is not connected, or it has Claude threads RC cannot see. mine = next((m for m in out['machines'] if m['this_pc']), None)
bin/hydrogen-widget-claude-usagebin/hydrogen-widget-codex-usagebin/hydrogen-widget-lib.pybin/hydrogen-widget-marks.pyinstall.shpackage.json+1−1@@ -1,6 +1,6 @@ { "slug": "adom-vscode",- "version": "1.1.119",+ "version": "1.1.120", "type": "app", "description": "CLI + VS Code extension that lets AI assistants and the Hydrogen Desktop frontend drive VS Code from inside an Adom container: open files, live get/set of any setting/theme/font (no reload), native streamed exec, a frontend event queue, container identity (hd/hw), api-key status/inject, extension query/update, modes, paste screenshots, and any VS Code command via a local HTTP API on port 8821 (with port-file fallback discovery).", "license": "PROPRIETARY",
page.json+2−2@@ -4,7 +4,7 @@ "slug": "adom-vscode", "title": "adom-vscode", "brief": "Let Claude, Codex and Kimi drive VS Code inside your Adom container",- "version": "1.1.119",+ "version": "1.1.120", "license": "PROPRIETARY", "visibility": "public", "hero": {@@ -141,4 +141,4 @@ "adom-vscode-extensions", "adom-vscode-modes" ]-}+}