openvibers/openvibe.network Commits

openvibe.party: Chat serves it, so it leaves the parked list (#651)

OP OpenVibers committed 6 days ago · 25bb97aba4 · 2 files, +12 −20

* openvibe.party leaves the parked list; Chat's client gets its redirect URI

Watch Together v1 (plan R1): OpenVibe.Chat serves openvibe.party by Host
(OpenVibe.Chat deploy/nginx/openvibe.party.conf), so this file's parked redirect blocks for
the name are removed and its own vhost answers.

Chat signs people in on the party host with its own host-only session, so its OAuth client
in the seed takes a second redirect URI, https://openvibe.party/auth/callback, next to
https://openvibe.chat/auth/callback.

Checked: test/my-vhost.test.js (the file still parses), test/oauth-link.test.js,
test/oauth-pkce.test.js, test/oauth-rate-limit.test.js.

* Chat's party callback joins the existing client instead of seeding one

Chat's OAuth principal is provisioned by hand (server/setup/service-principal.js create chat),
and module-events.test.js inserts it itself with a chosen secret; seeding a chat client would
break that setup. Add the openvibe.party callback with mergeRedirectUris instead, which leaves
the client untouched when it does not exist.

Checked: test/module-events.test.js, test/my-vhost.test.js, the oauth suites.

Changes

ddiff --git a/deploy/nginx/parked-domains.conf b/deploy/nginx/parked-domains.conf
iindex b9863e2c..49d13c50 100644
---- a/deploy/nginx/parked-domains.conf
++++ b/deploy/nginx/parked-domains.conf
@@@ -22,9 +22,10 @@
# 2026-10-28: the thirteen domains bought that day (open.shoes and twelve openvibe.*) are parked here, each sent to
# where its capability lives today, until its room's own vhost takes the name (plan: OpenVibe_New_Domains_Plan).
# 2026-11-07: the seven bought that day (openvibe.computer, .email, .link, .locker, .my, .party, .studio) joined this
--# file; five are parked here the same way, each sent to where its capability lives today (plan:
++# file; the rest are parked here the same way, each sent to where its capability lives today (plan:
# OpenVibe_Seven_Domains_Plan §1). openvibe.link and openvibe.my are not parked: they are OpenVibe Link's and
--# the account hub's homes, in this file below.
++# the account hub's homes, in this file below. openvibe.party left on 2026-11-07: OpenVibe.Chat serves it
++# (OpenVibe.Chat deploy/nginx/openvibe.party.conf).
#
# Install: sudo ov-vhost-install deploy/nginx/parked-domains.conf parked-domains.conf
# after removing Sites' vhost for each name. Each name uses its own certificate (a vhost must use its own
@@@ -223,24 +224,10 @@ server {
return 302 https://openvibe.run/;
}
--# openvibe.party: parked, sent to Chat's party rooms until its own vhost takes the name (2026-11-07).
--server {
-- listen 80;
-- listen [::]:80;
-- server_name openvibe.party www.openvibe.party;
-- return 302 https://openvibe.chat/;
--}
--
--server {
-- listen 443 ssl;
-- listen [::]:443 ssl;
-- http2 on;
-- server_name openvibe.party www.openvibe.party;
-- ssl_certificate /etc/letsencrypt/live/openvibe.party/fullchain.pem;
-- ssl_certificate_key /etc/letsencrypt/live/openvibe.party/privkey.pem;
-- access_log off;
-- return 302 https://openvibe.chat/;
--}
++# openvibe.party: not parked since 2026-11-07. OpenVibe.Chat serves it (its own vhost, deploy/nginx/openvibe.party.conf
++# in OpenVibe.Chat, installed with ov-vhost-install): Watch Together's start page and parties, signing people in on the
++# host itself. This file's server blocks for the name are removed, so Chat's vhost is the only answer and Cloudflare
++# reaches it directly.
# openvibe.email: not parked since 2026-11-07. OpenVibe.Mail serves it (its own vhost, deploy/nginx/openvibe.email.conf in
# OpenVibe.Mail, installed by ovhost's mail deploy).
ddiff --git a/server/db/database.js b/server/db/database.js
iindex 45a7b3a3..232b961a 100644
---- a/server/db/database.js
++++ b/server/db/database.js
@@@ -235,6 +235,11 @@ async function seedDb(db, { log = console } = {}) {
log.log(`[DB] OAuth2 client ${c.client_id} renamed to ${c.name}`);
}
}
++ // Watch Together v1 (plan R1): Chat signs people in on openvibe.party too, with its own host-only session, so its
++ // client takes a second callback beside openvibe.chat's. Chat's principal is provisioned by hand
++ // (server/setup/service-principal.js create chat), so this adds the URI where the client exists rather than
++ // creating one.
++ await mergeRedirectUris(db, 'chat', ['https://openvibe.party/auth/callback'], { log });
if (seededAny) console.log('[DB] New OAuth2 clients seeded; their secrets are in oauth_clients (they are never logged).');
}
mark('oauth clients');