metasansana / thunderbird-account-copy Goto Github PK
View Code? Open in Web Editor NEWA Thunderbird plugin for copying data between mail accounts.
License: Apache License 2.0
A Thunderbird plugin for copying data between mail accounts.
License: Apache License 2.0
As requested. Sometimes a user may only be interested in copying filters.
The purpose of this extension is to allow the following types of data to be copied between mail accounts:
The workflow I envision for this is a single tab containing a wizard the user steps through to configure and start the copy. The copy process itself will be executed via a background script.
The diagram below gives an idea of the workflow from a user's perspective.
The filters could be shown in a table with the potentially conflicting ones in red, same for folders except we could use a tree like list to give an outline of the structure.
To prevent errors like accidentally duplicating all the folders and messages in the source account.
This issues serves as a meta issue for all the tasks needed to implement filter copying.
As far as I am aware and can tell. Filters are stored on the local machine in the msgFilterRules.dat
file. It's a little confusing whether filters are associated to folders/identities/accounts but code such as this suggest they are tied to the nsIMsgIncomingServer
of an nsIMsgAccount
. This is also evident by the file location on the file system.
Everywhere I searched for the property canHaveFilters
, it seems to be set to true, so I'm pretty confident they are only stored locally.
https://searchfox.org/comm-central/search?q=canHaveFilters%7Cm_canhaveFilters&path=&case=true®exp=true
A quick win is to probably copy the msgFilterRules.dat
file between accounts but we are interested in detecting collisions here so I'll look further into using the internal APIs so we can easily detect what's being overwritten.
The following tasks need to be complete to close this issue (more will be added as we progress).
The error is along the lines of Error: Invalid tab ID: 6
. This is because the tab remains in the background script after the content tab is removed.
Where we use the copy API instead of merge, we can return the wrong folder count because we don't count recursively.
Caused by the spectre.css file setting it's own values on body and html. We should just use the common.css file settings in that regard.
Filters don't seem to carry a uuid or hash which would be helpful here. Instead we could use a combination of the name
, description
and the searchTerms
to detect potential similarities.
We run into some strange errors when the tab is opened more than once.
We should not need to hit the file system for this either. The extension API seems to support copying already.
https://webextension-api.thunderbird.net/en/stable/folders.html
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.