Peter Steinberger
035028208f
test: trim line webhook/slack setup prompts
2026-04-01 08:02:26 +01:00
Peter Steinberger
709668ccd1
test: trim line/twitch setup validations
2026-04-01 07:46:25 +01:00
Peter Steinberger
1f97f907b2
test: centralize registry-backed channel contracts
2026-04-01 01:53:23 +01:00
Peter Steinberger
b910cc5869
test: remove extension manifest and core-extension wrappers
2026-04-01 01:44:43 +01:00
Peter Steinberger
9ea7e06460
build: bump version to 2026.4.1
2026-03-31 22:53:17 +01:00
Peter Steinberger
213a704b71
fix: unblock 2026.3.31 release preflight
2026-03-31 21:54:12 +01:00
Peter Steinberger
2a60e34f2a
build: prepare 2026.3.31 stable release
2026-03-31 21:32:38 +01:00
Peter Steinberger
91be36ca4f
build: prepare 2026.3.31-beta.1 release
2026-03-31 19:32:49 +01:00
Peter Steinberger
c425ef3e74
build: bump version to 2026.3.31
2026-03-31 15:48:00 +01:00
Vincent Koc
57c47d8c7f
fix(line): bound preverify webhook concurrency ( #58199 )
...
* fix(line): bound preverify webhook concurrency
* test(line): cover preauth release timing
* fix(line): release webhook preauth slots earlier
2026-03-31 19:34:25 +09:00
Peter Steinberger
f7285e0a9e
test: speed up extension suites
2026-03-31 02:25:02 +01:00
Peter Steinberger
f3bf7fe53a
chore: bump version to 2026.3.30
2026-03-30 09:28:29 +09:00
Peter Steinberger
8861cdbb6f
refactor(plugin-sdk): untangle extension test seams
2026-03-29 23:43:53 +01:00
Peter Steinberger
f1af7d66d2
chore: bump version to 2026.3.29
2026-03-29 14:33:12 +01:00
Peter Steinberger
8e0ab35b0e
refactor(plugins): decouple bundled plugin runtime loading
2026-03-29 09:10:38 +01:00
Peter Steinberger
c48e0f8e6a
style: normalize import order and formatting
2026-03-29 16:33:22 +09:00
Jackjin
a0407c7254
fix(line): preserve underscores inside words in stripMarkdown ( #47465 )
...
Fixes #46185 .
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm test -- extensions/line/src/markdown-to-line.test.ts src/tts/prepare-text.test.ts
Note: `pnpm check` currently fails on unchanged `extensions/microsoft/speech-provider.test.ts` lines 108 and 139 on the rebased base, outside this PR diff.
2026-03-28 21:31:09 -05:00
Tak Hoffman
f1970b8aef
fix(line): normalize canonical ACP targets ( #56713 )
2026-03-28 21:05:34 -05:00
Tak Hoffman
6f7ff545dd
fix(line): add ACP binding parity ( #56700 )
...
* fix(line): support ACP current-conversation binding
* fix(line): add ACP binding routing parity
* docs(changelog): note LINE ACP parity
* fix(line): accept canonical ACP binding targets
2026-03-28 20:52:31 -05:00
Masato Hoshino
9449e54f4f
feat(line): add outbound media support for image, video, and audio
...
pnpm install --frozen-lockfile
pnpm build
pnpm check
pnpm vitest run extensions/line/src/channel.sendPayload.test.ts extensions/line/src/send.test.ts extensions/line/src/outbound-media.test.ts
Co-authored-by: masatohoshino <246810661+masatohoshino@users.noreply.github.com>
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
2026-03-28 20:51:16 -05:00
Peter Steinberger
f9b1079283
build: cut 2026.3.28 stable
2026-03-29 02:33:41 +01:00
Peter Steinberger
148a65fe90
refactor: share webhook channel status helpers
2026-03-29 02:11:22 +01:00
karesansui
acbdafc4f4
fix: propagate webhook mode to health monitor snapshot
...
Webhook channels (LINE, Zalo, Nextcloud Talk, BlueBubbles) are
incorrectly flagged as stale-socket during quiet periods because
snapshot.mode is always undefined, making the mode !== "webhook"
guard in evaluateChannelHealth dead code.
Add mode: "webhook" to each webhook plugin's describeAccount and
propagate described.mode in getRuntimeSnapshot.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-29 02:01:25 +01:00
Peter Steinberger
acca306665
fix: polish LINE status snapshot checks ( #45701 ) (thanks @tamaosamu)
2026-03-29 00:57:04 +00:00
劉超
03941e2dbf
fix(line): use configured field in collectStatusIssues instead of raw token
...
collectStatusIssues previously checked account.channelAccessToken directly,
but this field is stripped by projectSafeChannelAccountSnapshotFields for
security. This caused 'openclaw status' to always report WARN even when the
token is valid and the LINE provider starts successfully.
Use account.configured instead, which is already computed by
buildChannelAccountSnapshot and correctly reflects whether credentials
are present. This is consistent with how other channels (e.g. Telegram)
implement their status checks.
Fixes #45693
2026-03-29 00:57:04 +00:00
Peter Steinberger
fcc9fd1623
fix: land LINE timing-safe signature validation ( #55663 ) (thanks @gavyngong)
2026-03-29 00:43:17 +00:00
gavyngong
7626d18c64
fix(line): eliminate timing side-channel in HMAC signature validation
...
Pad both buffers to equal length before constant-time comparison.
Key fix: call timingSafeEqual unconditionally and store the result
before the && length check, ensuring the constant-time comparison
always runs regardless of buffer lengths. This avoids JavaScript's
&& short-circuit evaluation which would skip timingSafeEqual on
length mismatches, preserving the timing side-channel.
Changes:
- Pad hash and signature buffers to maxLen before comparison
- Store timingSafeEqual result before combining with length check
- Add explanatory comment about the short-circuit avoidance
2026-03-29 00:43:17 +00:00
Peter Steinberger
587e18cd3f
chore: prepare 2026.3.28-beta.1 release
2026-03-28 22:24:51 +00:00
Peter Steinberger
8a24cbf450
chore: bump version to 2026.3.28
2026-03-28 22:05:21 +00:00
Peter Steinberger
02d4c1f2c3
refactor: derive channel metadata from plugin manifests
2026-03-28 17:17:10 +00:00
Peter Steinberger
838013c87a
refactor: expose webhook request guard sdk seam
2026-03-28 05:17:19 +00:00
Tak Hoffman
b9415ca24b
fix(regression): preserve line pairing account context
2026-03-27 23:09:05 -05:00
Peter Steinberger
0d0d46f5e9
refactor: route line media temp paths through temp-path sdk
2026-03-28 03:57:46 +00:00
Peter Steinberger
491969efb0
refactor: route channel activity through channel runtime
2026-03-28 02:53:03 +00:00
Peter Steinberger
05719648a1
test(line): isolate status probe fallback import state
2026-03-28 02:31:39 +00:00
Peter Steinberger
4031bb1914
refactor: trim secret and ssrf helper runtime seams
2026-03-28 02:25:28 +00:00
Peter Steinberger
72ba2b3653
chore: bump version metadata to 2026.3.27
2026-03-28 02:00:22 +00:00
Tak Hoffman
b9b84f2572
fix(regression): restore line cold-runtime status probing
2026-03-27 20:33:09 -05:00
Peter Steinberger
992b30604d
refactor: move extension-owned tests to extensions
2026-03-27 21:37:09 +00:00
Peter Steinberger
cb5aefb790
fix: sync plugin sdk guardrails and test drift
2026-03-27 20:47:36 +00:00
Peter Steinberger
ae7d93adc4
fix(ci): restore green check after upstream API changes
2026-03-27 20:30:35 +00:00
Peter Steinberger
c28e76c490
refactor: move provider model helpers into plugins
2026-03-27 20:20:31 +00:00
Peter Steinberger
496a1a35bd
fix(test): stabilize line and irc extension suites
2026-03-27 19:32:57 +00:00
Peter Steinberger
605c9306ab
fix(ci): repair extension and discord test gates
2026-03-27 19:26:25 +00:00
Peter Steinberger
051d6f9342
refactor: remove onboarding gateway compat shims
2026-03-27 13:46:16 +00:00
Ayaan Zaidi
8b13710c09
refactor(plugin-sdk): expose zod subpath
2026-03-27 09:55:47 +05:30
Peter Steinberger
ef56d79a6a
refactor: collapse zod setup validators
2026-03-27 03:48:15 +00:00
Peter Steinberger
e6c5ce136e
refactor: share zod setup validators across channels
2026-03-27 03:41:40 +00:00
Peter Steinberger
14b3360c22
chore: bump versions to 2026.3.26
2026-03-27 02:03:22 +00:00
Peter Steinberger
cb76ba2406
test: collapse line channel suites
2026-03-25 04:25:02 +00:00