mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 18:50:42 +00:00
fix: tighten inbound replay typing
This commit is contained in:
@@ -99,13 +99,14 @@ describe("createNextcloudTalkWebhookServer replay handling", () => {
|
||||
stateDir: params.stateDir,
|
||||
});
|
||||
|
||||
return async (message: NextcloudTalkInboundMessage) =>
|
||||
return async (message: NextcloudTalkInboundMessage): Promise<void> => {
|
||||
await processNextcloudTalkReplayGuardedMessage({
|
||||
replayGuard,
|
||||
accountId: params.accountId ?? "acct",
|
||||
message,
|
||||
handleMessage: () => params.handleMessage(message),
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
it("acknowledges replayed requests and skips onMessage side effects", async () => {
|
||||
|
||||
@@ -46,6 +46,10 @@ function shouldClearSocketRefAfterSendFailure(err: unknown): boolean {
|
||||
return /closed|reset|disconnect|no active socket/i.test(formatError(err));
|
||||
}
|
||||
|
||||
function isNonEmptyString(value: string | undefined): value is string {
|
||||
return Boolean(value);
|
||||
}
|
||||
|
||||
export type MonitorWebInboxOptions = {
|
||||
verbose: boolean;
|
||||
accountId: string;
|
||||
@@ -132,11 +136,7 @@ export async function attachWebInboxToSocket(
|
||||
error?: unknown,
|
||||
): Promise<void> => {
|
||||
const dedupeKeys = [
|
||||
...new Set(
|
||||
entries
|
||||
.map((entry) => entry.dedupeKey)
|
||||
.filter((dedupeKey): dedupeKey is string => Boolean(dedupeKey)),
|
||||
),
|
||||
...new Set(entries.map((entry) => entry.dedupeKey).filter(isNonEmptyString)),
|
||||
];
|
||||
if (dedupeKeys.length === 0) {
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user