diff --git a/patches/0031-Show-the-T5-badge-on-rooms-hosted-by-T5DE.patch b/patches/0031-Show-the-T5-badge-on-rooms-needing-T5DE.patch similarity index 55% rename from patches/0031-Show-the-T5-badge-on-rooms-hosted-by-T5DE.patch rename to patches/0031-Show-the-T5-badge-on-rooms-needing-T5DE.patch index 02564fd..74ab54a 100644 --- a/patches/0031-Show-the-T5-badge-on-rooms-hosted-by-T5DE.patch +++ b/patches/0031-Show-the-T5-badge-on-rooms-needing-T5DE.patch @@ -1,10 +1,10 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: dhkatz Date: Fri, 30 Oct 2026 03:20:34 -0700 -Subject: [PATCH] Show the T5 badge on rooms hosted by T5DE +Subject: [PATCH] Show the T5 badge on rooms needing T5DE -Rooms hosted by T5DE's hub (listed by T5DE's proxy in the chat rooms list) always show the T5 badge: -others need T5DE to be in them. +Rooms needing T5DE to be seen as meant always show the T5 badge in the room list: rooms hosted by +T5DE's hub, and IMVU rooms with T5 decorations (marked by T5DE's proxy). Co-Authored-By: Claude Opus 5.5 T5de-Id: t5de-rooms @@ -12,15 +12,30 @@ T5de-Name: T5 Rooms T5de-Group: rooms T5de-Depends: t5de-proxy --- - imvuContent/chat_rooms/ChatRoom.js | 4 ++++ - imvuContent/chat_rooms/index.html | 1 + - imvuContent/img/icon_t5_medium.png | Bin 0 -> 1210 bytes - imvuContent/widgets/ChatRoom_deprecated.css | 12 ++++++++++++ - 4 files changed, 17 insertions(+) + imvuContent/chat_rooms/ChatModeWithThemes.html | 1 + + imvuContent/chat_rooms/ChatRoom.js | 5 +++++ + imvuContent/chat_rooms/ChatRoomsDataSource.js | 6 ++++++ + imvuContent/chat_rooms/index.html | 1 + + imvuContent/img/icon_t5_medium.png | Bin 0 -> 1210 bytes + imvuContent/widgets/ChatRoom_deprecated.css | 12 ++++++++++++ + imvuContent/widgets/ChatRoom_deprecated.js | 4 ++++ + 7 files changed, 29 insertions(+) create mode 100644 imvuContent/img/icon_t5_medium.png +diff --git a/imvuContent/chat_rooms/ChatModeWithThemes.html b/imvuContent/chat_rooms/ChatModeWithThemes.html +index ff8ab679da3c3911f582e2ce7c98313313f99549..80fef8cc494c8c43fa05eb1b5078e35379bb148d 100644 +--- a/imvuContent/chat_rooms/ChatModeWithThemes.html ++++ b/imvuContent/chat_rooms/ChatModeWithThemes.html +@@ -173,6 +173,7 @@ + + + ++ +
+ +
diff --git a/imvuContent/chat_rooms/ChatRoom.js b/imvuContent/chat_rooms/ChatRoom.js -index 51c9a07fda07660aeb7d8923987d3927b3f3dd02..bb0cdb34acbbadec88679c45c08be9900c71e575 100644 +index 51c9a07fda07660aeb7d8923987d3927b3f3dd02..02ed2b79696b4637c50c5dc314b5f91be208caad 100644 --- a/imvuContent/chat_rooms/ChatRoom.js +++ b/imvuContent/chat_rooms/ChatRoom.js @@ -85,6 +85,7 @@ IMVU.Client.widget.ChatRoom.prototype = { @@ -31,16 +46,34 @@ index 51c9a07fda07660aeb7d8923987d3927b3f3dd02..bb0cdb34acbbadec88679c45c08be990 this.$avIcon = this.$('.av.icon'); this.$vipIcon = this.$('.vip.icon'); this.$icons = this.$('.icon'); -@@ -175,6 +176,9 @@ IMVU.Client.widget.ChatRoom.prototype = { +@@ -175,6 +176,10 @@ IMVU.Client.widget.ChatRoom.prototype = { ellipsize(this.$roomName, 130); this.$apIcon.toggle(this.roomInfo.is_ap == 1); this.$apPlusIcon.toggle(this.roomInfo.is_ap == 4); -+ // T5DE: rooms hosted by T5DE's hub (room numbers above 2100000000) always show the T5 badge: they need T5DE. -+ var isT5 = parseInt(this.roomInfo.customers_room_id, 10) > 2100000000; ++ // T5DE: rooms needing T5DE to be seen as meant always show the T5 badge: hosted by T5DE's hub (room numbers ++ // above 2100000000), or with T5 decorations (t5de_t5, from T5DE's proxy). ++ var isT5 = parseInt(this.roomInfo.customers_room_id, 10) > 2100000000 || this.roomInfo.t5de_t5 == 1; + this.$t5Icon.toggle(isT5).toggleClass('below-ap', isT5 && (this.roomInfo.is_ap == 1 || this.roomInfo.is_ap == 4)); this.$vipIcon.toggle(this.roomInfo.is_vip); this.$avIcon.toggle(this.roomInfo.is_age_verified_only); this.$description.html(this.roomInfo.description); +diff --git a/imvuContent/chat_rooms/ChatRoomsDataSource.js b/imvuContent/chat_rooms/ChatRoomsDataSource.js +index c647702b9e4fbe8b5d6cea90c03be73b65cfad27..3519170e949fb0da360ef8e2065bb1bf269f2f3e 100644 +--- a/imvuContent/chat_rooms/ChatRoomsDataSource.js ++++ b/imvuContent/chat_rooms/ChatRoomsDataSource.js +@@ -39,6 +39,12 @@ IMVU.ChatRoomsDataSource = function (params, net, imvuCall) { + keys.push('is_favorite'); + } + ++ // T5DE: 1 for rooms needing T5DE to be seen as meant (hosted by T5DE's hub, or with T5 decorations), from ++ // T5DE's proxy. ++ if (oFullResponse.t5de_t5) { ++ keys.push('t5de_t5'); ++ } ++ + if (oFullResponse.room_size){ + keys.push('room_size'); + } diff --git a/imvuContent/chat_rooms/index.html b/imvuContent/chat_rooms/index.html index 66018c4aeab667e44b2dba444ff449b179249037..cab3079f9af8d44667db403c6b957d48de09285d 100644 --- a/imvuContent/chat_rooms/index.html @@ -109,3 +142,18 @@ index 5eda64919291818395710d54dab438468f7e553d..bc2fe52dfcaaa09c9ccf4a0f95ed49ff .room-widget .vip.icon { position: absolute; right: -8px; +diff --git a/imvuContent/widgets/ChatRoom_deprecated.js b/imvuContent/widgets/ChatRoom_deprecated.js +index ab15f8b8b01ab329749e4f3f8cfad941c50d52d9..9ff1a724bfa37106d5e42001e0743703118b8281 100644 +--- a/imvuContent/widgets/ChatRoom_deprecated.js ++++ b/imvuContent/widgets/ChatRoom_deprecated.js +@@ -72,6 +72,10 @@ IMVU.Client.widget.ChatRoom_deprecated = function (args) { + this.$apPlusIcon.bind('click', function () { + this.imvu.call('showApPlusInfo'); + }.bind(this)); ++ // T5DE: rooms needing T5DE to be seen as meant always show the T5 badge: hosted by T5DE's hub (room numbers ++ // above 2100000000), or with T5 decorations (t5de_t5, from T5DE's proxy). ++ var isT5 = parseInt(room.roomId, 10) > 2100000000 || info.t5de_t5 == 1; ++ this.$root.find('.t5.icon').toggle(isT5).toggleClass('below-ap', isT5 && !!(room.ap || room.applus)); + + this.$vipIcon = this.$root.find('.vip.icon'); + this.$vipIcon.toggle(!!room.vip);