Skip to content
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

Call for donations to continue the work on Quicktext #371

Closed
7 tasks
jobisoft opened this issue Aug 17, 2023 · 41 comments
Closed
7 tasks

Call for donations to continue the work on Quicktext #371

jobisoft opened this issue Aug 17, 2023 · 41 comments

Comments

@jobisoft
Copy link
Owner

jobisoft commented Aug 17, 2023

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?
  • Required UI changes
  • What Experiment code is still used and how to move forward?
  • What about Scripts?

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)

  • File bug with Thunderbird to open menu typed action buttons via shortcut for keyboard-only navigation.
  • Rewrite settings window as HTML.
  • Use a WYSIWYG editor for templates in new settings window.
  • Store templates in local storage or IndexDB and allow admins to provision templates via managed storage and/or HTTP(S) import.
  • Add option to import images and store them in a local database and use IDs to reference them in templates.
  • Write WebExtension replacement for pickFile()
  • Drop LegacyPrefs API after managed storage is fully implemented

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:

  • WebExtension are extremely simple (2 files in a zip)
  • they are able to communicate with other add-ons
  • a script tag could include an add-on id, and a set of parameters
  • Quicktext sends a message to the other add-on, that add-on is performing the required logic and returns the string which should be used
  • The companion add-on may even use Experiments on its own, to do things WebExtensions cannot do
  • We could work on a Community Script add-on (which does not necessarily need to be maintained by me), which is either available here or on ATN, which includes a bunch of scripts and is a boilerplate for users who need their own scripts

What do you think?

@jobisoft jobisoft pinned this issue Aug 17, 2023
@jobisoft jobisoft changed the title Converting Quicktext to be a pure WebExtension, good news everyone! Call for donations to continue the work on Quicktext Aug 18, 2023
@jobisoft jobisoft changed the title Call for donations to continue the work on Quicktext Call for donations to continue the work on Quicktext (WebExtension) Aug 18, 2023
@jobisoft jobisoft changed the title Call for donations to continue the work on Quicktext (WebExtension) Call for donations to continue the work on Quicktext Aug 18, 2023
@DieWebmacherin
Copy link

Thank you for the great plugin. Donated!

@DjToneBone
Copy link

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

@MagicFab
Copy link

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

@bpbreedlove
Copy link

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
Copy link
Owner Author

jobisoft commented Aug 18, 2023

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
Copy link

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
Copy link
Owner Author

jobisoft commented Aug 18, 2023

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
Copy link

KonradHoeffner commented Aug 18, 2023

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
Copy link

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
Copy link
Owner Author

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
Copy link
Owner Author

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
Copy link

Donated €5.82

@cetcondor
Copy link

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

@Crashandru
Copy link

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
Copy link

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
Copy link
Owner Author

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
Copy link

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
Copy link

grefel commented Aug 19, 2023

Thank you

@jobisoft
Copy link
Owner Author

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
Copy link

grefel commented Aug 19, 2023

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
Copy link

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
Copy link

PeterinScotland commented Aug 19, 2023

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
Copy link

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

@sebastianrothe
Copy link

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

@HugoGresse
Copy link

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
Copy link
Contributor

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
Copy link
Contributor

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

@PeterinScotland
Copy link

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
Copy link

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
Copy link

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

@southmusic
Copy link

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

@Jaeger-S2k
Copy link

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
Copy link

MarkejN commented Aug 22, 2023

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
Copy link

wjozsi commented Aug 22, 2023

Donated. Thanks for maintaining QuickText!

@Flomore5
Copy link

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

@kicktipp
Copy link
Contributor

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
Copy link
Owner Author

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
Copy link

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

@nzpete54
Copy link

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

@jobisoft
Copy link
Owner Author

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
Copy link
Owner Author

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!

@jobisoft jobisoft unpinned this issue Aug 30, 2023
@jobisoft jobisoft pinned this issue Sep 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests