Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
56c47e806f
commit
6aac769246
3 files changed
+10
-4
No files matched your search
@@ -780,8 +780,11 @@ func (r *Rooms) joinChat(ctx context.Context, n int64, inviteID string) *http.Re
|
|||||||
}
|
}
|
||||||
// Refused as the client's own refusals are (it shows the explanation; booted ones as booted).
|
// Refused as the client's own refusals are (it shows the explanation; booted ones as booted).
|
||||||
reason := int64(0)
|
reason := int64(0)
|
||||||
if a.Reason == "banned" {
|
switch a.Reason {
|
||||||
|
case "banned":
|
||||||
reason = errorPublicRoomBooted
|
reason = errorPublicRoomBooted
|
||||||
|
case "full":
|
||||||
|
reason = errorPublicRoomFull
|
||||||
}
|
}
|
||||||
return xmlrpcAnswer(xmlrpc.Struct{{Name: "response", Value: "declined"}, {Name: "reason", Value: reason}, {Name: "explanation", Value: msg}})
|
return xmlrpcAnswer(xmlrpc.Struct{{Name: "response", Value: "declined"}, {Name: "reason", Value: reason}, {Name: "explanation", Value: msg}})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ func TestHostedRoom(t *testing.T) {
|
|||||||
t.Fatalf("events %v", *events)
|
t.Fatalf("events %v", *events)
|
||||||
}
|
}
|
||||||
// A full room: the client is told why.
|
// A full room: the client is told why.
|
||||||
if resp, _ := xmlrpcCall(t, r, "chat.imvu.com", "chat.getOrMakeChat", xmlrpc.Struct{{Name: "activity", Value: "publicroom-88-2100000009"}}); get(resp.Params[0], "response") != "declined" || get(resp.Params[0], "explanation") != "This room is full." {
|
if resp, _ := xmlrpcCall(t, r, "chat.imvu.com", "chat.getOrMakeChat", xmlrpc.Struct{{Name: "activity", Value: "publicroom-88-2100000009"}}); get(resp.Params[0], "response") != "declined" || get(resp.Params[0], "explanation") != "This room is full." || get(resp.Params[0], "reason") != int64(5) {
|
||||||
t.Fatalf("full room: %+v", resp)
|
t.Fatalf("full room: %+v", resp)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,8 +20,11 @@ import (
|
|||||||
"git.t5de.dev/t5de/t5de-proxy/internal/xmlrpc"
|
"git.t5de.dev/t5de/t5de-proxy/internal/xmlrpc"
|
||||||
)
|
)
|
||||||
|
|
||||||
// errorPublicRoomBooted is the client's reason code for being refused a room it was booted from.
|
// The client's reason codes for refused joins: booted (it shows "booted"), and full (IMVU's own wording).
|
||||||
const errorPublicRoomBooted = 4
|
const (
|
||||||
|
errorPublicRoomFull = 5
|
||||||
|
errorPublicRoomBooted = 4
|
||||||
|
)
|
||||||
|
|
||||||
// invite is an invitation the client sent (outgoing, by the local ID the client knows) or got (incoming).
|
// invite is an invitation the client sent (outgoing, by the local ID the client knows) or got (incoming).
|
||||||
type invite struct {
|
type invite struct {
|
||||||
|
|||||||
Reference in new issue
Block a user