on master help sign in
Fix STM type mismatch in pollOnce by using let-in chains instead of do-yield
commit5d7934032e03fd824e66816d3461638b585cf7bc authoriko <mail@iko.soy> dateSun 19 Apr 2026, 03:21 (6 months ago) parent4543779
1 file changed+3−3
server.knot+3−3
server.knot+3−3
@@ -830,15 +830,15 @@ pollOnce = \token cursor -> do
830830 yield m
831831 let limitedMsgs = boundedSmallest matchingMsgs maxPollEvents (\m -> m.receivedAt)
832832 if count limitedMsgs == 0 then retry
833− else do
833+ else
834834 let evts = do
835835 m <- limitedMsgs
836836 yield {id: m.messageId, eventType: "message",
837837 payload: {toKey: m.toKey, fromKey: m.fromKey,
838838 encryptedBlob: m.encryptedBlob,
839839 timestamp: m.timestamp}}
840− let lastReceivedAt = fold (\acc m -> max acc m.receivedAt) clampedCursor limitedMsgs
841− yield (PollOk {events: evts, cursor: lastReceivedAt})
840+ in let lastReceivedAt = fold (\acc m -> max acc m.receivedAt) clampedCursor limitedMsgs
841+ in yield (PollOk {events: evts, cursor: lastReceivedAt})
842842
843843-- ============================================
844844-- Request Handler