Support macOS 15+ text formatting#766
Support macOS 15+ text formatting#766Nicell wants to merge 3 commits intoBlueBubblesApp:developmentfrom
Conversation
zlshames
left a comment
There was a problem hiding this comment.
Overall, this looks great! Thanks for doing all of the validation, min MacOS version, and what not, not only the endpoint & calls to the PAPI. Check out my comment, but that's the only comment I have. Obviously, this will need to be paired with a release for the PAPI bundle.
|
this and #768 are huge for my use case !! great work boys |
|
@zlshames, looking for an update on this — would be an incredible unlock to have this :) |
Adds support for rich text formatting in iMessages on macOS Sequoia and newer.
Users can now send messages with bold, italic, underline, and strikethrough styles.
## API Usage
```json
POST /api/v1/message/text
{
"chatGuid": "iMessage;-;+1234567890",
"message": "Hello World!",
"method": "private-api",
"textFormatting": [
{ "start": 0, "length": 5, "styles": ["bold"] },
{ "start": 6, "length": 5, "styles": ["italic"] }
]
}
```
## New Types
- `TextFormattingStyle`: "bold" | "italic" | "underline" | "strikethrough"
- `TextFormattingRange`: { start: number, length: number, styles: TextFormattingStyle[] }
- `TextFormatting`: TextFormattingRange[]
## Validation
- Requires macOS Sequoia (15.0) or newer
- Automatically implies Private API method when formatting is present
- Cannot be combined with attributedBody
- Validates range bounds against message length
- Validates style values against allowed set
## Files Changed
- messageRouter.ts - Extract textFormatting from request body
- messageValidator.ts - Add validation rules and OS version check
- messageInterface.ts - Pass textFormatting through to Private API
- PrivateApiMessage.ts - Forward formatting data to helper
- types/index.ts - New type definitions
- TextFormattingUtils.ts - Validation utility functions (new file)
## Requirements
- macOS 15.0 (Sequoia) or newer
- Private API enabled
- Updated BlueBubblesHelper.dylib with formatting support
Sourced from upstream PR BlueBubblesApp#766 by Nicell.
Co-Authored-By: Nicell <nicell@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
almost done with my rewrite. I'm creating a plan to add this to the client side once i finish ironing out the rewrite. Don't worry, i haven't forgotten. Just have some loose ends to clean up before getting to it. |
Adds support for basic text formatting (bold, italic, underline, strikethrough)
Pairs with BlueBubblesApp/bluebubbles-helper#50
This script:
Resulted in:
