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]>
This commit is contained in:
1 parent
455dae1013
commit
d8332b21a8
12 files changed
+1492
-12
No files matched your search
@@ -81,3 +81,19 @@ func TestSendMessageRoundTrip(t *testing.T) {
|
||||
t.Fatal("a G2cResult parsed as a C2gSendMessage")
|
||||
}
|
||||
}
|
||||
|
||||
func TestSubscriptionOps(t *testing.T) {
|
||||
// A subscription with a plain queue, and one with an op ID and a property (field 3), which survives re-encoding.
|
||||
withProps := appendBytesField(appendVarintField(appendBytesField(nil, 1, []byte("/chat/9")), 2, 7), 3, []byte("x"))
|
||||
data := appendBytesField(appendBytesField(nil, 1, []byte("/user/1")), 2, withProps)
|
||||
s, err := ParseSubscriptionOps(data)
|
||||
if err != nil || len(s.Queues) != 1 || len(s.WithResults) != 1 || s.WithResults[0].Queue != "/chat/9" || s.WithResults[0].OpID != 7 {
|
||||
t.Fatalf("%+v %v", s, err)
|
||||
}
|
||||
if string(s.Marshal()) != string(data) {
|
||||
t.Fatal("re-encoded differently")
|
||||
}
|
||||
if all := s.All(); len(all) != 2 || all[1] != "/chat/9" {
|
||||
t.Fatalf("all %v", all)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user