tangled
alpha
login
or
join now
stream.place
/
streamplace
Live video on the AT Protocol
74
fork
atom
overview
issues
1
pulls
pipelines
atproto: two chatters
Eli Mallon
5 months ago
2b084ea2
de1b681b
+18
-4
2 changed files
expand all
collapse all
unified
split
pkg
atproto
atproto.go
firehose_test.go
-2
pkg/atproto/atproto.go
···
13
13
"github.com/bluesky-social/indigo/atproto/syntax"
14
14
"github.com/bluesky-social/indigo/repo"
15
15
"github.com/bluesky-social/indigo/xrpc"
16
16
-
"github.com/carlmjohnson/versioninfo"
17
16
"github.com/ipfs/go-cid"
18
17
"go.opentelemetry.io/otel"
19
18
"stream.place/streamplace/pkg/aqhttp"
···
183
182
TryAuthoritativeDNS: true,
184
183
// primary Bluesky PDS instance only supports HTTP resolution method
185
184
SkipDNSDomainSuffixes: []string{".bsky.social"},
186
186
-
UserAgent: "indigo-identity/" + versioninfo.Short(),
187
185
}
188
186
cached := identity.NewCacheDirectory(&base, 250_000, time.Hour*24, time.Minute*2, time.Minute*5)
189
187
return &cached
+18
-2
pkg/atproto/firehose_test.go
···
54
54
}()
55
55
56
56
user := dev.CreateAccount(t)
57
57
+
user2 := dev.CreateAccount(t)
57
58
58
59
msg := &streamplace.ChatMessage{
59
60
LexiconTypeID: "place.stream.chat.message",
···
69
70
})
70
71
require.NoError(t, err)
71
72
73
73
+
msg2 := &streamplace.ChatMessage{
74
74
+
LexiconTypeID: "place.stream.chat.message",
75
75
+
Text: "Hello, world 2!",
76
76
+
CreatedAt: time.Now().Format(util.ISO8601),
77
77
+
Streamer: user.DID,
78
78
+
}
79
79
+
80
80
+
_, err = comatproto.RepoCreateRecord(ctx, user2.XRPC, &comatproto.RepoCreateRecord_Input{
81
81
+
Collection: "place.stream.chat.message",
82
82
+
Repo: user2.DID,
83
83
+
Record: &lexutil.LexiconTypeDecoder{Val: msg2},
84
84
+
})
85
85
+
require.NoError(t, err)
86
86
+
72
87
messages := []*streamplace.ChatDefs_MessageView{}
73
88
err = untilNoErrors(t, func() error {
74
89
messages, err = mod.MostRecentChatMessages(user.DID)
75
90
if err != nil {
76
91
return err
77
92
}
78
78
-
if len(messages) != 1 {
93
93
+
if len(messages) != 2 {
79
94
return fmt.Errorf("expected 1 message, got %d", len(messages))
80
95
}
81
96
return nil
82
97
})
83
98
require.NoError(t, err)
84
84
-
require.Equal(t, msg.Text, messages[0].Record.Val.(*streamplace.ChatMessage).Text)
99
99
+
require.Equal(t, msg.Text, messages[1].Record.Val.(*streamplace.ChatMessage).Text)
100
100
+
require.Equal(t, msg2.Text, messages[0].Record.Val.(*streamplace.ChatMessage).Text)
85
101
86
102
cancel()
87
103
<-done