Computer Use Updates
Rolling release / release (push) Failing after 1m46s

This commit is contained in:
2026-09-13 19:30:17 -04:00
parent c5ccaa490b
commit 599bfe440d
34 changed files with 1033 additions and 573 deletions
+25
View File
@@ -222,6 +222,31 @@ test('shutdown still closes the harness when recovery or voice cleanup fails', a
assert.equal(closed, true);
});
test('Grant desktop revokes any previous portal session before asking GNOME again', async () => {
const daemon = new JarvisDaemon();
const order = [];
daemon.input = {
revoke: () => order.push('revoke'),
grant: (opts) => { order.push(['grant', opts]); return Promise.resolve({ backend: 'portal-ei' }); },
};
daemon.computer = {
revoke: () => order.push('computer-revoke'),
grant: (opts) => { order.push(['computer-grant', opts]); return { session_id: 's' }; },
setBackend: (backend) => order.push(['backend', backend]),
status: () => ({ active: true }),
expiresAt: Date.now() + 180000,
};
try {
daemon.computerGrant(false);
await Promise.resolve();
assert.equal(order[0], 'revoke');
assert.equal(order[1], 'computer-revoke');
assert.deepEqual(order[2], ['computer-grant', { persist: false }]);
assert.deepEqual(order[3], ['grant', { persist: false, mode: daemon.settings.computerMode }]);
assert.deepEqual(order[4], ['backend', 'portal-ei']);
} finally { await daemon.close(); }
});
test('cancel suppresses a late reply and revokes portal input', async () => {
const daemon = new JarvisDaemon(); let resolve; let revoked = false;
daemon.input = { revoke: () => { revoked = true; } };