remove unpublished rooms from catalogs

This commit is contained in:
Devin Zuczek
2026-08-07 13:38:24 -04:00
parent 8bd76a4bae
commit 9bb43f7b9c
4 changed files with 101 additions and 7 deletions
+10 -4
View File
@@ -771,7 +771,10 @@ const app = new Hono<App>()
// Rooms created/owned by the caller. Auth-gated — no token is a 401, never
// account 1. `ownedby/me` drops the dorm (it's not a room the player made);
// the `createdby` variants return everything the account created.
// the `createdby` variants return everything the account created. None of them
// filter on Accessibility: these are the owner's own "My Rooms" lists, so a room
// they haven't published yet (a fresh clone is Private) has to show up here.
// Only the public `ownedby/:accountId` profile list is accessibility-filtered.
.get(
'/roomserver/rooms/createdby/me',
describeRoute({
@@ -795,7 +798,9 @@ const app = new Hono<App>()
description: [
'The callers own rooms with the dorm filtered out: a dorm is auto-provisioned, not a',
'room the player made, so it doesnt belong in the “rooms you own” list. Use',
'`createdby/me` for everything the account created.',
'`createdby/me` for everything the account created. Accessibility is deliberately NOT',
'filtered — this is the owners own list, so unpublished (Private) rooms appear, unlike',
'the public `ownedby/{accountId}` profile list.',
].join(' '),
security: AUTHED,
responses: {
@@ -1076,8 +1081,9 @@ const app = new Hono<App>()
'Copies a rooms content (scene, subrooms, settings) into a new room owned by the',
'caller. Cloning is the only way to make a room, so the per-account room cap is',
'enforced here — it counts the rooms the account created, minus their auto-provisioned',
'dorm (`MAX_ROOMS_PER_ACCOUNT`; 0 lifts the cap). The clone starts with no tags and',
'`IsRRO` cleared.',
'dorm (`MAX_ROOMS_PER_ACCOUNT`; 0 lifts the cap). The clone starts with no tags,',
'`IsRRO` cleared, and PRIVATE accessibility — a new room is unpublished until its',
'owner sets its accessibility, so it never lands in the public feeds on creation.',
'',
'Rejections — a blank or taken name, the cap, a source that disallows cloning — are',
'HTTP 200 with `success: false` and the message the client shows.',