openvibers/openvibe.exchange Commits

Exchange: the floor says plainly that the second line holds for fiction and incest (#83)

OP OpenVibers committed 7 days ago · ca76e5c89a · 3 files, +6 −4

Non-consensual sexual content (fiction included) and incest are refused, because
payment providers and hosts ban them. The /uncensored page now carries that line
in plain words, and the chat page's sentence names it the same way.

Changes

ddiff --git a/server/http/pages.js b/server/http/pages.js
iindex a413c1e..4673fc9 100644
---- a/server/http/pages.js
++++ b/server/http/pages.js
@@@ -225,7 +225,7 @@ ${kit.chips({ name: 'models', label: 'Compare up to three models', options: mode
}
}
}
-- const empty = `<div class="ovt-welcome"><h2>Every model, one chat</h2><p>Pick one model, or up to three to compare side by side. The floor applies always: no sexual content involving minors, no non-consensual sexual content of real people, no help with mass harm.</p></div>`;
++ const empty = `<div class="ovt-welcome"><h2>Every model, one chat</h2><p>Pick one model, or up to three to compare side by side. The floor applies always: no sexual content involving minors, no non-consensual sexual content (fiction included) and no incest, no help with mass harm.</p></div>`;
return page(req, res, {
title: chat ? chat.title : 'Chat', index: false,
class: 'ex-chat', app: true,
ddiff --git a/server/views/exchange.js b/server/views/exchange.js
iindex f73272e..4800c91 100644
---- a/server/views/exchange.js
++++ b/server/views/exchange.js
@@@ -429,9 +429,9 @@ ${panel({ title: 'How to use it', body: '<p class="ex-prose">Pick an uncensored
function floorText() {
const body = `<ul class="ex-list ex-floor">
<li>No sexual content involving minors.</li>
--<li>No non-consensual sexual content of real people.</li>
++<li>No non-consensual sexual content (fiction included), and no incest.</li>
<li>No help with weapons of mass harm or attacks on others.</li>
--</ul><p class="ex-prose">A breach ends the account. This is not a suggestion a model may talk its way past; it is the condition of being here.</p>`;
++</ul><p class="ex-prose">Non-consensual sexual content (fiction included) and incest are refused, because payment providers and hosts ban them.</p><p class="ex-prose">A breach ends the account. This is not a suggestion a model may talk its way past; it is the condition of being here.</p>`;
return `<div class="ex-floor-box">${body}</div>`;
}
ddiff --git a/test/pages.test.js b/test/pages.test.js
iindex 5a19eca..ac4eedd 100644
---- a/test/pages.test.js
++++ b/test/pages.test.js
@@@ -86,8 +86,10 @@ const { createFakeAi, downAi } = require('./helpers/ai');
assert.strictEqual(r.status, 200);
assert.ok(r.text.includes('Sign in with OpenVibe'), 'signed out: sign in first');
assert.ok(r.text.includes('No sexual content involving minors'));
-- assert.ok(r.text.includes('No non-consensual sexual content of real people'));
++ assert.ok(r.text.includes('No non-consensual sexual content (fiction included), and no incest'));
assert.ok(r.text.includes('No help with weapons of mass harm'));
++ // The policy says plainly why the second line is not negotiable.
++ assert.ok(r.text.includes('Non-consensual sexual content (fiction included) and incest are refused, because payment providers and hosts ban them.'));
});
await check('AI in OpenVibe: which product runs which model, and the daily cost', async () => {