jobisoft / quicktext

An extension for Thunderbird that lets you create templates that can be easily inserted into your own emails.
Mozilla Public License 2.0
184 stars 52 forks source link

Call for donations to continue the work on Quicktext #371

Closed jobisoft closed 1 year ago

jobisoft commented 1 year ago

Current Status of WebExtension conversion

I have made significant progress on the WebExtension rewrite. See the webExt branch. I was able to re-implement most of the core features - including keyword handling and shortcut handling inside the compose window - as pure WebExtension code. I do not see any showstoppers to finish the conversion. \o/

Why convert to WebExtension technology?

Just like Firefox, Thunderbird supports the WebExtension technology, which provides stable APIs for Add-ons. Quicktext is not yet a pure WebExtension and does not use these stable APIs, but instead uses old code which has full access to the users computer. This old code needs to be updated whenever Thunderbird changes. Keeping up with Thunderbird is a time-consuming task and the reason, why Quicktext is mostly not compatible with Thunderbird Beta/Daily and often not directly compatible with new versions of Thunderbird. Since the Thunderbird team plans to switch to monthly releases, this will become an even greater issue.

After Quicktext has been converted to a pure WebExtension and no longer uses any "legacy" code (a.k.a. Experiments), the work needed to maintain Quicktext will be reduced significantly. This will allow me to spend my time on implementing new features.

Required UI changes

There will be one change in the WebExtension version of Quicktext, which is a compromise: No more toolbar. Maybe in a distant future, there will be ways to add UI elements to the composer, and we can add something useful again. For now, the WebExtension rewrite will use an action button:

image

The context menu exists as well:

image

What Experiment code is still used and how to move forward?

The WebExtension development branch is still using some Experiment code, but I think we can get rid of all of it. But that will cause a change in behavior. I will use this issue as a public discussion platform regarding these changes:

getQuicktextFilePaths() and readTextFile()

The add-on reads templates from the user's profile folder. That has to change, and I will store templates in local storage. "Global" templates can be provisioned using the managed storage. Alternatively, templates can be provisioned via HTTP(S) imports on startup (the URL can be provisioned via managed storage).

readBinaryFile

This is used to read and include images in templates. My proposal is to let users import images into Quicktext (store the image source in local storage / local IndexDB) and let templates reference images by an identifier.

pickFile()

WebExtension can open FilePickers, but only from a web page using <input type="file" />. However, Quicktext also has two menu entries to include local text/html files. I need to make the menu open a small popup, where the user is prompted to click on the "open file" button.

LegacyPrefs API

I still include the LegacyPrefs API to allow admins to provision overrides for defaultImport and templateFolder, both will be dropped in favor of managed storage.

Action Items (no showstoppers, just a lot of work)

What about Scripts?

The WebExtension version of Quicktext will not be able to support scripts as before. Currently, its scripts have full system access and just like any Experiment add-on, they may break between Thunderbird updates.

Quicktext may support WebExtension scripts (which will be enough for most of the things you want to do), but has to use an unsafe-eval directive, which prevents it from being hosted on ATN. The only other solution I came up with are companion add-ons:

What do you think?

DieWebmacherin commented 1 year ago

Thank you for the great plugin. Donated!

DjToneBone commented 1 year ago

Thank you for keeping this great plugin going and updated! My small team really benefits from this. Donated!

MagicFab commented 1 year ago

Thank you, donated and shared. Keep up the good work :)

bpbreedlove commented 1 year ago

New user! Have barely scratched the surface with what QT can do. I'd like to donate, but don't have a full grasp of its value yet... what is the suggested donation, how much is your goal, or (community) how much are you donating?

jobisoft commented 1 year ago

Below 1 EUR will be eaten mostly by fees. Do not feel pressured. Every donation helps. 10 EUR is very common, but I also see larger ones :-) My goal is to finance the next holidays for a family of 4, to compensate for the time my family does not see me when I code.

jakubstaszak-com commented 1 year ago

Is there a way someone could contribute to the code? Quicktext is much appreciated by me due to toolbar in particular and I think I'd rather find a programmer who is able to code that function than to live without it, especially that with a toolbar it's crystal clear what groups and templates there are to choose from.

jobisoft commented 1 year ago

Is there a way someone could contribute to the code? Quicktext is much appreciated by me due to toolbar in particular and I think I'd rather find a programmer who is able to code that function than to live without it, especially that with a toolbar it's crystal clear what groups and templates there are to choose from.

I definitely want the main Quicktext add-on to be a pure WebExtension, so it no longer asks the user for the full system access permissions and no longer requires updates each time Thunderbird is updated. The toolbar could be added by an additional "Quicktext Toolbar" add-on, which re-uses code of the current Quicktext implementation, and asks the user for full system access again. But I think someone else has to maintain that. This is not an issue of me not being able to code, but trying to spend my time wisely (implementing new features vs. catching up with Thunderbird)

KonradHoeffner commented 1 year ago

I wanted to sponsor it but the option is not available on GitHub and I don't prefer PayPal especially if it takes 1 € in fees. Is it possible to offer GitHub sponsorship as well? Alternatively I can also look if I can contribute PRs.

jakubstaszak-com commented 1 year ago

Is there a way someone could contribute to the code? Quicktext is much appreciated by me due to toolbar in particular and I think I'd rather find a programmer who is able to code that function than to live without it, especially that with a toolbar it's crystal clear what groups and templates there are to choose from.

I definitely want the main Quicktext add-on to be a pure WebExtension, so it no longer asks the user for the full system access permissions and no longer requires updates each time Thunderbird is updated. The toolbar could be added by an additional "Quicktext Toolbar" add-on, which re-uses code of the current Quicktext implementation, and asks the user for full system access again. But I think someone else has to maintain that. This is not an issue of me not being able to code, but trying to spend my time wisely (implementing new features vs. catching up with Thunderbird)

Oh I didn't imply your lack of programming skills, I just offered to contribute so that we could reach a particular goal, and since I have no idea about programming thunderbird add-ons, I thought of hiring someone else, in case the limitation was due to heavy labor required to reach that goal, which I assumed by the call for donations. My bad.

jobisoft commented 1 year ago

I wanted to sponsor it but the option is not available on GitHub and I don't prefer PayPal especially if it takes 1 € in fees. Is it possible to offer GitHub sponsorship as well? Alternatively I can also look if I can contribute PRs.

Is "it" referring to the toolbar add-on? I would not like to make any promises for now. Let us revisit that question once the main work has been finished.

But I am part of the GitHub sponsor program: https://github.com/sponsors/jobisoft

jobisoft commented 1 year ago

Is there a way someone could contribute to the code? Quicktext is much appreciated by me due to toolbar in particular and I think I'd rather find a programmer who is able to code that function than to live without it, especially that with a toolbar it's crystal clear what groups and templates there are to choose from.

I definitely want the main Quicktext add-on to be a pure WebExtension, so it no longer asks the user for the full system access permissions and no longer requires updates each time Thunderbird is updated. The toolbar could be added by an additional "Quicktext Toolbar" add-on, which re-uses code of the current Quicktext implementation, and asks the user for full system access again. But I think someone else has to maintain that. This is not an issue of me not being able to code, but trying to spend my time wisely (implementing new features vs. catching up with Thunderbird)

Oh I didn't imply your lack of programming skills, I just offered to contribute so that we could reach a particular goal, and since I have no idea about programming thunderbird add-ons, I thought of hiring someone else, in case the limitation was due to heavy labor required to reach that goal, which I assumed by the call for donations. My bad.

Understood. All good. The code is already there, but it is old legacy code and that has a few implications which users are no longer willing to accept. Let us revisit this topic once the main migration work from legacy to WebExtension is done (that is the part which needs time and the current call for donations is about). It will boil down to the question, who is willing to maintain the toolbar code, once it has been split out into its own add-on.

PeterinScotland commented 1 year ago

Donated €5.82

cetcondor commented 1 year ago

Thanks for the work on Quicktext, which I use at least twice or more times per week. Have just donated via Paypal.

Crashandru commented 1 year ago

Thank you for the great add-on Quicktext. I have been using it for a very long time and it has always been worth recommending to others. Of course I made my contribution for the deserved family vacation via PayPal.

new-on-github commented 1 year ago

I wanted to sponsor it but the option is not available on GitHub and I don't prefer PayPal especially if it takes 1 € in fees. Is it possible to offer GitHub sponsorship as well? Alternatively I can also look if I can contribute PRs.

Why are there fees in paypal, if you don't use paypals payer protection? But I would also appreciate a different donation method.

By the way thanks for the helpful addon.

jobisoft commented 1 year ago

I added the GitHub sponsor button to the first posting, I think that works without a PayPal account.

I do not know why PayPal takes fees for some donations and not for others. I see both. The only link I provide is the paypal.me link, so I have no idea what triggers the fee. Maybe if the donation comes from a business PayPal account?

sebastianrothe commented 1 year ago

I added the GitHub sponsor button to the first posting, I think that works without a PayPal account.

I do not know why PayPal takes fees for some donations and not for others. I see both. The only link I provide is the paypal.me link, so I have no idea what triggers the fee. Maybe if the donation comes from a business PayPal account?

It is the PayPal-Me link. This is a transaction with protection, therefore the fees. If you can post your PayPal mail address, we could use PayPal Friends.

grefel commented 1 year ago

Thank you

jobisoft commented 1 year ago

I added the GitHub sponsor button to the first posting, I think that works without a PayPal account. I do not know why PayPal takes fees for some donations and not for others. I see both. The only link I provide is the paypal.me link, so I have no idea what triggers the fee. Maybe if the donation comes from a business PayPal account?

