Fedify 2.0.3
Released on March 3, 2026.
@fedify/postgres
-
Fixed
PostgresMessageQueue.listen()crashing the process when a malformedNOTIFYpayload is received.Temporal.Duration.from()was called without error handling, so an invalid duration string caused an unhandledRangeErrorthat propagated through the postgres driver. TheNOTIFYcallback is now wrapped in atry–catchthat logs the error and falls back to an immediate poll. [#594] -
Fixed
PostgresMessageQueue.listen()permanently stalling all message processing when a message handler hangs indefinitely (e.g., due to an unresponsive remote server). TheserializedPollmechanism chains everypoll()invocation onto a single promise, so a single hung handler blocked the entire queue permanently. Handler invocations are now wrapped with a configurable timeout (default: 60 seconds) via the newhandlerTimeoutoption inPostgresMessageQueueOptions. When a handler exceeds the timeout, it is treated as an error and the poll loop moves on, preventing permanent stalls. [#595]