From 87bb23d39df92db0b383dd300a9ebd1ad9cb2b7a Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Mon, 28 Sep 2026 10:13:45 -0300 Subject: Focus gives the keyboard only, reads empty while a header has it, and sits in the root listing's natural place A write to /focus leaves a folded pane folded, as rio keeps current apart from unhide; while a column or workspace tag has the keyboard no pane does, so /focus reads empty and every pane's ctl says notcurrent (an empty read also no longer answers stale staged bytes). focus, ctl and commands now list after status, and the discovery test checks the root as a set rather than by position. Co-Authored-By: Claude Opus 5.5 --- test/fs.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'test/fs.py') diff --git a/test/fs.py b/test/fs.py index bafe665c..c7552a2b 100644 --- a/test/fs.py +++ b/test/fs.py @@ -144,8 +144,9 @@ def discovery(binary, embedded=False): root = Path(directory) with session(binary, root, 'discovery') as (client, address): top = client.list('/') - assert top[:10] == ['README', 'index', 'status', 'look', 'exec', 'log', 'screen', - 'listeners', 'pane', 'os'], top + # A set: which files the root holds, not the order a listing gives. + assert set(top) - {'src', 'shaders'} == {'README', 'index', 'status', 'focus', 'ctl', 'commands', + 'look', 'exec', 'log', 'screen', 'listeners', 'pane', 'os'}, top assert 'self' not in top and 'cons' not in top and 'new' not in top, top assert ('src' in top) == embedded, (top, embedded) before = client.read('/index') -- cgit v1.3