Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@steipete
Copy link
Contributor

  • Phase 0 + Review
  • (Step 2) Phase 2 & 3 Complete + Reviewed
  • Step 3 + Review
  • Step 4 (Needs Review)
  • Step 5 + Review
  • feat: add new channel capabilities for editing, unsending, replying, effects, and group management
  • feat: enhance BlueBubbles channel integration with new messaging target normalization and typing indicator improvements
  • feat: improve BlueBubbles message action error handling and enhance channel action descriptions
  • feat: enhance BlueBubbles message actions with support for message editing, reply metadata, and improved effect handling
  • feat: add support for setting group icons in BlueBubbles, enhancing group management capabilities
  • feat: update BlueBubbles documentation and code to clarify group icon handling and normalize chat identifiers
  • feat: enhance BlueBubbles functionality by implementing macOS version checks for message editing and improving server info caching
  • feat: enhance BlueBubbles group message handling by adding account-specific logging and improving typing signal conditions
  • feat: enhance BlueBubbles messaging targets by adding support for UUID and hex chat identifiers, improving normalization and parsing functions
  • feat: implement reply context handling in BlueBubbles messaging, enhancing message formatting and metadata resolution
  • feat: improve BlueBubbles message processing by adding reply context formatting and enhancing message ID extraction from responses
  • feat: refactor BlueBubbles media handling by introducing a dedicated media send function and optimizing message processing for media attachments
  • feat: enhance BlueBubbles media and message handling by adding reply context support and improving outbound message ID tracking
  • feat: add media size validation to BlueBubbles media handling, ensuring compliance with channel limits and improving error handling for oversized media
  • feat: extend BlueBubbles attachment handling by adding support for reply context, allowing users to reference previous messages in media attachments
  • refactor: improve error handling in embedded run payloads by clarifying conditions for user-facing error messages and updating test descriptions for typing behavior
  • fix: remove unused typingSignals variable in get-reply-run
  • fix: drop stray Peekaboo submodule
  • refactor: extend channel plugin boundary

tyler6204 and others added 24 commits January 20, 2026 11:49
…et normalization and typing indicator improvements
…iting, reply metadata, and improved effect handling
… checks for message editing and improving server info caching
…ecific logging and improving typing signal conditions
…D and hex chat identifiers, improving normalization and parsing functions
…ncing message formatting and metadata resolution
…formatting and enhancing message ID extraction from responses
…media send function and optimizing message processing for media attachments
…context support and improving outbound message ID tracking
…ng compliance with channel limits and improving error handling for oversized media
…ply context, allowing users to reference previous messages in media attachments
…ng conditions for user-facing error messages and updating test descriptions for typing behavior
@cursor
Copy link

cursor bot commented Jan 20, 2026

PR Summary

Introduces metadata-driven channel UI and a major BlueBubbles upgrade.

  • UI/macOS: ChannelsStore adds optional channelDetailLabels/channelSystemImages; settings resolve titles/icons from snapshot; Cron editor switches channel to string, builds dynamic options from ChannelsStore, defaults to "last"
  • Protocol: ChannelsStatusResult includes channelDetailLabels and channelSystemImages
  • Gateway: add bluebubbles to GatewayAgentChannel; tests updated
  • BlueBubbles plugin: new actions (react, edit, unsend, reply, effects, rename/set icon/add/remove/leave, sendAttachment) with gating, error handling, and macOS 26 edit guard; media send/download with size limits; typing/read receipt controls; mention/command gating and group policy helpers; messaging target normalization; onboarding adapter; threading/tool context; status issue collection; extensive unit tests
  • Docs: rewrite BlueBubbles guide, mark it recommended for iMessage; channels index reorder/notes; plugin metadata docs extended; BlueBubbles manifest adds aliases, preferOver, detail/system image
  • Changelog updated; removed old Peekaboo submodule reference

Written by Cursor Bugbot for commit 1ddf800. This will update automatically on new commits. Configure here.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

cfg,
accountId,
},
});
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caption not passed to attachment API call

Medium Severity

The sendBlueBubblesMedia function receives a caption parameter but does not pass it to sendBlueBubblesAttachment. Instead, it sends a separate text message for the caption. However, sendBlueBubblesAttachment in attachments.ts explicitly supports the caption parameter and includes code to add it to the API request (lines 182-187). This results in two separate messages being sent (attachment + text) rather than one attachment with inline caption, creating suboptimal UX and leaving the caption handling code in sendBlueBubblesAttachment unused.

Additional Locations (1)

Fix in Cursor Fix in Web

steipete added a commit that referenced this pull request Jan 20, 2026
@steipete
Copy link
Contributor Author

Landed on main after rebasing onto origin/main.

Full gate: pnpm lint && pnpm build && pnpm test && pnpm docs:list

Merged PR commits: ac2fcfe..0330b48
Landing fix: 6e1ad31 (allow matrix-sdk-crypto-nodejs build scripts so matrix tests run)

@steipete
Copy link
Contributor Author

Closing: changes from this branch are already on main.

Main commit: fdb171c (refactor: centralize channel ui metadata).
Reason for conflict: branch behind main after landing work directly on main.

Thanks!

@steipete steipete closed this Jan 20, 2026
@shakkernerd shakkernerd deleted the refactor/plugin-boundary branch January 26, 2026 18:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants