openvibers/openvibe.bot Commits
Going live with a desk says your followers are told you are live, as for any stream (#199)
Changes
@@@ -891,7 +891,7 @@ function renderMachineDesksPage({ machine, desks = [], maxDesks = null, error =// On the owner's OpenVibe Live channel, when they choose (the Desks plan's D8): a second step says what goes public.+ `<details class="desk-live"><summary class="button quiet">Show live on my channel</summary>`+ `<form method="post" action="/machines/${id}/desks/live"><input type="hidden" name="desk" value="${esc(d.desk)}">`-- + `<p class="muted">Everyone can watch this desk on your OpenVibe Live channel for up to 30 minutes: what your agent does and every page it opens, signed-in pages included. Stop showing it on its screen page, or stop the desk.</p>`++ + `<p class="muted">Everyone can watch this desk on your OpenVibe Live channel for up to 30 minutes: what your agent does and every page it opens, signed-in pages included. Your followers are told you are live, as for any stream. Stop showing it on its screen page, or stop the desk.</p>`+ `<button type="submit" class="button primary">Go live with this desk</button></form></details></li>`).join('');const list = error ? `<p class="error" role="alert">${esc(error)}</p>`: rows ? `<ul class="robots">${rows}</ul>`@@@ -386,7 +386,7 @@ const { boot, check, done } = require('./helpers/app');assert.ok(html.includes('<code>desk-task-a</code>') && html.includes('Browser desk') && html.includes('Whole desk'));assert.ok(html.includes(`href="/machines/${host.deviceId}/screen?desk=desk-task-a"`), 'Watch and take over that desk');assert.ok(html.includes('name="desk" value="desk-task-a"'), 'its Stop');-- assert.ok(html.includes(`action="/machines/${host.deviceId}/desks/live"`) && html.includes('Show live on my channel') && html.includes('signed-in pages included'), 'and, a second step away, live on the owner\'s channel (Desks plan D8)');++ assert.ok(html.includes(`action="/machines/${host.deviceId}/desks/live"`) && html.includes('Show live on my channel') && html.includes('signed-in pages included') && html.includes('Your followers are told you are live'), 'and, a second step away, live on the owner\'s channel (Desks plan D8)');assert.ok(html.includes('At most 4 whole desks at once here'));assert.strictEqual((await fetch(`${t.base}/machines/${host.deviceId}/desks`, { headers: cookie(bob) })).status, 404, 'nobody else');const stop = (body, headers = {}) => fetch(`${t.base}/machines/${host.deviceId}/desks/stop`, { method: 'POST', redirect: 'manual', body, headers: { 'Content-Type': 'application/x-www-form-urlencoded', ...cookie(alex), ...headers } });
@@ -891,7 +891,7 @@ function renderMachineDesksPage({ machine, desks = [], maxDesks = null, error =
@@ -891,7 +891,7 @@ function renderMachineDesksPage({ machine, desks = [], maxDesks = null, error =
// On the owner's OpenVibe Live channel, when they choose (the Desks plan's D8): a second step says what goes public.
// On the owner's OpenVibe Live channel, when they choose (the Desks plan's D8): a second step says what goes public.
+ `<details class="desk-live"><summary class="button quiet">Show live on my channel</summary>`
+ `<details class="desk-live"><summary class="button quiet">Show live on my channel</summary>`
+ `<form method="post" action="/machines/${id}/desks/live"><input type="hidden" name="desk" value="${esc(d.desk)}">`
+ `<form method="post" action="/machines/${id}/desks/live"><input type="hidden" name="desk" value="${esc(d.desk)}">`
- + `<p class="muted">Everyone can watch this desk on your OpenVibe Live channel for up to 30 minutes: what your agent does and every page it opens, signed-in pages included. Stop showing it on its screen page, or stop the desk.</p>`
+ + `<p class="muted">Everyone can watch this desk on your OpenVibe Live channel for up to 30 minutes: what your agent does and every page it opens, signed-in pages included. Your followers are told you are live, as for any stream. Stop showing it on its screen page, or stop the desk.</p>`
+ `<button type="submit" class="button primary">Go live with this desk</button></form></details></li>`).join('');
+ `<button type="submit" class="button primary">Go live with this desk</button></form></details></li>`).join('');
const list = error ? `<p class="error" role="alert">${esc(error)}</p>`
const list = error ? `<p class="error" role="alert">${esc(error)}</p>`
: rows ? `<ul class="robots">${rows}</ul>`
: rows ? `<ul class="robots">${rows}</ul>`
@@ -386,7 +386,7 @@ const { boot, check, done } = require('./helpers/app');
@@ -386,7 +386,7 @@ const { boot, check, done } = require('./helpers/app');
assert.ok(html.includes('<code>desk-task-a</code>') && html.includes('Browser desk') && html.includes('Whole desk'));
assert.ok(html.includes('<code>desk-task-a</code>') && html.includes('Browser desk') && html.includes('Whole desk'));
assert.ok(html.includes(`href="/machines/${host.deviceId}/screen?desk=desk-task-a"`), 'Watch and take over that desk');
assert.ok(html.includes(`href="/machines/${host.deviceId}/screen?desk=desk-task-a"`), 'Watch and take over that desk');
assert.ok(html.includes('name="desk" value="desk-task-a"'), 'its Stop');
assert.ok(html.includes('name="desk" value="desk-task-a"'), 'its Stop');
- assert.ok(html.includes(`action="/machines/${host.deviceId}/desks/live"`) && html.includes('Show live on my channel') && html.includes('signed-in pages included'), 'and, a second step away, live on the owner\'s channel (Desks plan D8)');
+ assert.ok(html.includes(`action="/machines/${host.deviceId}/desks/live"`) && html.includes('Show live on my channel') && html.includes('signed-in pages included') && html.includes('Your followers are told you are live'), 'and, a second step away, live on the owner\'s channel (Desks plan D8)');
assert.ok(html.includes('At most 4 whole desks at once here'));
assert.ok(html.includes('At most 4 whole desks at once here'));
assert.strictEqual((await fetch(`${t.base}/machines/${host.deviceId}/desks`, { headers: cookie(bob) })).status, 404, 'nobody else');
assert.strictEqual((await fetch(`${t.base}/machines/${host.deviceId}/desks`, { headers: cookie(bob) })).status, 404, 'nobody else');
const stop = (body, headers = {}) => fetch(`${t.base}/machines/${host.deviceId}/desks/stop`, { method: 'POST', redirect: 'manual', body, headers: { 'Content-Type': 'application/x-www-form-urlencoded', ...cookie(alex), ...headers } });
const stop = (body, headers = {}) => fetch(`${t.base}/machines/${host.deviceId}/desks/stop`, { method: 'POST', redirect: 'manual', body, headers: { 'Content-Type': 'application/x-www-form-urlencoded', ...cookie(alex), ...headers } });