Chat Rooms > Manage (the t5de-room-manage patch) lists the person's T5DE rooms
(room_management_info.php?t5de=1) and saves them from IMVU's room dialog (room_management.php: create
with t5de=1, edit and delete naming a hosted room) as hub calls: the room, its moderators by name, and a
picture from the person's IMVU gallery, uploaded to the hub. The hub's refusals show in the dialog
(hub.Error keeps their message).
Avatar cards get show_ap_plus again, which IMVU stopped sending, from the person's public IMVU profile
(is_ap_plus).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Hosted rooms' instance IDs start with their owner's IMVU account now, so the client asks about their
products as the owner itself, and the mapping from 2100000000 is never used.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The invitation carries the room as the dialog shows it (name, owner, image, occupancy, description)
and the inviter's picture, age and gender from IMVU's public profile. Accepting names the room
(room_instance_id), so the client joins it as a public room with the invite rather than opening a
private chat, and getParticipants before joining asks the hub, so the client sees its inviter there.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The client's own room actions work in hosted rooms, through the hub (t5de-hub's docs/hosted-rooms.md,
Phase 2): a "*boot" line goes to the room, then to the hub as room.boot; refused joins are declined as
the client's own are (booted ones as booted). Invitations: chat.attemptInvite polls the hub's answer,
and the invitee's client gets chatInvite on its user queue, accepting with the invite. Favorites
(favorite_rooms.php, add/removeFavoriteRoom, the favorites list), ratings (room_rating.php), the room
card's moderators, image and score, and room_occupancy queues fed from room.watch.
Web API parameters are read from JSON bodies too (imvu.http.securePost), and hosted rows added to an
empty IMVU list keep their flags numeric ("0" counted as set).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
room_info.php (the room card's participants, asked for every room) is answered for hosted rooms from
the hub (it was refused as naming a hosted room, which the client showed as an error), with max_users;
it and getRoomCardInfo get t5de_t5 for hosted and decorated rooms, as do the person's own rooms in
room_management_info.php.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Hosted rooms, and IMVU rooms the hub has decorations for (asked 20 at a time), on every page; hosted
rooms are added to recent rooms from the hub's recent list when it has one.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- The seat chosen on joining, and "*msg SeatAssignment" room seats, go to the hub, so people joining get
free seats (both stood on seat 1).
- Instance IDs are "<owner>-<2100000000+n>" (the hub's change): the client takes the owner from them, so
owners can decorate their rooms.
- A hosted room's scene carries community products as the hub's IDs (placements too), turned into local
IDs by each proxy, instead of being stripped; saved and loaded scenes translate placements too.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Hosted rooms (internal/hosted): room calls for them answered here, their IMQ queues served (a new
proxy.IMQRouter hook takes them out of subscriptions to IMVU), chat relayed through the hub's
WebSocket (hub.Client gains Send, OnRoom and OnConnect), the room list extended, room products
checked against the real owner, and anything else naming a hosted room kept from IMVU.
T5DE_INSTANCE gives a second client's proxy its own data folder and log.
Co-Authored-By: Claude Opus 5.5 <[email protected]>