-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Additional Outlook Versions, Yahoo Replies, Better support for multi-client reply chains, and Dependency Update #15
base: main
Are you sure you want to change the base?
Conversation
…hanges. deferring for now
…add debug npm command to attach to chrome devtools for debugging
… code was fail detection unless at least two splitters were found and it would leave the first quoted message in the result.
…to make sure it was handled correctly
…merican and International
Add Support for Additional Versions of Outlook and Dependency Update
…functions on each message instead of prioritizing order
…s-clients handle reply chains among multiple clients by simply running all cut …
…s are sometimes lowercased by outlook
Detect replies using the yahoo_quoted class
@l8on, @eshenfield, @jylauril, I hope all of you are doing well. Is this project still being maintained? I've added a few more enhancements in my fork after issuing this PR a few weeks back. |
Hey @acterry thanks for the ping. If you could downgrade the coffeescript back to the latest |
Thanks for the reply. No problem, I’ll take a look at that downgrade. I added a few other features to my fork since issuing this PR a few weeks back. If you’re interested in considering all of these, I can downgrade my form to Coffeescript 1.x.x and update this PR.
|
Actually, this PR already has all of my subsequent changes in it since the request is to merge my master into your master. When I initially did it, I wasn't planning any more additions. If you want, I can close this PR and issue a new one from the branch specific to this change. In the meantime, I'm going to update the description of this PR. |
@acterry Don't worry about issuing a new PR, and thank you for updating the description. To respond to some info in your description:
We need to support Node 8+ with planer.
I am a little concerned about this performance hit, but appreciate the improved completeness of the solution. Given this change in behavior, we may consider a major version bump for these changes such that we don't surprise anyone with bigger email processing bills. Once the coffeescript version is downgraded, I look forward to taking a deeper look and testing it out myself. |
@l8on , thanks for the comments. I'll switch my environment to the latest 8.x Node version, make the necessary changes, and switch to CoffeeScript 1.x.x. I'll let you know when I'm done. It should be sometime this week. |
@l8on , sorry for the huge delay on this one. It’s on my list to resolve. just want to make sure that Coffeescript 1.x and Node 8 are still the targets. |
@acterry Yup, Coffeescript 1.x and Node 8+ are still the targets for this module. |
The fixes in this PR would be really awesome to have! |
@felixfbecker , thanks for the reminder. It fell off my radar long ago. However, I still use the code from my fork and it would be nice to have them upstream -- assuming that the maintainers are still interested in them. |
Changes
Selector Changes
fixed zero-based array issue in findOutlookSplitterWithQuerySelector code
Added new cut function to handle replies using the yahoo_quoted class
Add support for removing Yahoo replies that use the yahoo_quoted class
Handle reply chains among multiple clients by simply running all cut function
Removing replies from HTML messages is based on executing a list of email client-specific cut functions. Previously the code would stop after the first client-specific cut function found something to remove.
This didn't work well when the message had several replies in it and the cut function only removed a portion of the reply chain.
I'm simply running all of the cut functions -- not stopping after the first hit. This comes with a performance penalty, but still allows each cut function to continue to have freedom of implementation -- instead of forcing them to report back the DOM position and using centralized code to remove signature elements.
Updated all dependencies to latest stable, except for Mocha.
I'm running Node 12 LTS on my dev box. I didn't check, but I imagine that some other dependency that I upgraded has likely dropped Node 6 support. Not sure if that's important or not.