Skip to content

Feat/cs/business messages - #771

Merged
ReagentX merged 17 commits into
developfrom
feat/cs/business-messages
Jun 9, 2026
Merged

Feat/cs/business messages#771
ReagentX merged 17 commits into
developfrom
feat/cs/business-messages

Conversation

@ReagentX

@ReagentX ReagentX commented Jun 8, 2026

Copy link
Copy Markdown
Owner

@ReagentX ReagentX self-assigned this Jun 8, 2026
@ReagentX ReagentX added crate: database Related to the database crate crate: cli Related to the CLI crate txt Related to TXT Export html Related to HTML Export new feature Requires creating a new feature labels Jun 8, 2026
@ReagentX
ReagentX requested a review from Copilot June 8, 2026 06:06

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Adds end-to-end support for Apple Business Chat (“Messages for Business”) interactive balloon payloads by parsing the keyed-archiver JSON shapes in imessage-database and rendering them in both TXT and HTML exporters, covering quick replies, interactive forms, and list pickers (resolves #769, #770).

Changes:

  • Introduces imessage-database::message_types::business_chat with parsers/classification for quick replies, forms (request/response), and list pickers.
  • Routes com.apple.icloud.apps.messages.business.extension balloons through a new BalloonFormatter::format_business path with generic-app fallback for legacy payloads.
  • Adds TXT/HTML templates, CSS styling, and exporter tests for business message rendering.

Reviewed changes

Copilot reviewed 26 out of 32 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
imessage-exporter/src/exporters/txt/view_model.rs Adds TXT view-models for business quick replies, forms, and list pickers.
imessage-exporter/src/exporters/txt/templates/balloons/business_quick_reply.txt TXT template for quick reply rendering with selection marker.
imessage-exporter/src/exporters/txt/templates/balloons/business_list_picker.txt TXT template for list picker items with optional subtitle + selection marker.
imessage-exporter/src/exporters/txt/templates/balloons/business_form_response.txt TXT template for form response answers.
imessage-exporter/src/exporters/txt/templates/balloons/business_form_request.txt TXT template for form request title/subtitle.
imessage-exporter/src/exporters/txt/mod.rs Adds TXT formatting tests for business message variants.
imessage-exporter/src/exporters/txt/balloons.rs Implements format_business for TXT exporter using new templates.
imessage-exporter/src/exporters/shared/balloon.rs Dispatches Business balloon bundle ID to format_business, with legacy fallback.
imessage-exporter/src/exporters/html/view_model.rs Adds HTML view-models for business quick replies, forms, and list pickers.
imessage-exporter/src/exporters/html/templates/balloons/business_quick_reply.html HTML template for quick replies.
imessage-exporter/src/exporters/html/templates/balloons/business_list_picker.html HTML template for list picker items/subtitles.
imessage-exporter/src/exporters/html/templates/balloons/business_form_response.html HTML template for form response Q/A display.
imessage-exporter/src/exporters/html/templates/balloons/business_form_request.html HTML template for form request title/subtitle.
imessage-exporter/src/exporters/html/resources/style.css Adds CSS styling for business quick replies, forms, and list pickers.
imessage-exporter/src/exporters/html/mod.rs Adds HTML formatting tests for business message variants.
imessage-exporter/src/exporters/html/balloons.rs Implements format_business for HTML exporter using new templates.
imessage-exporter/src/exporters/formatter.rs Extends BalloonFormatter trait with format_business.
imessage-database/src/tables/messages/message.rs Maps business extension bundle ID to new CustomBalloon::Business.
imessage-database/src/message_types/variants.rs Adds CustomBalloon::Business variant.
imessage-database/src/message_types/mod.rs Exposes new business_chat module.
imessage-database/src/message_types/business_chat/mod.rs Defines and re-exports business chat message types.
imessage-database/src/message_types/business_chat/business.rs Adds classifier for detecting which business payload shape is present.
imessage-database/src/message_types/business_chat/quick_reply.rs Parses quick reply business messages from archived JSON payload.
imessage-database/src/message_types/business_chat/list_picker.rs Parses list picker business messages from archived JSON payload.
imessage-database/src/message_types/business_chat/form.rs Parses form request/response business messages from archived JSON payload.
docs/features.md Documents Business Chat message support (quick replies/forms/list pickers).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread imessage-database/src/message_types/variants.rs Outdated
@ReagentX ReagentX moved this to In Progress in 4.2: Stream Orchid Jun 8, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 27 out of 33 changed files in this pull request and generated 1 comment.

Comment thread imessage-exporter/src/exporters/shared/balloon.rs

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 29 out of 35 changed files in this pull request and generated 6 comments.

Comment thread imessage-exporter/src/exporters/html/resources/style.css
Comment thread README.md
@ReagentX
ReagentX merged commit ec7ea20 into develop Jun 9, 2026
2 checks passed
@ReagentX
ReagentX deleted the feat/cs/business-messages branch June 9, 2026 00:16
@ReagentX ReagentX moved this from In Progress to Done in 4.2: Stream Orchid Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

crate: cli Related to the CLI crate crate: database Related to the database crate html Related to HTML Export new feature Requires creating a new feature txt Related to TXT Export

Projects

No open projects

Development

Successfully merging this pull request may close these issues.

Support Business Quick reply messages Support Business Form messages

2 participants