You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Closes#40.
Today `sealed.upload` always triggered Cryptify's per-recipient
notification email — there was no client-side opt-out. The
existing `notify` block only customized mail content; the docstring
even claimed `notify` *enabled* the recipient mail, which was the
opposite of reality. That made the upload pipeline unsuitable for any
caller delivering the encrypted payload through another channel
(e.g. an email add-in delivering the message from the user's own
mailbox), where the Cryptify mail arrived as a duplicate.
Redesigns `UploadOptions['notify']` to a symmetric, silent-by-default
shape:
```ts
sealed.upload({
notify: {
recipients: true, // opt-in (default false)
sender: true, // opt-in (default false; was confirmToSender)
message: 'See you...', // unencrypted body for any mails sent
language: 'EN',
},
});
```
`pg.email.createEnvelope` forwards `notify` to the underlying upload
for tier 2/3 envelopes. The SDK now always sends the wire-level
`notifyRecipients` field with explicit `false` when omitted, so older
Cryptify deployments (which default `notifyRecipients` to true) get
overridden to the SDK's silent-by-default semantics.
Coordinated server-side change: encryption4all/cryptify#135.
BREAKING: `notify.confirmToSender` renamed to `notify.sender` for
symmetry with `notify.recipients`. Per upstream guidance there are
no production consumers of `@e4a/pg-js` yet, so we ship the cleaner
name rather than alias the old one. Downstream consumers (the
website fileshare, the sveltekit example) need to switch from
`confirmToSender: true` to `recipients: true, sender: true` to keep
emitting both mails — those updates land separately.
Also fixes the misleading `Sealed.upload` docstring.
0 commit comments