Skip to content

Commit ed7f3cb

Browse files
committed
fix infinite waiting
1 parent cf8de8c commit ed7f3cb

File tree

2 files changed

+21
-14
lines changed

2 files changed

+21
-14
lines changed

zulip/api/real_time_events/event_types_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ func Test_UpdateMessageEvent(t *testing.T) {
147147
_, _, updateErr = apiClient.UpdateMessage(ctx, messageID).
148148
Content(newContent).
149149
Execute()
150+
close(wait)
150151
}()
151152

152153
// Get events
@@ -294,6 +295,7 @@ func Test_UpdateMessageFlagsEvent(t *testing.T) {
294295
Op("add").
295296
Flag("starred").
296297
Execute()
298+
close(wait)
297299
}()
298300

299301
// Get events

zulip/api/real_time_events/example_test.go

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -36,29 +36,34 @@ func Example() {
3636
Narrow(z.Where(z.IsDirectMessage())).
3737
Execute()
3838

39-
queueID := *registerResp.QueueID
39+
var queueID string
40+
if registerResp.QueueID != nil {
41+
queueID = *registerResp.QueueID
42+
}
4043
lastEventID := registerResp.LastEventID
4144

4245
// Create an event queue handler for processing events
43-
queue := realtimeevents.NewEventQueue(client, nil)
46+
queue := realtimeevents.NewEventQueue(client)
4447

4548
// Connect to the event queue
4649
channel, _ := queue.Connect(ctx, queueID, lastEventID)
4750
defer queue.Close()
4851

49-
// Process events
50-
for event := range channel {
51-
// Check if this is a message event
52-
msgEvent, ok := event.(events.MessageEvent)
53-
if !ok {
54-
continue
55-
}
52+
if channel != nil {
53+
// Process events
54+
for event := range channel {
55+
// Check if this is a message event
56+
msgEvent, ok := event.(events.MessageEvent)
57+
if !ok {
58+
continue
59+
}
5660

57-
// Echo the message back
58-
_, _, _ = client.SendMessage(ctx).
59-
To(z.UserAsRecipient(msgEvent.Message.SenderID)).
60-
Content(fmt.Sprintf("Echo: %s", msgEvent.Message.Content)).
61-
Execute()
61+
// Echo the message back
62+
_, _, _ = client.SendMessage(ctx).
63+
To(z.UserAsRecipient(msgEvent.Message.SenderID)).
64+
Content(fmt.Sprintf("Echo: %s", msgEvent.Message.Content)).
65+
Execute()
66+
}
6267
}
6368
// Output:
6469
}

0 commit comments

Comments
 (0)