Menu ▾ ▴

#214 Attach shared files into the Messenger composer

closed
nobody
2026-08-07
2026-08-06
Anonymous
No

Originally created by: kristofferR

The final hop for both platforms is to turn a native, validated share payload into unsent attachments in the open Messenger conversation.

Implemented design

  • share-intake.ts installs the native-only window.__carrierShareMedia hook, validates the payload again, decodes each entry into a File, and targets only the visible conversation composer.
  • Delivery first uses Messenger's paste path, then a drop fallback. Success requires the exact transfer object to be inspected and the event to be cancelled. If a handler inspected the payload without acknowledging it, Carrier reports an uncertain failure and never retries into duplicate attachments.
  • If no composer exists, the share waits for up to two minutes and shows a prompt to open a conversation. Additional shares merge within the advertised count cap instead of silently replacing pending files.
  • Pure count, aggregate encoded-size, UTF-8 name, MIME, freshness, and transfer-acknowledgement logic lives under inject/src/messenger/lib/ with focused Bun tests.

Verification

Verified with a PNG from the real Finder share sheet. Carrier came forward and the filename plus remove control rendered in the open conversation's composer; the unsent attachment was removed after the check.

Implemented by [#220]. The same delivery path is intended for Windows [#216]. Part of [#217].

Related

Tickets: #213
Tickets: #216
Tickets: #217
Tickets: #220

Discussion

  • Anonymous

    Anonymous - 2026-08-07

    Originally posted by: kristofferR

    Completed by [#220]. A Finder-shared PNG was verified as a rendered, unsent attachment in Messenger's composer.

     

    Related

    Tickets: #220

  • Anonymous

    Anonymous - 2026-08-07

    Ticket changed by: kristofferR

    • status: open --> closed
     

Log in to post a comment.