wangvisual / expression-search

Expression Search is a Thunderbird addon that add search features like Gmail
https://addons.thunderbird.net/en-US/thunderbird/addon/gmailui/
GNU General Public License v3.0
78 stars 23 forks source link

Conversion to new Mailextension or Webextensions Experiments API #89

Open riedel opened 4 years ago

riedel commented 4 years ago

Is this even feasible??

Addressing TB78 Mailextension would mean a rewrite and I am pretty sure that currently some stuff is not yet working due to the current API. Can someone confirm that eg. date filtering would not work easily.

I thing the quickfilter function comes would be the easiest to go for but only the query function exposes enought expressiveness but does not interact with the MailTabs i think.

Or would WebExtension Experiments be the way to go?

I have actually never seen a custom search field in a webextension, but I might be ignorant and there is an API.

Any thoughts on the migration?

riedel commented 4 years ago

The Mailextension API seems pretty unusable in its current state. Filed a bug here: https://bugzilla.mozilla.org/show_bug.cgi?id=1614916 .

EaterOA commented 4 years ago

Hi @riedel, do you know if anything changed with the Thunderbird 78 API that might make porting expression-search to Mailextension or Webextensions Experiments easier? I'm not experienced with Thunderbird add-on development, but I do know some Javascript and I depend a lot on this add-on, so I want to explore how feasible it is to port it.

EaterOA commented 4 years ago

FWIW the TB78 didn't seem much different to me from TB68, so I looked into Experiments a bit. Working backwards from mailTabs.setQuickFilter, I landed on MessageTextFilter. The comments seem to suggest that different filterers (e.g. TagFacetingFilter) can be implemented by extensions... although this is already deep in the realm of Experiments and not regular Mailextensions.

EDIT: I hadn't realized this seems to be exactly what expression-search is already doing for <=TB68. It's just no longer accessible from TB78 onwards via Mailextension. I suspect it may be possible to basically declare the ExpressionSearchFilter.js as an Experiments API, and regain the same functionality without extensive rewrite.

malix0 commented 4 years ago

The best solution will be a native TB support, please add your vote here https://bugzilla.mozilla.org/show_bug.cgi?id=538821