Commit Graph

105 Commits

Author SHA1 Message Date
Peter Steinberger
d2b9892552 refactor: align formatting tools and expand reaction coverage 2026-02-16 04:31:37 +01:00
Peter Steinberger
b78027b251 chore: merge origin/main into pr-31 2026-02-16 04:04:01 +01:00
Peter Steinberger
9321a77efa fix: harden react command AppleScript execution 2026-02-16 03:59:50 +01:00
Peter Steinberger
1b27e3b12c
refactor: centralize stdout writing (#49) 2026-02-16 03:49:39 +01:00
Carl Caum
ee3c085070
Fix watch command stdout buffering (#43)
* Fix watch command stdout buffering

The watch command was not producing any output because stdout was not being flushed after printing JSON lines. This caused the watch functionality to appear broken even though message detection was working correctly.

Added fflush(stdout) call after Swift.print() to ensure immediate output delivery, fixing both CLI watch mode and RPC watch notifications.

Fixes: Messages detected but not displayed
Testing: Verified with 'imsg watch --chat-id 1 --json' - messages now appear immediately

* fix: flush watch stdout buffering (#43) (thanks @ccaum)

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-02-16 03:17:42 +01:00
Peter Steinberger
5b5c8bcc50 refactor: consolidate schema detection 2026-02-15 14:31:14 +01:00
Peter Steinberger
f9258472c8 fix: detect thread_originator_guid column (#39) (thanks @ruthmade) 2026-02-15 14:15:01 +01:00
Ru
057b7c5a91 feat: add thread_originator_guid to message output
Adds thread_originator_guid field to JSON output for history, watch, and RPC.
This field contains the GUID of the message being replied to when users
use iMessage's inline reply feature.

This is the correct field for reply detection - it matches the UI's reply
target, unlike reply_to_guid which can point to different messages.

Closes #30

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-15 14:15:01 +01:00
pangu25
7d51f301e0 feat: add reaction metadata to RPC message payload 2026-01-31 02:28:25 -06:00
pangu25
1c7352f706 feat: add include_reactions param to watch.subscribe RPC 2026-01-30 23:46:09 -06:00
pangu25
a03e81c8b4 feat: reaction events in watch + react command
- Add --reactions flag to watch command to include tapback events (#26)
- Reaction events include metadata: is_reaction, reaction_type, reaction_emoji,
  is_reaction_add, reacted_to_guid
- Add 'imsg react' command to send tapback reactions via UI automation (#24)
- Supports standard tapbacks (love, like, dislike, laugh, emphasis, question)
  and custom emoji reactions (iOS 17+/macOS 14+)

Closes #24, Closes #26
2026-01-30 23:37:54 -06:00
Peter Steinberger
40e2084ef3
Merge pull request #20 from tommybananas/fix/history-filters-before-limit
fix: apply history filters before limit
2026-01-16 21:21:08 +00:00
Peter Steinberger
0fb6e5966e fix: apply history filters before limit (#20) (thanks @tommybananas) 2026-01-16 21:20:49 +00:00
Tom Juszczyk
72c42d5b34 fix: apply history filters before limit
Apply --start/--end/--participants in SQL so LIMIT applies after filtering (CLI history + RPC messages.history). Add regressions proving filtered windows work with small limits.
2026-01-16 21:18:57 +00:00
Peter Steinberger
d7ec962076 chore: bump version to 0.4.1 2026-01-16 21:18:19 +00:00
Peter Steinberger
f93bfe1b8f fix: prefer handle send for direct chats 2026-01-15 07:58:56 +00:00
Peter Steinberger
7a93d64881 chore: bump version to 0.4.0 2026-01-07 10:56:02 +01:00
Peter Steinberger
b993f3df02
Merge pull request #13 from antons/fix/chat-guid-send
fix: prefer chat GUID over identifier for sending
2026-01-07 09:52:47 +00:00
Peter Steinberger
f0385fd831 chore: merge origin/main into fix/chat-guid-send 2026-01-07 10:51:53 +01:00
Peter Steinberger
bfba7bde8d docs: reorder changelog for 0.4.0 2026-01-07 10:49:09 +01:00
Peter Steinberger
9531edbfa1
Merge pull request #9 from visionik/main
fix: use python3 explicitly in patch-deps script
2026-01-07 09:37:59 +00:00
Peter Steinberger
7cdf23c5d0 docs: add changelog entry for patch-deps python 2026-01-07 10:37:33 +01:00
Peter Steinberger
2ce5fe8a3a Merge remote-tracking branch 'origin/main' into visionik/main 2026-01-07 10:36:19 +01:00
Peter Steinberger
0266aba43c
Merge pull request #14 from antons/feature/audio-messages
feat: extract audio message transcriptions from attachment user_info
2026-01-07 09:35:23 +00:00
Peter Steinberger
8e9f27859a chore: merge origin/main into feature/audio-messages 2026-01-07 10:34:45 +01:00
Peter Steinberger
d7f9d3d6cf refactor: split message store message queries 2026-01-07 10:34:08 +01:00
Peter Steinberger
585e98750e
Merge pull request #15 from antons/fix/attachments
fix: attachments upload error
2026-01-07 09:27:31 +00:00
Peter Steinberger
34b51d6401 chore: merge origin/main into fix/attachments 2026-01-07 10:27:01 +01:00
Peter Steinberger
39211802de fix: avoid writing to user attachments dir in tests 2026-01-07 10:25:06 +01:00
Peter Steinberger
99d03c84f1 fix: prefer chat guid for chat_id sends\n\nCo-authored-by: Michael Shuffett <1070545+mshuffett@users.noreply.github.com> 2026-01-07 10:16:08 +01:00
Anton Sotkov
d1467d6e66 fix: attachments upload error
Messages seems to expect the attachments to be in the Attachments directory, otherwise upload fails with error 25. Set up `~/Library/Messages/Attachments/imsg/<UUID>/<filename>` for imsg.
2026-01-07 07:13:54 +02:00
Anton Sotkov
75de4f4a0d feat: extract audio message transcriptions from attachment user_info 2026-01-06 19:02:45 +02:00
Anton Sotkov
715a79438c fix: prefer chat GUID for chat_id sends 2026-01-06 15:54:03 +02:00
Peter Steinberger
ab86177db0 chore: bump version to 0.3.1 2026-01-03 15:24:47 +01:00
Peter Steinberger
e763fa7d63 chore: replace pnpm with make 2026-01-03 06:31:55 +01:00
Peter Steinberger
c4c9dc52f6 chore: soften spctl check for cli 2026-01-03 05:26:27 +01:00
Peter Steinberger
cb76793014 chore: fix notarize script permissions 2026-01-03 05:25:20 +01:00
Peter Steinberger
b90520f673 chore: add notarized release script 2026-01-03 05:24:40 +01:00
Peter Steinberger
c1ac567e20 chore: prepare 0.3.0 2026-01-03 05:04:13 +01:00
Peter Steinberger
0e04a8546c chore: release 0.3.1 2026-01-02 23:37:12 +01:00
Peter Steinberger
9f2b1c27a0 docs: tweak unreleased changelog 2026-01-02 23:36:15 +01:00
Peter Steinberger
28d1319bbc test: split message store fixtures 2026-01-02 23:34:20 +01:00
Peter Steinberger
0365ec2e9c test: split sender fallback coverage 2026-01-02 23:16:38 +01:00
Peter Steinberger
33c36e4a5f docs: rewrite unreleased changelog 2026-01-02 23:13:54 +01:00
Peter Steinberger
05c97e514c chore: drop private api send mode 2026-01-02 23:11:53 +01:00
Peter Steinberger
285a508618 fix: harden imcore connection and sender fallback 2026-01-02 22:50:47 +01:00
Peter Steinberger
bdcc5d8538 feat: add imcore reaction send 2026-01-02 22:13:09 +01:00
Peter Steinberger
928ff94064 fix: stabilize imcore send 2026-01-02 22:03:11 +01:00
Peter Steinberger
d62f156126 feat: add imcore send mode 2026-01-02 20:45:26 +01:00
Peter Steinberger
aaec16d032 feat: add reply metadata and reaction filtering 2026-01-02 20:16:07 +01:00