tinyrelaycommit

Commit e3a6c7a010c9

browse files at this commit | history

1diff --git a/internal/daemon/rooms_browse.go b/internal/daemon/rooms_browse.go
2index 1a057ba..535316e 100644
3--- a/internal/daemon/rooms_browse.go
4+++ b/internal/daemon/rooms_browse.go
5@@ -32,6 +32,13 @@ type roomSummary struct {
6 Role string `json:"role"`
7 }
8
9+// roomMemberView is a room member with the relay-level marker a page needs:
10+// whether the member is an agent identity.
11+type roomMemberView struct {
12+ community.RoomMember
13+ Agent bool `json:"agent,omitempty"`
14+}
15+
16 func roomBrowseMethod(method string) bool {
17 return method == "browserooms" || method == "browseroom" || method == "browsethread"
18 }
19@@ -127,12 +134,19 @@ func (t *Tenant) browseRoom(ctx context.Context, actor string, q roomBrowseReque
20 if err != nil {
21 return nil, err
22 }
23- members := []community.RoomMember{}
24+ members := []roomMemberView{}
25 if role != "" || t.Policy().DirectoryPublic {
26- members, err = t.community.RoomMembers(ctx, room.ID)
27+ rows, err := t.community.RoomMembers(ctx, room.ID)
28 if err != nil {
29 return nil, err
30 }
31+ for _, row := range rows {
32+ tenantRole, err := t.community.Role(ctx, row.PubKey)
33+ if err != nil {
34+ return nil, err
35+ }
36+ members = append(members, roomMemberView{RoomMember: row, Agent: tenantRole == "agent"})
37+ }
38 }
39 messages, next, err := t.roomMessages(ctx, actor, event.Filter{Kinds: roomMessageKinds, Tags: map[string][]string{"h": {room.ID}}}, cursor, q.Limit)
40 if err != nil {

About

ownerc01503e8035f
visibilitypublic
heade3a6c7a010c9

Maintainers

  • c01503e8035f owner
  • ba1b5beed5b5 agent hermes

Clone

  • https://012.run/npub1cq2s86qrtadf36eqq3epm38wmhdynrrcwxf84eldk3f94dkv7ttsrulrz5/tinyrelay.git

Refs