It is the PayPal-Me link. This is a transaction with protection, therefore the fees. If you can post your PayPal mail address, we could use PayPal Friends.

Oh, but that would expose my PayPal account name and open up an attack vector, which I think I would like to avoid.

Is the github sponsor button an alternative?

grefel commented 1 year ago

It is the PayPal-Me link. This is a transaction with protection, therefore the fees. If you can post your PayPal mail address, we could use PayPal Friends.

I could just choose between a secured (fees) or friends (free of charge) transfer.

new-on-github commented 1 year ago

It is the PayPal-Me link. This is a transaction with protection, therefore the fees. If you can post your PayPal mail address, we could use PayPal Friends.

I could just choose between a secured (fees) or friends (free of charge) transfer.

Same here, thanks.

PeterinScotland commented 1 year ago

If I remember aright, I logged into my PayPal account and then used the Paypal Me link and it allowed me to send as "Friends and Family". Since I'm not buying something I don't see a problem with that. Also it shows me your name and email address. I didn't know you could do PayPal without that. I've been using PayPal for 23 years.

I don't remember why I logged in, maybe because it wasn't showing me the Friends and Family option if I just went directly from the link; I know there was some kind of problem but I don't remember what.

sebastianrothe commented 1 year ago

Ah, okay. Then we should just choose to send it with Paypal Friends.

sebastianrothe commented 1 year ago

BTW, thanks for this great plugin. We use it daily in our workflow of answering emails. Became a sponsor!

HugoGresse commented 1 year ago

Donated! Thanks for making QuickText, so useful on a day to day basic!

To corroborate others, the toolbar is our main use case, as it reduce the amount of click by one to select a template. When you have 70 emails, it is very welcome as you can imagine.

image

SamuelPlentz commented 1 year ago

Thanks for your work @jobisoft! I agree, that dropping the toolbar is not an option. 80% (if not more) need it. IIRC only one user complained about the "everything permission" Quicktext needs.

SamuelPlentz commented 1 year ago

Perhaps 2 unsafe add-ons that manage the toolbar (1) and the scripts (2) would be a good option.

PeterinScotland commented 1 year ago

Toolbar?? I'm not familiar with the toolbar - I use CTRL-0, CTRL-1, etc - I have emails coming in all day long and am not really a mouse person. A mouse is a necessary evil these days as software developers no longer design everything with keyboard access, but keyboard shortcuts are the business, especially in my case since some 25 years ago I worked with a colleague who had lost the use of his hands and operated his computer with a stick in his mouth.

To corroborate others, the toolbar is our main use case, as it reduce the amount of click by one to select a template. When you have 70 emails, it is very welcome as you can imagine.

jakubstaszak-com commented 1 year ago

kb shortcuts are in fact the business if you have a few, limited, known and obvious actions. They are completely useless if you have 10-20 topics (groups, menus) and some 20-30 templates in each group, that you have to browse and match the most related ones. You could barely remember what options you have in a single such group, and even if you could memorize all the shortcuts -- pasting templates this way means you have to try sometimes 3 or 5 different templates to find the right answer.

bedohave commented 1 year ago

Any other method for donating from Canada? I'm having seemingly-surmountable-but-alas issues with PayPal.

southmusic commented 1 year ago

thanks for creating and maintaining this excellent and useful tool. donated.

Jaeger-S2k commented 1 year ago

Thank you for your hard work, I've not yet used the plugin fully, but it's a lovely addition. Donated a small amount, hope you fulfil your goal. Happy Holiday!

MarkejN commented 1 year ago

Hello, I work at Postyou, an advertising agency. Our whole team uses the extension every day and we really like it. We donated 20 € for further development and are looking forward to the new version. But please keep the toolbar!!! It is very important for us. Greetings from Germany

wjozsi commented 1 year ago

Donated. Thanks for maintaining QuickText!

Flomore5 commented 1 year ago

Donated. But yes .. please .. don't take that lovely toolbar from us! D:

kicktipp commented 1 year ago

Greetings from kicktipp. We donated 200 € . Quicktext is my most important tool. Do you need more? Drop a note. I am in love with this tool. I can donate more, but I might need a proper invoice or something else.

jobisoft commented 1 year ago

You are all awesome. Thank you for your support. Our next vacations are going to be exceptional and I am sure we are going to find a solution for the toolbar :-)

maxbloch commented 1 year ago

Just donated $50, Thank you @jobisoft !!!

nzpete54 commented 1 year ago

Happy to have left a donation. Keep up the good work. Gosh, PayPal has a large fee for this!

jobisoft commented 1 year ago

Happy to have left a donation. Keep up the good work. Gosh, PayPal has a large fee for this!

You should always be able to make the donation as a gift to a "friend" instead of a real transaction. I can see that 90% of the donations are without a fee.

jobisoft commented 1 year ago

I submitted v5.10 which fixes #374 and #372 and also removes the donation popup again, which officially ends this call for donations. Thanks for all your support!