-
Notifications
You must be signed in to change notification settings - Fork 3.8k
feat(tool/bluebubbles): send_attachment tool for iMessage media #2582
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
maxtongwang
wants to merge
84
commits into
zeroclaw-labs:main
from
maxtongwang:feat/bb-issue4-upstream-pr
Closed
Changes from 80 commits
Commits
Show all changes
84 commits
Select commit
Hold shift + click to select a range
a503d5b
ci: add Claude PR review workflow (#2)
maxtongwang 6f07151
fix(ci): use sticky comment for Claude PR reviews (#3)
maxtongwang e162827
feat(channels): add BlueBubbles iMessage channel
maxtongwang 28b1f4b
feat(gateway): add /bluebubbles-personal listen-only endpoint
maxtongwang 43b1ad3
chore(build): add sccache and split-debuginfo for faster dev iteration
maxtongwang 55f9d87
chore: update Cargo.lock after sccache install
maxtongwang a3ae792
chore: ignore test-config.toml (may contain secrets)
maxtongwang 26944da
feat(channels/bluebubbles): add rich text via Private API attributedBody
maxtongwang 52fdd90
feat(channels/bluebubbles): typing indicator while LLM processes
maxtongwang 6ee40eb
feat(bluebubbles): rich text, typing indicator, and message effects
maxtongwang 7410181
feat(bluebubbles): filter bot's own messages from personal endpoint
maxtongwang 818a706
feat(bluebubbles): improve system prompt for real-time data and tool use
maxtongwang 9d68510
fix(channel/bluebubbles): apply CodeRabbit findings to fork + persona…
maxtongwang b7676dd
chore: merge upstream/main into fork main
maxtongwang 03eacdd
feat(bluebubbles): add audio transcription for iMessage voice memos (#9)
maxtongwang d56c1c2
feat(bluebubbles): transcribe iMessage audio via local whisper CLI (#10)
maxtongwang 9dcfe45
fix(bluebubbles): use guid+REST API download for audio transcription
maxtongwang e8e06cc
fix(bluebubbles): read BB local MP3 directly + async webhook response
maxtongwang 035bb85
fix(bluebubbles): scan Convert dir instead of constructing filename
maxtongwang c2ca792
fix(oauth): correct html_escape_sanitizes_special_chars test assertion
maxtongwang 4da1c72
feat(bluebubbles): REST API transcription, tapback reactions
maxtongwang 1c4c62c
fix(web-fetch): follow redirect instead of returning URL as content
maxtongwang c014c58
chore: merge upstream/main into fork main (2026-03-01)
maxtongwang f39b5ae
fix(gateway): wire transcription into BlueBubbles channel and use asy…
maxtongwang 16f5538
Merge remote-tracking branch 'origin/main'
maxtongwang 06054be
perf(transcription): whisper-cli (whisper.cpp) fast-path + early typi…
maxtongwang 3c9a0a0
feat(channel/bluebubbles): audio transcription, REST download, tapbac…
maxtongwang 2f17383
Merge remote-tracking branch 'upstream/main'
maxtongwang 5e1a05b
Merge branch 'main' of https://github.com/maxtongwang/zeroclaw
maxtongwang 5151ed5
fix(channel/bluebubbles): address CodeRabbit review findings
maxtongwang 26d58bc
chore(fork): merge feat/bb-full-feature into main
maxtongwang 48162f7
fix(channel/bluebubbles): run local whisper even without [transcripti…
maxtongwang a6058f9
fix(ci): pin action SHA refs, PR-guard issue_comment, suppress large_…
maxtongwang 1aa436d
fix(security): allowlist service in auth revoke; add OAuth state for …
maxtongwang b6007c1
fix(security): harden oauth.rs; fix transcription cleanup and attachm…
maxtongwang 1df8aa0
fix(security): atomic file/dir creation perms; add actions allowlist …
maxtongwang 1f7a6b7
fix(privacy): remove raw sender PII from debug/warn log messages
maxtongwang 1555d36
fix(security): strip URL from send() error; restrict claude-review to…
maxtongwang 71e679a
fix(docs): replace Chinese example command with English in channels-r…
maxtongwang d551a96
fix(security): temp dir cleanup on transcription failure; escape erro…
maxtongwang 5c233b7
fix(security): harden oauth session, revocation, and subprocess paths
maxtongwang a29e3a2
docs(channels-ref): label delivery matrix row as BlueBubbles not iMes…
maxtongwang 997c739
fix(channel/bb-gateway): use per-chat session ID in BlueBubbles messa…
maxtongwang 631dec5
fix(gateway/bb+transcription+ci): address PR 2582 CodeRabbit findings
maxtongwang 74affb3
fix(bluebubbles): address PR 2461 Round 12 CodeRabbit findings
maxtongwang 38c0a1c
fix(tapback): whisper fallback on whisper-cli failure; remove path fr…
maxtongwang fbe3a0f
feat(channel/bluebubbles): dm_policy, group_policy, and send_read_rec…
maxtongwang 4e31f32
fix(upstream-2495): address CodeRabbit review findings
maxtongwang d62e57a
fix(lint): resolve strict delta clippy violations in PR #2495 scope
maxtongwang c7c2dcc
fix(security): remove hard-coded test credentials in bluebubbles tests
maxtongwang b82f5ad
ci: trigger CI run for test credential cleanup
maxtongwang 7a2c7db
fix(security): respect allowed_senders in group Open policy; redact P…
maxtongwang 5321615
fix(security): harden oauth.rs and add BB allowlist validation
maxtongwang 585df54
fix(tests): add async to BB allowlist validation test functions
maxtongwang 5a8dad3
fix(privacy): remove PII from logs; reject whitespace-only allowlist …
maxtongwang 788cfad
docs(config-ref): fix ClawHub product name typo (was ClawhHub)
maxtongwang d38885b
fix(gateway/bb): trim and reject empty webhook_secret before enabling…
maxtongwang e7e10bf
fix(lint/policy): add missing semicolon in mark_read match arm (clipp…
maxtongwang 3e10730
fix(fmt/policy): cargo fmt — collapse single-use iterator chains to o…
maxtongwang 063f388
fix(tests/bb-policy): add .expect() to new() calls in policy tests; f…
maxtongwang f341603
feat(channel/bb): improve read-receipt delivery for group chats
maxtongwang 0527b79
fix(channel/bb): redact chat GUIDs from mark_read logs; fix VI matrix…
maxtongwang 2732a11
fix(channel/bb+ci+docs): address CodeRabbit round findings
maxtongwang 565a937
chore(ci): remove fork-only claude-review workflow from upstream PR
maxtongwang 3825fc6
fix(channel/bb): stream attachment download to enforce 25 MiB cap early
maxtongwang b065e69
fix(gateway/bb): repair truncated comment block in webhook handler
maxtongwang d3792ed
feat(tool/bluebubbles): group management tool (rename, participants, …
maxtongwang 7d8d9fc
fix(tool/bluebubbles): avoid panic in group tool ctor; gate registrat…
maxtongwang 8924503
fix(tool/bluebubbles): return ToolResult on transport failures
maxtongwang bf3a0e8
fix(tool/bb-group): enforce 5 MiB limit on decoded icon bytes not bas…
maxtongwang 624dcbb
fix(tool/bb-group): explicit constructor failure; pre-decode icon siz…
maxtongwang 8ee3c0f
fix(tool/bb-group): inject SecurityPolicy for autonomy and rate-limit…
maxtongwang 72710df
fix(fmt/issue3): cargo fmt — reformat BlueBubblesGroupTool HTTP clien…
maxtongwang 7be436f
feat(tool/bluebubbles): add send_attachment tool for iMessage media
maxtongwang 6abb662
fix(tools/bb-send-attachment): address review findings on PR #17
maxtongwang 035d381
fix(tool/bb-send-attachment): no-panic client build; trim string inputs
maxtongwang bc94c11
fix(tool/bb-send-attachment): explicit ctor failure; 25 MiB cap; Tool…
maxtongwang ae6ce60
fix(tool/bb-send-attachment): inject SecurityPolicy; trim data_base64…
maxtongwang c556a04
fix(fmt/issue4): cargo fmt — reformat tool registration match arms in…
maxtongwang 86c512b
fix(tool/bb-attach): reject as_voice=true with non-audio MIME type
maxtongwang 56e817c
fix(gateway/oauth): per-request PKCE files; remove auth_check early-r…
maxtongwang 3330b01
fix(security): address CodeRabbit findings for PR #2582
maxtongwang aa806a2
fix(bb-issue4): address CodeRabbit findings — rate-limit ordering, as…
maxtongwang 90bf460
fix(bb-issue4): address CodeRabbit findings — stale comment, rate-lim…
maxtongwang File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.