Commit Graph

36 Commits

Author SHA1 Message Date
Tyler Yust
1f420c7f29 feat: add chunking mode option for BlueBubbles (#1645)
* feat: add chunking mode for outbound messages

- Introduced `chunkMode` option in various account configurations to allow splitting messages by "length" or "newline".
- Updated message processing to handle chunking based on the selected mode.
- Added tests for new chunking functionality, ensuring correct behavior for both modes.

* feat: enhance chunking mode documentation and configuration

- Added `chunkMode` option to the BlueBubbles account configuration, allowing users to choose between "length" and "newline" for message chunking.
- Updated documentation to clarify the behavior of the `chunkMode` setting.
- Adjusted account merging logic to incorporate the new `chunkMode` configuration.

* refactor: simplify chunk mode handling for BlueBubbles

- Removed `chunkMode` configuration from various account schemas and types, centralizing chunk mode logic to BlueBubbles only.
- Updated `processMessage` to default to "newline" for BlueBubbles chunking.
- Adjusted tests to reflect changes in chunk mode handling for BlueBubbles, ensuring proper functionality.

* fix: update default chunk mode to 'length' for BlueBubbles

- Changed the default value of `chunkMode` from 'newline' to 'length' in the BlueBubbles configuration and related processing functions.
- Updated documentation to reflect the new default behavior for chunking messages.
- Adjusted tests to ensure the correct default value is returned for BlueBubbles chunk mode.
2026-01-25 00:47:10 +00:00
Peter Steinberger
8e48c661e1 fix: normalize googlechat targets 2026-01-25 00:04:47 +00:00
iHildy
90d82c5445 feat: add beta googlechat channel 2026-01-24 23:30:45 +00:00
Adam Holt
e080b88808 Channels: add per-group tool policies 2026-01-24 05:49:39 +00:00
Peter Steinberger
cf21b97e55 refactor: standardize channel logging 2026-01-23 23:34:30 +00:00
Peter Steinberger
cc9c826a6d refactor: standardize control command gating 2026-01-23 23:34:30 +00:00
Peter Steinberger
b99be93047 refactor: share reply prefix context 2026-01-23 23:34:30 +00:00
Peter Steinberger
92901df429 refactor: unify typing callbacks 2026-01-23 23:33:32 +00:00
Peter Steinberger
4a4d5f9fcd refactor: centralize inbound session updates 2026-01-23 23:33:32 +00:00
Peter Steinberger
4f5b87a4ee refactor: unify pending history helpers 2026-01-23 23:33:32 +00:00
Peter Steinberger
60d75eabed refactor: centralize ack reaction removal 2026-01-23 23:32:14 +00:00
Peter Steinberger
0a3b41e36f refactor: reuse ack reaction helper for whatsapp 2026-01-23 22:24:31 +00:00
Peter Steinberger
45822ef05c refactor: centralize ack reaction gating 2026-01-23 22:24:31 +00:00
Peter Steinberger
6b88bb7ac6 fix: add per-channel markdown table conversion (#1495) (thanks @odysseus0) 2026-01-23 18:39:25 +00:00
Stefan Galescu
aa3972d93d feat(slack): add dm-specific replyToMode configuration (#1442)
Adds support for separate replyToMode settings for DMs vs channels:

- Add channels.slack.dm.replyToMode for DM-specific threading
- Keep channels.slack.replyToMode as default for channels
- Add resolveSlackReplyToMode helper to centralize logic
- Pass chatType through threading resolution chain

Usage:
```json5
{
  channels: {
    slack: {
      replyToMode: "off",     // channels
      dm: {
        replyToMode: "all"    // DMs always thread
      }
    }
  }
}
```

When dm.replyToMode is set, DMs use that mode; channels use the
top-level replyToMode. Backward compatible when not configured.
2026-01-23 05:13:23 +00:00
Peter Steinberger
c2b25dac8e fix: msteams attachments + plugin prompt hints
Co-authored-by: Christof <10854026+Evizero@users.noreply.github.com>
2026-01-22 03:37:29 +00:00
Peter Steinberger
d3647b2c65 refactor: unify threading contexts 2026-01-21 20:35:12 +00:00
Peter Steinberger
37619c2e0e fix: use plugin-sdk exports in bluebubbles 2026-01-21 09:03:09 +00:00
Peter Steinberger
336233c30d fix: wire OTLP logs for diagnostics 2026-01-20 22:51:47 +00:00
Peter Steinberger
87a9d125a9 feat: add diagnostics events and otel exporter 2026-01-20 18:56:15 +00:00
Peter Steinberger
0883136a38 refactor: centralize channel ui metadata 2026-01-20 13:11:49 +00:00
Tyler Yust
db6fcc7fcb Step 4 (Needs Review) 2026-01-20 12:07:54 +00:00
Tyler Yust
a577e8509b Phase 0 + Review 2026-01-20 12:07:54 +00:00
Sebastian Schubotz
2d4bf3b29c rewrite(matrix): use matrix-bot-sdk as base to enable e2ee encryption, strictly follow location + typing + group concepts, fix room bugs 2026-01-20 11:59:11 +00:00
Peter Steinberger
d87a3bcc2c refactor: plugin catalog + nextcloud policy 2026-01-20 11:22:27 +00:00
Peter Steinberger
b1c13b0eab fix: enforce strict config validation 2026-01-19 03:39:25 +00:00
Peter Steinberger
d49da62338 refactor: route channel runtime via plugin api 2026-01-18 11:01:16 +00:00
Peter Steinberger
aa3514f5e2 fix: sync protocol outputs 2026-01-18 08:58:41 +00:00
Peter Steinberger
8e87d8879e refactor: migrate messaging plugins to sdk 2026-01-18 08:54:00 +00:00
Peter Steinberger
067a22f29a refactor: share memory plugin config helpers 2026-01-18 07:24:16 +00:00
Peter Steinberger
a1395f9856 feat: support plugin-managed hooks 2026-01-18 05:57:05 +00:00
Peter Steinberger
3f408eeefc fix: resolve plugin tool meta typing 2026-01-18 04:24:16 +00:00
Peter Steinberger
829a4bbc7d feat: migrate zalo plugin to sdk 2026-01-18 03:37:26 +00:00
Peter Steinberger
8deb04931d feat: add bluebubbles plugin 2026-01-18 03:17:43 +00:00
Peter Steinberger
17d2951675 refactor: migrate extensions to plugin sdk 2026-01-18 02:55:07 +00:00
Peter Steinberger
e30bc29172 refactor: add plugin sdk runtime scaffolding 2026-01-18 02:52:30 +00:00