feat(esp-sync): add constant contact support#3832
Merged
Merged
Conversation
Merged
6 tasks
dkoo
approved these changes
Apr 3, 2025
|
Hey @chickenn00dle, good job getting this PR merged! 🎉 Now, the Please check if this PR needs to be included in the "Upcoming Changes" and "Release Notes" doc. If it doesn't, simply remove the label. If it does, please add an entry to our shared document, with screenshots and testing instructions if applicable, then remove the label. Thank you! ❤️ |
miguelpeixe
added a commit
that referenced
this pull request
Apr 4, 2025
* fix: path to autoload (#3808) * fix(ia): render all emails on reset (#3867) This fixes an issue where resetting an email template in Newspack > Settings > Emails would only render Woo templates on success. * refactor(corrections): remove feature flag (#3866) * feat: custom byline interface (#3746) * feat: modify textarea to RichText and add TagInlineBlock with dummy authors * feat: fetch authors from co-authors plus and set tokens on BylinesSettingsPanel * chore: improve inline documentation * feat: [WIP] add author tokens on click * feat: append users to the end of the byline * feat: add author tokens to custom byline * feat: handling tokens with vanilla JS (WIP) * feat: useRef to manage tokens in use * chore: improve inline docs * feat: check custom byline after DOM ready * chore: addEventListener trough ref instead of DOM directly Also adds the return of a function on useEffect to allow React cleanup on unmount * feat: display icons on tokens (plus to insert and close to remove) * feat: add mutation observer to remove tokens on erasing with backspace/delete * chore: enhance inline documentation * fix: stylize tokens according to FormTokenField * fix: remove token when characterData changes * fix: improved mutation observer callback logic to update data correctly * fix: initilize only on DOM ready and main byline element ready * fix: properly add the mutation observer after child component is ready * fix: implement setTokensInUse function to better reuse code * fix: split byline "textarea" and tokens to avoid unwanted re-rendering * feat: parse meta with <Author> before rendering byline * feat: store byline meta according to the expected format * chore: refacot bylineParser function * feat: make custom bylines to work without co-author plus activated * feat: make custom byline field to be displayed on a modal * fix: mystype newspackByline.is_co_authors_plus_active * fix: adding space after token insertion at the end of byline * fix: improve byline innerHTML assignment * fix: typo isTokensdReady * docs: update docs * fix: remove non used authors query * fix: cubic-bezier transition typo * fix: remove updateBylineMeta from click on x/removal callback event * fix: remove unnecessary "backwards" compatibility since it's new feature * refactor: replace MutationObserver with event listeners Replaced the MutationObserver with an event listener, replaced some of the DOM interaction with a useRef element, and tried to refactor some of the data getters and setters. * fix: update effect registration so it only runs on mounting * refactor: remove unneded "remove token" handler * fix: look up the byline meta on mount, not just on initial render * fix: set contenteditable="false" on token spans Prevents editing the content in these spans, and makes it so that deleting (with backspace) will remove the whole span at once rather than editing within the span. * chore: add some missing docblocks and fix some lint issues * fix: set default insert location to end of editable field Updates the "cursorPos" variable logic to use the end of the line if there's no cursor position set yet, and to add a non-breaking space at the end of the text if necessary. Also updates the white-space styling of the editable area, to ensure that users can select any point in the text they may need to. * fix: remove margin from last token to prevent confusion with whitespace * feat: add preview to sidebar interface * fix: rename panel to Byline * fix: make modal width fixed * feat: add function to parse meta for preview * feat: default custom byline on first toggle * feat: set default custom byline meta on toggle * feat: update styles to match new designs * feat: update styles to match designs * chore: cleanup, comments, organization --------- Co-authored-by: Leo Germani <leogermani@automattic.com> Co-authored-by: goldenapples <goldenapplesdesign@gmail.com> Co-authored-by: Joeleen Kennedy <joeleen@humanmade.com> * feat: frontend display of bylines (#3856) * feat: modify textarea to RichText and add TagInlineBlock with dummy authors * feat: fetch authors from co-authors plus and set tokens on BylinesSettingsPanel * chore: improve inline documentation * feat: [WIP] add author tokens on click * feat: append users to the end of the byline * feat: add author tokens to custom byline * feat: handling tokens with vanilla JS (WIP) * feat: useRef to manage tokens in use * chore: improve inline docs * feat: check custom byline after DOM ready * chore: addEventListener trough ref instead of DOM directly Also adds the return of a function on useEffect to allow React cleanup on unmount * feat: display icons on tokens (plus to insert and close to remove) * feat: add mutation observer to remove tokens on erasing with backspace/delete * chore: enhance inline documentation * fix: stylize tokens according to FormTokenField * fix: remove token when characterData changes * fix: improved mutation observer callback logic to update data correctly * fix: initilize only on DOM ready and main byline element ready * fix: properly add the mutation observer after child component is ready * fix: implement setTokensInUse function to better reuse code * fix: split byline "textarea" and tokens to avoid unwanted re-rendering * feat: parse meta with <Author> before rendering byline * feat: store byline meta according to the expected format * chore: refacot bylineParser function * feat: make custom bylines to work without co-author plus activated * feat: make custom byline field to be displayed on a modal * fix: mystype newspackByline.is_co_authors_plus_active * fix: adding space after token insertion at the end of byline * fix: improve byline innerHTML assignment * docs: update docs * fix: typo isTokensdReady * fix: remove non used authors query * fix: cubic-bezier transition typo * fix: remove updateBylineMeta from click on x/removal callback event * fix: remove unnecessary "backwards" compatibility since it's new feature * feat: add byline output to pre_newspack_posted_by hook * Tried to simplify some things Replaced the MutationObserver with an event listener, replaced some of the DOM interaction with a useRef element, and tried to refactor some of the data getters and setters. * Update effects on mounting * Remove unneded remove handler. * Look up the byline on mount, not just on initial render. * feat: modify textarea to RichText and add TagInlineBlock with dummy authors * feat: fetch authors from co-authors plus and set tokens on BylinesSettingsPanel * chore: improve inline documentation * feat: [WIP] add author tokens on click * feat: append users to the end of the byline * feat: add author tokens to custom byline * feat: handling tokens with vanilla JS (WIP) * feat: useRef to manage tokens in use * chore: improve inline docs * feat: check custom byline after DOM ready * chore: addEventListener trough ref instead of DOM directly Also adds the return of a function on useEffect to allow React cleanup on unmount * feat: display icons on tokens (plus to insert and close to remove) * feat: add mutation observer to remove tokens on erasing with backspace/delete * chore: enhance inline documentation * fix: stylize tokens according to FormTokenField * fix: remove token when characterData changes * fix: improved mutation observer callback logic to update data correctly * fix: initilize only on DOM ready and main byline element ready * fix: properly add the mutation observer after child component is ready * fix: implement setTokensInUse function to better reuse code * fix: split byline "textarea" and tokens to avoid unwanted re-rendering * feat: parse meta with <Author> before rendering byline * feat: store byline meta according to the expected format * chore: refacot bylineParser function * feat: make custom bylines to work without co-author plus activated * feat: make custom byline field to be displayed on a modal * fix: mystype newspackByline.is_co_authors_plus_active * fix: adding space after token insertion at the end of byline * fix: improve byline innerHTML assignment * fix: typo isTokensdReady * docs: update docs * fix: remove non used authors query * fix: cubic-bezier transition typo * fix: remove updateBylineMeta from click on x/removal callback event * fix: remove unnecessary "backwards" compatibility since it's new feature * refactor: replace MutationObserver with event listeners Replaced the MutationObserver with an event listener, replaced some of the DOM interaction with a useRef element, and tried to refactor some of the data getters and setters. * fix: update effect registration so it only runs on mounting * refactor: remove unneded "remove token" handler * fix: look up the byline meta on mount, not just on initial render * fix: set contenteditable="false" on token spans Prevents editing the content in these spans, and makes it so that deleting (with backspace) will remove the whole span at once rather than editing within the span. * chore: add some missing docblocks and fix some lint issues * fix: set default insert location to end of editable field Updates the "cursorPos" variable logic to use the end of the line if there's no cursor position set yet, and to add a non-breaking space at the end of the text if necessary. Also updates the white-space styling of the editable area, to ensure that users can select any point in the text they may need to. * fix: remove margin from last token to prevent confusion with whitespace * feat: add preview to sidebar interface * fix: rename panel to Byline * fix: make modal width fixed * feat: add function to parse meta for preview * feat: default custom byline on first toggle * feat: set default custom byline meta on toggle * feat: replace author shortcodes on output * feat: update styles to match new designs * feat: update styles to match designs * chore: cleanup, comments, organization * feat: return an array of coauthors plus authors object, for authors in use in the byline * chore: few tweaks and linting --------- Co-authored-by: Leo Germani <leogermani@automattic.com> Co-authored-by: goldenapples <goldenapplesdesign@gmail.com> Co-authored-by: Joeleen Kennedy <joeleen@humanmade.com> * fix: handle missing Mailchimp API key in auth status (#3873) * fix: remove Mailchimp for WooCommerce from wizard (#3876) * fix(notices): fix PHP notice (#3872) * chore: remove unused `react-daterange-picker` package (#3879) * chore: prevent PHP notice with is_singular (#3874) * fix(guest-contributors): return them in authors query * fix: remove the Design link from the Appearance menu (#3878) * feat(esp-sync): add constant contact support (#3832) * fix: add constant contact list id setting * fix: add constant contact to Sync settings * fix: add constant contact to reader activation settings * chore: refactor esp settings component * fix: regressions --------- Co-authored-by: dkoo <derrick.koo@automattic.com> * ci: build distributable after release --------- Co-authored-by: Ron Chambers <116242607+ronchambers@users.noreply.github.com> Co-authored-by: Rasmy Nguyen <raz@automattic.com> Co-authored-by: Takshil Kunadia <71006004+Takshil-Kunadia@users.noreply.github.com> Co-authored-by: Allyson <2000638+allysonsouza@users.noreply.github.com> Co-authored-by: Leo Germani <leogermani@automattic.com> Co-authored-by: goldenapples <goldenapplesdesign@gmail.com> Co-authored-by: Joeleen Kennedy <joeleen@humanmade.com> Co-authored-by: Camilla Krag Jensen <naxoc@users.noreply.github.com> Co-authored-by: matticbot <sysops+ghmatticbot@automattic.com> Co-authored-by: Adam Cassis <adam@adamcassis.com> Co-authored-by: Adam Cassis <adam.cassis@automattic.com> Co-authored-by: Laurel <laurel.fulford@automattic.com> Co-authored-by: dkoo <derrick.koo@automattic.com>
matticbot
pushed a commit
that referenced
this pull request
Apr 4, 2025
# [6.3.0-alpha.1](v6.2.2...v6.3.0-alpha.1) (2025-04-04) ### Bug Fixes * **guest-contributors:** return them in authors query ([3703559](3703559)) * handle missing Mailchimp API key in auth status ([#3873](#3873)) ([6df6fda](6df6fda)) * **ia:** render all emails on reset ([#3867](#3867)) ([c6a71c0](c6a71c0)) * **notices:** fix PHP notice ([#3872](#3872)) ([cc928b2](cc928b2)) * path to autoload ([#3808](#3808)) ([97fa24a](97fa24a)) * remove Mailchimp for WooCommerce from wizard ([#3876](#3876)) ([f6b2484](f6b2484)) * remove the Design link from the Appearance menu ([#3878](#3878)) ([e24f147](e24f147)) ### Features * custom byline interface ([#3746](#3746)) ([289f55e](289f55e)) * **esp-sync:** add constant contact support ([#3832](#3832)) ([8198956](8198956)) * frontend display of bylines ([#3856](#3856)) ([9feeba8](9feeba8))
Contributor
|
🎉 This PR is included in version 6.3.0-alpha.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
matticbot
pushed a commit
that referenced
this pull request
Apr 9, 2025
# [6.4.0-alpha.1](v6.3.0...v6.4.0-alpha.1) (2025-04-09) ### Bug Fixes * **guest-contributors:** return them in authors query ([3703559](3703559)) * handle missing Mailchimp API key in auth status ([#3873](#3873)) ([6df6fda](6df6fda)) * **ia:** render all emails on reset ([#3867](#3867)) ([c6a71c0](c6a71c0)) * **notices:** fix PHP notice ([#3872](#3872)) ([cc928b2](cc928b2)) * path to autoload ([#3808](#3808)) ([97fa24a](97fa24a)) * remove Mailchimp for WooCommerce from wizard ([#3876](#3876)) ([f6b2484](f6b2484)) * remove the Design link from the Appearance menu ([#3878](#3878)) ([e24f147](e24f147)) ### Features * custom byline interface ([#3746](#3746)) ([289f55e](289f55e)) * **esp-sync:** add constant contact support ([#3832](#3832)) ([8198956](8198956)) * frontend display of bylines ([#3856](#3856)) ([9feeba8](9feeba8))
Contributor
|
🎉 This PR is included in version 6.4.0-alpha.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
matticbot
pushed a commit
that referenced
this pull request
Apr 14, 2025
# [6.4.0](v6.3.1...v6.4.0) (2025-04-14) ### Bug Fixes * **guest-contributors:** return them in authors query ([3703559](3703559)) * handle missing Mailchimp API key in auth status ([#3873](#3873)) ([6df6fda](6df6fda)) * **ia:** render all emails on reset ([#3867](#3867)) ([c6a71c0](c6a71c0)) * **notices:** fix PHP notice ([#3872](#3872)) ([cc928b2](cc928b2)) * path to autoload ([#3808](#3808)) ([97fa24a](97fa24a)) * remove Mailchimp for WooCommerce from wizard ([#3876](#3876)) ([f6b2484](f6b2484)) * remove the Design link from the Appearance menu ([#3878](#3878)) ([e24f147](e24f147)) ### Features * custom byline interface ([#3746](#3746)) ([289f55e](289f55e)) * **esp-sync:** add constant contact support ([#3832](#3832)) ([8198956](8198956)) * frontend display of bylines ([#3856](#3856)) ([9feeba8](9feeba8))
Contributor
|
🎉 This PR is included in version 6.4.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
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.
All Submissions:
Changes proposed in this Pull Request:
Closes https://app.asana.com/1/26890605006346/project/1206274567818686/task/1209600501830288?focus=true
This PR adds ESP sync support for Constant Contact. We also take advantage of the ESP sync method when changing emails now that CC will be supported by our ESP Sync class.
How to test the changes in this Pull Request:
Testing Email Change
Other information: