Add Notify.Email support for emailing all project members#9636
Open
AlexCatarino wants to merge 1 commit into
Open
Add Notify.Email support for emailing all project members#9636AlexCatarino wants to merge 1 commit into
AlexCatarino wants to merge 1 commit into
Conversation
A null address now means the email is sent to all members in the project; the Address key is always serialized (null when unset) since the cloud API validates its presence. Empty or whitespace addresses now throw instead of being treated as the default, and addresses are trimmed before validation. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds engine-side support for sending a
Notify.Emailnotification to all members in the project: passing a null address (Notify.Email(null, ...)/self.notify.email(None, ...)) now means the email is sent to every project member instead of throwing.Changes
NotificationEmail: a null address is allowed and means "all members in the project"; empty or whitespace addresses throwArgumentExceptioninstead of silently falling back; addresses are trimmed before validation.NotificationEmail.Addressis always serialized, asnullwhen unset (explicitNullValueHandling.Include), since the cloud API validates the presence of theAddresskey.NotificationJsonConverter: a missing or JSON-nullAddresstoken deserializes to a null address so all-members emails round-trip (a nullJTokenstringifies to"", which would throw).NotificationManager.Emailoverloads and theNotificationEmailconstructor.Testing
notifier.email(None, ...)binding, and JSON round-trip without an address.NotificationEmailLiveTests(markedExplicit): enqueues viaNotify.Email(null, ...)and sends the dequeued notification through the QuantConnect cloud API (notifications-endpoint,job-user-idandapi-access-tokenconfig). Verified end-to-end: the API accepts the payload and the email is delivered, including for projects without a live deployment.