Removedupes Versions Save

Remove Duplicate Messages

v0.5.4b2

11 months ago

Changes since v0.5.3.2:

Features

  • #160 Now using the progress animation of the status bar while working.

Compatibility

  • Now supporting Thunderbird 115 (testing with TB 114.0b6). There are likely some remaining issues - please report them!

Bug Fixes

  • #154 : Now properly updating the status bar both when building the dupe sets and when refining them (e.g. with the body). Status bar updates might not work yet with TB 115 though.

Noteworthy internal changes

  • #155 Now using the WindowListener API v1.60

v0.5.4b5

11 months ago

Changes since v0.5.3.2:

Features

  • #160 Now using the progress animation of the status bar while working.

Compatibility

  • Now supporting Thunderbird 115. There are likely some remaining issues - please report them!
  • The toolbar menubutton is currently not supported with TB 115.

Improvements

  • #160, #161, #162 Now using the percentage bars and the "meteors" animation to indicate progress.

Bug Fixes

  • #154 Now properly updating the status bar both when building the dupe sets and when refining them (e.g. with the body).
  • #177 When aborting the dupe search with an alert message, now clearing the status bar.

Noteworthy internal changes

  • #180 Now using the WindowListener API v1.62

v0.5.3.2

1 year ago

Changes since v0.5.2.2:

Compatibility

  • Minimum supported Thunderbird version is now 91.

Other user-facing changes

  • Proper support of the dupe review dialog for dark mode
  • Bug fix: Now properly respecting the default action chosen in the add-on preferences dialog
  • Status bar updates now work again! You will get updates while the dupes are searched for (but - not while they are removed, see issue #105)
  • More status bar updates during actual removal of dupes: One status bar update for each folder being worked on
  • No longer throwing an uncaught exception due to redundant loading of customElement.js
  • Now properly handling the case of some of the dupes being in the target folder (i.e. target folder being one of the search folders)
  • Changed "Size" label to "Size (Headers & Body)"

Internal

  • using .code instead of the deprecated .keyCode
  • No longer using NsSyncStreamListener for getting message bodies
  • Defining global RemoveDupes object members separately to improve readability
  • Using the XPCOMUtils module to get services
  • Corrected some variable name typos in removedupes.js
  • Removed all of the ifdef-DEBUG lines from the code
  • Got rid of tabs had snuck into some .js files
  • A bunch of refactoring
  • Linted the code with ESlint and now following all those rules (with some specific exceptions in the ESLint config file, which is now part of the extension)
  • We now have a package.json file for the extension (which makes it easier for some IDEs to open it)
  • Service references are now const + out of container objects with single members.
  • Accommodating the "globalization" of the general Services module
  • Less/no references to services we don't actually use
  • Checkmark images are now inline SVGs (for light & dark mode)

v0.5.2.2

1 year ago

Changes since v0.5.1:

Compatibility - Thunderbird 91 (and 102)

  • #56: No longer failing to recurse subfolders in dupe search with TB 86 and later
  • #55: No longer failing when trying to move messages to Trash with TB 91
  • Other minor internal changes required for TB 91 compatibility
  • Works with TB 102 as well

Other user-facing changes

  • #67 Support for common-account Trash folder as the default move target (which is the default action for dupes)
  • Review dialog title change.
  • Bug fix: Email address stripping no longer fails when some characters need to be escaped.
  • #119 Satisfying ATN requirement of setting an explicit maximum compatible version (103.0)

Internal

  • #108 : Now failing more gracefully when some folders' messages cannot be iterated, rather than "crashing" the entire dupe search
  • #65 : Dropped our own custom preference wrapper code in favor of using Preferences.jsm
  • Dropped some internal checks relevant for unsupported, older TB versions.
  • #66 : Discarded our custom isEmpty() implementation in favor of the same function from ObjectUtils.jsm
  • Updated the extension loader ("Window Listener") API to v1.5.6.
  • Build script changes.
  • Dropped the string2hex facility - we no longer use it
  • Removed any remaining traces of the "(alternative)" qualifier after the extension name.
  • Removed mentions of Eyal's old email address in favor of his current one at GMX.
  • Whitespace, indentation changes

v0.5.1b2

2 years ago

v0.5.2b4

2 years ago

Changes since v0.5.1:

  • Updated the extension loader ("Window Listener") API to v1.5.6.
  • Build scirpt changes.
  • Review dialog title change.
  • Dropped some internal checks relevant for unsupported, older TB versions.
  • Bug fix: Email address stripping no longer fails when some characters need to be escaped.
  • Thunderbird 91 Compatibility:
    • Fixed #56: No longer failing to recurse subfolders in dupe search with TB 86 and later
    • Fixed #55: No longer failing when trying to move messages to Trash with TB 91
    • Other minor internal changes

v0.5

3 years ago
  • Dropped the "(Alternate)" suffix from the name. From now on this extension will be known as "Remove Duplicate Messages".
  • Logic change: Missing values are now assumed to have (unknown) unique values, so they are not considered to be duplicates of other missing values in the same field ; a (hidden) preference controls this behavior.
  • Compatibility: Compatible with Thunderbird 68, 78 and probably all beta versions in-between.
  • Compatibility: No longer compatible with Seamonkey 1.x, Toolkitized Seamonkey (2.x)
  • Compatibility: No longer compatible with Thunderbird 30...67.
  • Fix: Status flag comparison criteria was present only on the menubutton but not in the preferences dialog - now it appears in both.

Internal changes (no user visibility):

  • No longer using JARs
  • Reworked the directory structure
  • Dropped some files only in use by previous TB versions (but not all files for now)
  • Using John Bieling's "WindowListener" from here, as an extension loader; see this guide regarding how to use it.
  • Now using service getters provided by Services.jsm and MailServices.jsm whenever possible.
  • Now logging using a plain and simple console.log()/console.error().
  • Fix: Corrected the default value of the hidden preference for allowing MD5 substitutes for Message ID (no effect on behavior).

v0.5b3

3 years ago
  • Compatibility: Compatible with Thunderbird 68, 78 and probably all beta versions in-between.
  • Compatibility: No longer compatible with Seamonkey 1.x, Toolkitized Seamonkey (2.x)
  • Compatibility: No longer compatible with Thunderbird 30...67.
  • Fix: Status flag comparison criteria was present only on the menubutton but not in the preferences dialog - now it appears in both.

Internal changes (no user visibility):

  • No longer using JARs
  • Reworked the directory structure
  • Dropped some files only in use by previous TB versions (but not all files for now)
  • Using John Bieling's privileged extension loader, from here; see this guide regarding how to use it.
  • Now using service getters provided by Services.jsm and MailServices.jsm whenever possible.
  • Now logging using a plain and simple console.log().

v0.5b2

3 years ago
  • Compatibility: Compatible with Thunderbird 68, 78 and probably all beta versions in-between.
  • Compatibility: No longer compatible with Seamonkey 1.x, Toolkitized Seamonkey (2.x)
  • Compatibility: No longer compatible with Thunderbird 30...67.
  • Fix: Status flag comparison criteria was present only on the menubutton but not in the preferences dialog - now it appears in both.

Internal changes (no user visibility):

  • No longer using JARs within the XPI
  • Reworked the directory structure
  • Dropped some files only in use by previous TB versions (but not all files for now)
  • Using John Bieling's privileged extension loader, from here; see this guide regarding how to use it.
  • Now using service getters provided by Services.jsm and MailServices.jsm whenever possible.
  • Now logging using a plain and simple console.log().

REMOVEDUPES_0_1_3

3 years ago
  • Can now view messages by clicking their lines in the dupes dialog.
    
  • Compatibility: Added suiterunner support (Seamonkey based on xulrunner - Seamonkey 2.x)
  • Compatibility: Now Compatible with Thunderbird 2.0. ** Fix: Partial solution for the problem of non-ASCII message subject and author name.