{"repo":"NousResearch/hermes-agent","public_id":"100663","display_label":"Fix iMessage threaded reply handling in Photon","summary":"These issues and PRs address a problem where threaded replies in iMessage (via Spectrum 12.x) were not being properly routed or parsed in Photon, resulting in dropped messages or placeholder error text instead of the user's actual reply content.","subsystem":"gateway","counts":{"members":5,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":3},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":134393},"resolution":{"state":"resolved","by":"pr-134393"},"freshness":{"state":"verified","last_verified_at":"2026-10-07T07:48:17+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.4},"fix_edges":[{"issue_number":100663,"pr_number":134393,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":100663,"title":"photon: threaded replies (spectrum 12.x 'reply' content type) reach the agent as '[Photon content type not handled: reply]'","url":null,"state":"closed"},{"kind":"pr","number":95687,"title":"fix(photon): route iMessage threaded replies as real messages","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"149f39fc9f","number":0},{"kind":"pr","value":"#134393","number":134393},{"kind":"pr","value":"#123614","number":123614}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":102139,"title":"fix(photon): unwrap spectrum 12.x threaded replies instead of dropping them (#100663)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"149f39fc9f","number":0},{"kind":"pr","value":"#134393","number":134393},{"kind":"pr","value":"#123614","number":123614}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":123614,"title":"fix(photon): keep the user's words when they reply in an iMessage thread (#100663)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"149f39fc9f","number":0},{"kind":"commit","value":"348a68bb4e","number":0},{"kind":"commit","value":"aba1f72ef2","number":0},{"kind":"pr","value":"#134393","number":134393},{"kind":"pr","value":"#123615","number":123615}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":134393,"title":"fix(photon): keep the user's words when they reply in an iMessage thread (#100663, salvage #123614)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["plugins/platforms/photon/adapter.py","plugins/platforms/photon/sidecar/index.mjs","tests/plugins/platforms/photon/test_threaded_replies.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}