Tak Hoffman
|
774b40467b
|
fix(zalouser): stop inheriting dm allowlist for groups (#46663)
|
2026-03-14 19:10:11 -05:00 |
Peter Steinberger
|
6a61d5504c
|
refactor: share extension deferred and runtime helpers
|
2026-03-14 02:40:28 +00:00 |
Peter Steinberger
|
88244c0942
|
refactor(zalouser): reuse shared name matching helper
|
2026-03-13 01:44:42 +00:00 |
Peter Steinberger
|
b14a5c6713
|
fix(zalouser): require ids for group allowlist auth
|
2026-03-13 01:31:17 +00:00 |
darkamenosa
|
a6711afdc2
|
feat(zalouser): add markdown-to-Zalo text style parsing (#43324)
* feat(zalouser): add markdown-to-Zalo text style parsing
Parse markdown formatting (bold, italic, strikethrough, headings, lists,
code blocks, blockquotes, custom color/style tags) into Zalo native
TextStyle ranges so outbound messages render with rich formatting.
- Add text-styles.ts with parseZalouserTextStyles() converter
- Wire markdown mode into send pipeline (sendMessageZalouser)
- Export TextStyle enum and Style type from zca-client
- Add textMode/textStyles to ZaloSendOptions
- Pass textStyles through sendZaloTextMessage to zca-js API
- Enable textMode:"markdown" in outbound sendText/sendMedia and monitor
- Add comprehensive tests for parsing, send, and channel integration
* fix(zalouser): harden markdown text parsing
* fix(zalouser): mirror zca-js text style types
* fix(zalouser): support tilde fenced code blocks
* fix(zalouser): handle quoted fenced code blocks
* fix(zalouser): preserve literal quote lines in code fences
* fix(zalouser): support indented quoted fences
* fix(zalouser): preserve quoted markdown blocks
* fix(zalouser): rechunk formatted messages
* fix(zalouser): preserve markdown structure across chunks
* fix(zalouser): honor chunk limits and CRLF fences
|
2026-03-12 16:24:15 +07:00 |
Peter Steinberger
|
fcdc1a13e1
|
fix: land #33992 from @darkamenosa
Co-authored-by: Tom <hxtxmu@gmail.com>
|
2026-03-08 04:49:04 +00:00 |
Peter Steinberger
|
c91bfa830a
|
refactor: share route-level group gating decisions
|
2026-03-07 23:27:51 +00:00 |
Peter Steinberger
|
2bcd56cfac
|
refactor: unify DM pairing challenge flows
|
2026-03-07 20:33:50 +00:00 |
Gustavo Madeira Santana
|
5c4ab999b0
|
Plugins/zalouser: migrate to scoped plugin-sdk imports
|
2026-03-04 02:35:13 -05:00 |
Gustavo Madeira Santana
|
37a8caee42
|
Extensions: migrate zalouser plugin-sdk imports
|
2026-03-04 01:21:30 -05:00 |
Peter Steinberger
|
19fafed11d
|
refactor(zalouser): extract policy and message helpers
|
2026-03-02 22:16:47 +00:00 |
Peter Steinberger
|
f9025c3f55
|
feat(zalouser): add reactions, group context, and receipt acks
|
2026-03-02 22:08:11 +00:00 |
Peter Steinberger
|
99a3db6ba9
|
fix(zalouser): enforce group mention gating and typing
|
2026-03-02 21:53:54 +00:00 |
Tak Hoffman
|
1ea42ebe98
|
fix(tsgo): unblock baseline type errors (#31873)
|
2026-03-02 10:09:49 -06:00 |
Peter Steinberger
|
ee1b147631
|
fix(zalouser): harden inbound sender id handling
|
2026-03-02 15:44:07 +00:00 |
Peter Steinberger
|
174f2de447
|
feat(zalouser): migrate runtime to native zca-js
|
2026-03-02 15:44:07 +00:00 |
Peter Steinberger
|
f1cab9c5e5
|
fix: stabilize zalouser account-scope regression hook (#26672) (thanks @bmendonca3)
|
2026-03-02 15:34:17 +00:00 |
Peter Steinberger
|
ed21b63bb8
|
refactor(plugin-sdk): share auth, routing, and stream/account helpers
|
2026-03-02 15:21:19 +00:00 |
Peter Steinberger
|
ad8d766f65
|
refactor(extensions): dedupe channel config, onboarding, and monitors
|
2026-03-02 08:54:20 +00:00 |
Peter Steinberger
|
a0c5e28f3b
|
refactor(extensions): use scoped pairing helper
|
2026-02-26 21:57:52 +01:00 |
Peter Steinberger
|
0183610db3
|
refactor: de-duplicate channel runtime and payload helpers
|
2026-02-23 21:25:28 +00:00 |
Peter Steinberger
|
6dd36a6b77
|
refactor(channels): reuse runtime group policy helpers
|
2026-02-22 12:44:23 +01:00 |
Peter Steinberger
|
85e5ed3f78
|
refactor(channels): centralize runtime group policy handling
|
2026-02-22 12:35:41 +01:00 |
Peter Steinberger
|
777817392d
|
fix: fail closed missing provider group policy across message channels (#23367) (thanks @bmendonca3)
|
2026-02-22 12:21:04 +01:00 |
Peter Steinberger
|
b8b43175c5
|
style: align formatting with oxfmt 0.33
|
2026-02-18 01:34:35 +00:00 |
Peter Steinberger
|
31f9be126c
|
style: run oxfmt and fix gate failures
|
2026-02-18 01:29:02 +00:00 |
cpojer
|
d0cb8c19b2
|
chore: wtf.
|
2026-02-17 13:36:48 +09:00 |
Sebastian
|
ed11e93cf2
|
chore(format)
|
2026-02-16 23:20:16 -05:00 |
cpojer
|
90ef2d6bdf
|
chore: Update formatting.
|
2026-02-17 09:18:40 +09:00 |
Peter Steinberger
|
544ffbcf7b
|
refactor(extensions): dedupe connector helper usage
|
2026-02-16 14:59:30 +00:00 |
Peter Steinberger
|
53273b490b
|
fix(auto-reply): prevent sender spoofing in group prompts
|
2026-02-10 00:44:38 -06:00 |
mudrii
|
5d82c82313
|
feat: per-channel responsePrefix override (#9001)
* feat: per-channel responsePrefix override
Add responsePrefix field to all channel config types and Zod schemas,
enabling per-channel and per-account outbound response prefix overrides.
Resolution cascade (most specific wins):
L1: channels.<ch>.accounts.<id>.responsePrefix
L2: channels.<ch>.responsePrefix
L3: (reserved for channels.defaults)
L4: messages.responsePrefix (existing global)
Semantics:
- undefined -> inherit from parent level
- empty string -> explicitly no prefix (stops cascade)
- "auto" -> derive [identity.name] from routed agent
Changes:
- Core logic: resolveResponsePrefix() in identity.ts accepts
optional channel/accountId and walks the cascade
- resolveEffectiveMessagesConfig() passes channel context through
- Types: responsePrefix added to WhatsApp, Telegram, Discord, Slack,
Signal, iMessage, Google Chat, MS Teams, Feishu, BlueBubbles configs
- Zod schemas: responsePrefix added for config validation
- All channel handlers wired: telegram, discord, slack, signal,
imessage, line, heartbeat runner, route-reply, native commands
- 23 new tests covering backward compat, channel/account levels,
full cascade, auto keyword, empty string stops, unknown fallthrough
Fully backward compatible - no existing config is affected.
Fixes #8857
* fix: address CI lint + review feedback
- Replace Record<string, any> with proper typed helpers (no-explicit-any)
- Add curly braces to single-line if returns (eslint curly)
- Fix JSDoc: 'Per-channel' → 'channel/account' on shared config types
- Extract getChannelConfig() helper for type-safe dynamic key access
* fix: finish responsePrefix overrides (#9001) (thanks @mudrii)
* fix: normalize prefix wiring and types (#9001) (thanks @mudrii)
---------
Co-authored-by: Gustavo Madeira Santana <gumadeiras@gmail.com>
|
2026-02-04 16:16:34 -05:00 |
cpojer
|
f06dd8df06
|
chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts.
|
2026-02-01 10:03:47 +09:00 |
cpojer
|
230ca789e2
|
chore: Lint extensions folder.
|
2026-01-31 22:42:45 +09:00 |
cpojer
|
8cab78abbc
|
chore: Run `pnpm format:fix`.
|
2026-01-31 21:13:13 +09:00 |
Peter Steinberger
|
9a7160786a
|
refactor: rename to openclaw
|
2026-01-30 03:16:21 +01:00 |
Peter Steinberger
|
6d16a658e5
|
refactor: rename clawdbot to moltbot with legacy compat
|
2026-01-27 12:21:02 +00:00 |
Peter Steinberger
|
458e731f8b
|
fix: newline chunking across channels
|
2026-01-25 04:11:36 +00:00 |
Peter Steinberger
|
d82ecaf9dc
|
refactor: centralize inbound session updates
|
2026-01-23 23:33:32 +00:00 |
Peter Steinberger
|
b77e730657
|
fix: add per-channel markdown table conversion (#1495) (thanks @odysseus0)
|
2026-01-23 18:39:25 +00:00 |
Peter Steinberger
|
744d1329cb
|
feat: make inbound envelopes configurable
Co-authored-by: Shiva Prasad <shiv19@users.noreply.github.com>
|
2026-01-18 18:50:37 +00:00 |
Peter Steinberger
|
ee6e534ccb
|
refactor: route channel runtime via plugin api
|
2026-01-18 11:01:16 +00:00 |
Peter Steinberger
|
89c5185f1c
|
feat: migrate zalouser plugin to sdk
# Conflicts:
# CHANGELOG.md
|
2026-01-18 05:17:40 +00:00 |
Peter Steinberger
|
1420d113d8
|
refactor: migrate extensions to plugin sdk
|
2026-01-18 02:55:07 +00:00 |
Peter Steinberger
|
34590d2144
|
feat: persist session origin metadata across connectors
|
2026-01-18 02:42:10 +00:00 |
Peter Steinberger
|
075ff675ac
|
refactor(channels): share allowlist + resolver helpers
|
2026-01-18 01:00:25 +00:00 |
Peter Steinberger
|
c7ea47e886
|
feat(channels): add resolve command + defaults
|
2026-01-18 01:00:24 +00:00 |
Peter Steinberger
|
69ba2765de
|
refactor(security): harden CommandAuthorized plumbing
|
2026-01-17 10:19:34 +00:00 |
Peter Steinberger
|
13b931c006
|
refactor: prune legacy group prefixes
|
2026-01-17 08:47:25 +00:00 |
Peter Steinberger
|
56f3a2de25
|
fix(security): default-deny command execution
|
2026-01-17 08:28:09 +00:00 |