@openclaw/nextcloud-talk 2026.8.2 → 2026.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/api.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as nextcloudTalkPlugin } from "./channel-n-lgbvCj.js";
1
+ import { t as nextcloudTalkPlugin } from "./channel-D2RVrR4p.js";
2
2
  export { nextcloudTalkPlugin };
@@ -23,7 +23,7 @@ import { redactToolPayloadText } from "openclaw/plugin-sdk/logging-core";
23
23
  import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
24
24
  import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime";
25
25
  import { createHmac, randomBytes } from "node:crypto";
26
- import { fileExists, safeEqualSecret } from "openclaw/plugin-sdk/security-runtime";
26
+ import { safeEqualSecret } from "openclaw/plugin-sdk/security-runtime";
27
27
  import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$2 } from "openclaw/plugin-sdk/account-id";
28
28
  import { DmPolicySchema, GroupPolicySchema, MarkdownConfigSchema, ReplyRuntimeConfigSchemaShape, ReplyToModeSchema, buildChannelConfigSchema, buildGroupEntrySchema, buildMultiAccountChannelSchema, requireOpenAllowFrom } from "openclaw/plugin-sdk/channel-config-schema";
29
29
  import { formatAllowFromLowercase, resolveAllowlistMatchByCandidates } from "openclaw/plugin-sdk/allow-from";
@@ -32,6 +32,7 @@ import { requireChannelOpenAllowFrom, resolveLoggerBackedRuntime } from "opencla
32
32
  import { z } from "zod";
33
33
  import os from "node:os";
34
34
  import path from "node:path";
35
+ import { fileExists } from "openclaw/plugin-sdk/file-access-runtime";
35
36
  import { migratePersistentDedupeLegacyJsonFile, resolvePersistentDedupePluginStateNamespace } from "openclaw/plugin-sdk/persistent-dedupe";
36
37
  import { resolveStateDir } from "openclaw/plugin-sdk/state-paths";
37
38
  import { channelReadyPatch } from "openclaw/plugin-sdk/gateway-runtime";
@@ -41,6 +42,7 @@ import { pruneMapToMaxSize } from "openclaw/plugin-sdk/collection-runtime";
41
42
  import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
42
43
  import { createServer } from "node:http";
43
44
  import { WEBHOOK_RATE_LIMIT_DEFAULTS, createAuthRateLimiter, isRequestBodyLimitError, readRequestBodyWithLimit, requestBodyErrorToText, resolveRequestClientIp } from "openclaw/plugin-sdk/webhook-ingress";
45
+ import { sendHttpRequestRejection } from "openclaw/plugin-sdk/webhook-request-guards";
44
46
  import { isRecord } from "openclaw/plugin-sdk/channel-secret-basic-runtime";
45
47
  import { jsonResult, readStringParam, resolveReactionMessageId } from "openclaw/plugin-sdk/channel-actions";
46
48
  import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$1, buildOutboundBaseSessionKey, normalizeAccountId as normalizeAccountId$1 } from "openclaw/plugin-sdk/routing";
@@ -1370,9 +1372,14 @@ function verifyWebhookSignature(params) {
1370
1372
  function readNextcloudTalkWebhookBody(req, maxBodyBytes) {
1371
1373
  return readRequestBodyWithLimit(req, {
1372
1374
  maxBytes: Math.min(maxBodyBytes, PREAUTH_WEBHOOK_MAX_BODY_BYTES),
1373
- timeoutMs: PREAUTH_WEBHOOK_BODY_TIMEOUT_MS
1375
+ timeoutMs: PREAUTH_WEBHOOK_BODY_TIMEOUT_MS,
1376
+ destroyOnLimit: false
1374
1377
  });
1375
1378
  }
1379
+ async function rejectWebhookRequest(req, res, status, error) {
1380
+ if (res.headersSent) return;
1381
+ await sendHttpRequestRejection(req, res, status, JSON.stringify({ error }), "application/json");
1382
+ }
1376
1383
  function createNextcloudTalkWebhookServer(opts) {
1377
1384
  const { port, host, path, secret, onWebhook, onError, abortSignal } = opts;
1378
1385
  const maxBodyBytes = typeof opts.maxBodyBytes === "number" && Number.isFinite(opts.maxBodyBytes) && opts.maxBodyBytes > 0 ? Math.floor(opts.maxBodyBytes) : DEFAULT_WEBHOOK_MAX_BODY_BYTES;
@@ -1425,11 +1432,11 @@ function createNextcloudTalkWebhookServer(opts) {
1425
1432
  writeJsonResponse(res, 200);
1426
1433
  } catch (err) {
1427
1434
  if (isRequestBodyLimitError(err, "PAYLOAD_TOO_LARGE")) {
1428
- writeWebhookError(res, 413, WEBHOOK_ERRORS.payloadTooLarge);
1435
+ await rejectWebhookRequest(req, res, 413, WEBHOOK_ERRORS.payloadTooLarge);
1429
1436
  return;
1430
1437
  }
1431
1438
  if (isRequestBodyLimitError(err, "REQUEST_BODY_TIMEOUT")) {
1432
- writeWebhookError(res, 408, requestBodyErrorToText("REQUEST_BODY_TIMEOUT"));
1439
+ await rejectWebhookRequest(req, res, 408, requestBodyErrorToText("REQUEST_BODY_TIMEOUT"));
1433
1440
  return;
1434
1441
  }
1435
1442
  if (err instanceof NextcloudTalkWebhookPayloadError) {
@@ -1,2 +1,2 @@
1
- import { t as nextcloudTalkPlugin } from "./channel-n-lgbvCj.js";
1
+ import { t as nextcloudTalkPlugin } from "./channel-D2RVrR4p.js";
2
2
  export { nextcloudTalkPlugin };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/nextcloud-talk",
3
- "version": "2026.8.2",
3
+ "version": "2026.9.1",
4
4
  "description": "OpenClaw Nextcloud Talk channel plugin for conversations.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -8,7 +8,7 @@
8
8
  },
9
9
  "type": "module",
10
10
  "peerDependencies": {
11
- "openclaw": ">=2026.8.2"
11
+ "openclaw": ">=2026.9.1"
12
12
  },
13
13
  "peerDependenciesMeta": {
14
14
  "openclaw": {
@@ -129,10 +129,10 @@
129
129
  "minHostVersion": ">=2026.4.10"
130
130
  },
131
131
  "compat": {
132
- "pluginApi": ">=2026.8.2"
132
+ "pluginApi": ">=2026.9.1"
133
133
  },
134
134
  "build": {
135
- "openclawVersion": "2026.8.2"
135
+ "openclawVersion": "2026.9.1"
136
136
  },
137
137
  "release": {
138
138
  "publishToClawHub": true,