Skip to content

Commit 7818ee1

Browse files
committed
Only ack messages if handler promise is successful
Signed-off-by: Andrew Richardson <[email protected]>
1 parent 3ca9042 commit 7818ee1

File tree

2 files changed

+3
-5
lines changed

2 files changed

+3
-5
lines changed

lib/firefly.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -397,10 +397,8 @@ export default class FireFly extends HttpBase {
397397
};
398398

399399
const handler: FireFlyWebSocketCallback = (socket, event) => {
400-
this.queue = this.queue.finally(() => {
401-
callback(socket, event);
402-
});
403-
this.queue.finally(() => {
400+
this.queue = this.queue.finally(() => callback(socket, event));
401+
this.queue.then(() => {
404402
socket.ack(event);
405403
});
406404
};

lib/websocket.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ function buildEphemeralQueryParams(sub: FireFlyEphemeralSubscription) {
1919
}
2020

2121
export interface FireFlyWebSocketCallback {
22-
(socket: FireFlyWebSocket, data: FireFlyEventDelivery): void;
22+
(socket: FireFlyWebSocket, data: FireFlyEventDelivery): void | Promise<void>;
2323
}
2424

2525
export class FireFlyWebSocket {

0 commit comments

Comments
 (0)