Alexander Minges
d4d87bb4e5
fix(matrix): block outbound media when maxMediaBytes is zero
2026-02-20 18:02:15 +01:00
Alexander Minges
a28ae51ce9
fix(matrix): handle matrix-nio upload tuple response
2026-02-20 18:02:14 +01:00
Alexander Minges
97cb85ee0b
feat(matrix): add outbound media uploads and unify media limits with maxMediaBytes
...
- Use OutboundMessage.media for Matrix file/image/audio/video sends
- Apply effective media limit as min(m.upload.size, maxMediaBytes)
- Rename matrix config key maxInboundMediaBytes -> maxMediaBytes (no legacy fallback)
2026-02-20 18:02:13 +01:00
Alexander Minges
bfd2018095
docs: update maxMediaBytes documentation to include blocking option
...
Add clarification that setting to 0 blocks all attachments
2026-02-20 18:01:21 +01:00
Alexander Minges
10de3bf329
refactor(matrix): use base media event filter for callbacks
...
- Replaces the explicit media event tuple with MATRIX_MEDIA_EVENT_FILTER
based on
media base classes: (RoomMessageMedia, RoomEncryptedMedia).
- Keeps MatrixMediaEvent as the static typing alias for media-specific
handlers.
- Removes MatrixInboundEvent and uses RoomMessage in mention-related
logic.
- Adds regression tests for:
- callback registration using MATRIX_MEDIA_EVENT_FILTER
- ensuring RoomMessageText is not matched by the media filter.
2026-02-20 17:58:37 +01:00
Alexander Minges
1103f000fc
docs(matrix): clarify m.text body plaintext fallback note
2026-02-20 17:58:06 +01:00
Alexander Minges
9b06f682c3
docs(readme): document matrix e2eeEnabled option
2026-02-20 17:58:02 +01:00
Alexander Minges
566ad1dfc7
feat(matrix): make e2ee configurable with enabled default
2026-02-20 17:57:10 +01:00
Alexander Minges
085a311d4b
docs(matrix): clarify typing keepalive spec notes
2026-02-20 17:56:28 +01:00
Alexander Minges
8b3171ca2b
fix(matrix): include empty m.mentions in outgoing messages
2026-02-20 17:56:24 +01:00
Alexander Minges
ca66ddb0bf
feat(matrix): refresh typing indicator while processing
2026-02-20 17:56:15 +01:00
Alexander Minges
a482a89df6
feat(matrix): support inbound media attachments
2026-02-20 17:56:11 +01:00
Alexander Minges
7b2adf9d9d
docs(matrix): document raw html escaping in markdown renderer
2026-02-20 17:56:07 +01:00
Alexander Minges
6be7368a38
fix(matrix): sanitize formatted html with nh3
2026-02-20 17:55:59 +01:00
Alexander Minges
9b14869cb1
feat(matrix): support inline markdown html for url and super/subscript
2026-02-20 17:55:13 +01:00
Alexander Minges
cc5cfe6847
test(matrix): cover mention policy and sender filtering
2026-02-20 17:55:09 +01:00
Alexander Minges
fa2049fc60
feat(matrix): add group policy and strict mention gating
2026-02-20 17:55:05 +01:00
Alexander Minges
3200135f4b
test(matrix): cover formatted body and markdown fallback
2026-02-20 17:54:42 +01:00
Alexander Minges
e716c9caac
feat(matrix): send markdown as formatted html messages
2026-02-20 17:54:39 +01:00
Alexander Minges
840ef7363f
test(matrix): cover typing indicator lifecycle
2026-02-20 17:54:29 +01:00
Alexander Minges
45267b0730
feat(matrix): show typing while processing messages
2026-02-20 17:54:26 +01:00
Alexander Minges
ffac42f9e5
refactor(matrix): replace logging depth magic number
2026-02-20 17:52:37 +01:00
Alexander Minges
b294a682a8
chore(matrix): route matrix-nio logs through loguru
2026-02-20 17:52:36 +01:00
Alexander Minges
b721f9f37d
test(matrix): cover response callbacks and graceful shutdown
2026-02-20 17:52:34 +01:00
Alexander Minges
9d85393226
feat(matrix): add startup warnings and response error logging
2026-02-20 17:52:33 +01:00
Alexander Minges
7c33d3cbe2
feat(matrix): add configurable graceful sync shutdown
2026-02-20 17:52:32 +01:00
Alexander Minges
988b75624c
test(matrix): add matrix channel behavior test
2026-02-20 17:48:16 +01:00
Alexander Minges
c926569033
fix(matrix): guard store load without device id and allow invites by default
2026-02-20 17:48:15 +01:00
djmaze
d3ddeb3067
fix: activate E2E and accept room invites in Matrix channels
2026-02-20 17:48:14 +01:00
Tanish Rajput
0d3dc57a65
feat: add matrix (Element) chat channel support
2026-02-20 11:57:48 +05:30
Re-bin
d22929305f
Merge PR #820 : fix safety guard false positive on 'format' in URLs
2026-02-19 17:48:37 +00:00
Re-bin
fbfb030a6e
chore: remove network-dependent test file for shell guard
2026-02-19 17:48:09 +00:00
Re-bin
1c51fbeeee
Merge branch 'main' into pr-820
2026-02-19 17:44:30 +00:00
Re-bin
c1296746e3
Merge PR #851 : wait for killed process after shell timeout to prevent fd leaks
2026-02-19 17:43:05 +00:00
Re-bin
fe7b0b64c1
Merge branch 'main' into pr-851
2026-02-19 17:42:23 +00:00
Re-bin
125524f5c2
Merge PR #836 : fix Codex provider routing for GitHub Copilot models
2026-02-19 17:39:52 +00:00
Re-bin
b11f0ce6a9
fix: prefer explicit provider prefix over keyword match to fix Codex routing
2026-02-19 17:39:44 +00:00
Re-bin
d78368bb2f
Merge branch 'main' into pr-836
2026-02-19 17:35:19 +00:00
Re-bin
9a00a274e5
Merge PR #844 : support sending images, audio, and files for Feishu
2026-02-19 17:34:01 +00:00
Re-bin
3890f1a7dd
refactor(feishu): clean up send() and remove dead code
2026-02-19 17:33:08 +00:00
Re-bin
eea4942025
Merge branch 'main' into pr-844
2026-02-19 17:29:35 +00:00
Re-bin
d748e6eca3
fix: pin dependency version ranges
2026-02-19 17:28:13 +00:00
Nikolas de Hor
c86dbc9f45
fix: wait for killed process after shell timeout to prevent fd leaks
...
When a shell command times out, process.kill() is called but the
process object was never awaited after that. This leaves subprocess
pipes undrained and file descriptors open. If many commands time out,
fd leaks accumulate.
Add a bounded wait (5s) after kill to let the process fully terminate
and release its resources.
2026-02-19 10:27:11 -03:00
Ubuntu
d08c022255
feat(feishu): support sending images, audio, and files
...
- Add image upload via im.v1.image.create API
- Add file upload via im.v1.file.create API
- Support sending images (.png, .jpg, .gif, etc.) as image messages
- Support sending audio (.opus) as voice messages
- Support sending other files as file messages
- Refactor send() to handle media attachments before text content
2026-02-19 16:31:00 +08:00
PiEgg
9789307dd6
Fix Codex provider routing for GitHub Copilot models
2026-02-19 13:30:02 +08:00
ruby childs
536ed60a05
Fix safety guard false positive on 'format' in URLs
...
The deny pattern `\b(format|mkfs|diskpart)\b` incorrectly blocked
commands containing "format" inside URLs (e.g. `curl https://wttr.in?format=3 `)
because `\b` fires at the boundary between `?` (non-word) and `f` (word).
Split into two patterns:
- `(?:^|[;&|]\s*)format\b` — only matches `format` as a standalone
command (start of line or after shell operators)
- `\b(mkfs|diskpart)\b` — kept as-is (unique enough to not false-positive)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-18 16:39:06 -05:00
Xubin Ren
8de36d398f
docs: update news about release information
2026-02-18 23:09:55 +08:00
Re-bin
1f1f5b2d27
docs: update v0.1.4 release news
2026-02-18 14:41:13 +00:00
Re-bin
b14d4711c0
release: v0.1.4
2026-02-18 14:31:26 +00:00
Xubin Ren
92d279924f
Merge pull request #802 to enable stream intermediate progress
...
feat: stream intermediate progress to user during tool execution
2026-02-18 22:28:37 +08:00