mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-21 10:16:44 +00:00
fix(reef): keep accepted receipt audits serializable
This commit is contained in:
@@ -42,6 +42,7 @@ Docs: https://docs.openclaw.ai
|
||||
|
||||
### Fixes
|
||||
|
||||
- **Reef receipt recovery:** keep accepted delivery audit records JSON-serializable so inbox replay can advance after a gateway restart.
|
||||
- **Gateway control-plane rate limiting:** use per-method buckets with a 30-per-minute budget so interactive admin writes remain responsive while retaining runaway-loop protection.
|
||||
- **External supervisor restart health:** accept device-identity policy closes only when the replacement gateway lock and listener PID agree, preventing OCM-managed restarts from timing out after a successful handoff. Thanks @shakkernerd.
|
||||
- **ACPX cleanup process inspection:** bound host process-table reads so stalled `ps` calls cannot hang gateway startup or session cleanup while retaining fail-closed ownership checks. Thanks @Alix-007.
|
||||
|
||||
@@ -140,6 +140,8 @@ describe("receipts", () => {
|
||||
"accepted",
|
||||
"rejected",
|
||||
]);
|
||||
expect(entries[0]!.event.payload).not.toHaveProperty("category");
|
||||
expect(entries[1]!.event.payload).toMatchObject({ category: "guard_deny" });
|
||||
await expect(
|
||||
confirmDelivery({ ...accepted, bodyHash: "e".repeat(64) }, identity.signing.publicKey, audit),
|
||||
).rejects.toThrow("invalid delivery receipt");
|
||||
|
||||
@@ -61,7 +61,7 @@ export async function confirmDelivery(
|
||||
return appendAudit(audit, "confirm_delivery", {
|
||||
receipt,
|
||||
status: receipt.status,
|
||||
category: receipt.category,
|
||||
...(receipt.category ? { category: receipt.category } : {}),
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user