← Commit history
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-usage

  
bin/hydrogen-widget-codex-usage

  
bin/hydrogen-widget-lib.py

  
bin/hydrogen-widget-marks.py

  
install.sh

  
package.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"   ]-}\ No newline at end of file+}