mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-27 21:07:01 -06:00
fix(slack): time out stalled external file uploads (#103442)
* fix(slack): time out stalled external file uploads * fix(slack): scope external upload timeout * fix(slack): restrict external upload transport * fix(slack): restrict external upload transport * fix(slack): preserve external upload retry safety * test(slack): use compatible guarded fetch runtime * test(plugin-sdk): update public export baseline * fix(slack): harden external upload delivery * refactor(slack): isolate upload completion Keep ordinary Enterprise Grid traffic on the Bolt listener client. Use a team-scoped no-retry client only for one-shot external upload completion, while preserving the bounded raw-upload timeout and safe durable replay classification. * fix(slack): refresh upload release metadata * chore(slack): leave release notes release-owned * fix(slack): classify failed uploads before completion * fix(slack): keep upload completion untimed * test(plugin-sdk): refresh public export baseline --------- Co-authored-by: Peter Steinberger <steipete@gmail.com>
This commit is contained in:
@@ -75,6 +75,15 @@ Receipts without platform message identifiers are local receipt metadata only.
|
||||
Channels with read receipts or device-delivery state should track those facts
|
||||
through a separate channel-specific path.
|
||||
|
||||
If a channel adapter can prove that retrying a failure cannot duplicate a
|
||||
recipient-visible send and no finalization-capable call began, throw
|
||||
`new PlatformMessageNotDispatchedError("...", { cause: error })` from
|
||||
`openclaw/plugin-sdk/error-runtime`. Core can then clear stale send-attempt
|
||||
evidence and safely retry the queued intent. Only the adapter that owns the
|
||||
final dispatch boundary may make this assertion. Never use the marker after a
|
||||
finalization/send call begins or returns an ambiguous result; false marking can
|
||||
duplicate messages.
|
||||
|
||||
## Existing outbound adapters
|
||||
|
||||
If the channel already has a compatible `outbound` adapter, derive the
|
||||
|
||||
@@ -444,7 +444,7 @@ SDK.
|
||||
| `plugin-sdk/exec-approvals-runtime` | Exec approval policy helpers | `loadExecApprovals`, `resolveExecApprovalsFromFile`, `ExecApprovalsFile` |
|
||||
| `plugin-sdk/collection-runtime` | Bounded cache helpers | `pruneMapToMaxSize` |
|
||||
| `plugin-sdk/diagnostic-runtime` | Diagnostic gating helpers | `isDiagnosticFlagEnabled`, `isDiagnosticsEnabled` |
|
||||
| `plugin-sdk/error-runtime` | Error formatting helpers | `formatUncaughtError`, `isApprovalNotFoundError`, error graph helpers |
|
||||
| `plugin-sdk/error-runtime` | Error helpers | `formatUncaughtError`, `isApprovalNotFoundError`, error graph helpers, `PlatformMessageNotDispatchedError` |
|
||||
| `plugin-sdk/fetch-runtime` | Wrapped fetch/proxy helpers | `resolveFetch`, proxy helpers, EnvHttpProxyAgent option helpers |
|
||||
| `plugin-sdk/host-runtime` | Host normalization helpers | `normalizeHostname`, `normalizeScpRemoteHost` |
|
||||
| `plugin-sdk/retry-runtime` | Retry helpers | `RetryConfig`, `retryAsync`, policy runners |
|
||||
|
||||
@@ -326,7 +326,7 @@ usage endpoint failed or returned no usable usage data.
|
||||
| `plugin-sdk/infra-runtime` | Deprecated compatibility shim; use the focused runtime subpaths above |
|
||||
| `plugin-sdk/collection-runtime` | Small bounded cache helpers |
|
||||
| `plugin-sdk/diagnostic-runtime` | Diagnostic flag, event, and trace-context helpers |
|
||||
| `plugin-sdk/error-runtime` | Error graph, formatting, shared error classification helpers, `isApprovalNotFoundError` |
|
||||
| `plugin-sdk/error-runtime` | Error graph, formatting, shared error classification helpers, `PlatformMessageNotDispatchedError`, `isApprovalNotFoundError` |
|
||||
| `plugin-sdk/fetch-runtime` | Wrapped fetch, proxy, EnvHttpProxyAgent option, and pinned lookup helpers |
|
||||
| `plugin-sdk/runtime-fetch` | Dispatcher-aware runtime fetch without proxy/guarded-fetch imports |
|
||||
| `plugin-sdk/inline-image-data-url-runtime` | Inline image data URL sanitizer and signature sniffing helpers without the broad media runtime surface |
|
||||
|
||||
Reference in New Issue
Block a user