Does not work with Thunderbird 102 b1
Opened this issue Β· 41 comments
Hi,
when will you release this to the world?
I'm quite interested in this, also willing to test...
when will you release this to the world?
I highly depends on available spare time and the issues I stumble upon. My spare time is currently pretty low thus the development speed is low. But it is free and open software which means everyone can help and contribute and fix bug.
And of course until the WebExtension is fixed you can always use the standalone application. It has no Thunderbird dependency and thus does not break with major Thunderbird releases.
I'm quite interested in this, also willing to test...
Any help is appreciated, you can find the most recent artifact in the pull request at #768
How to can download artifacts for CI builds is described here:
https://github.com/thsmi/sieve/wiki/FAQ---General-Questions#nightly-build-artifacts
Installed the most recent artifact successfully, now the plugin finds the server and shows the sieve-scripts, although editing does not work for me: I get a white window only. I use TB-102.0.3 on Fedora 36, if that is helpful. No complaint, just feedback. Thanks for your work.
Since the artifact is not downloadable anymore, a working WebExtension for Thunderbird 102.2.0 can be built from tree https://github.com/thsmi/sieve and @thsmi's commit e827edc .
I run the following generic steps on Linux:
<get latest npm from https://nodejs.org/en/blog/release/v18.8.0/>
tar xf node-v18.8.0-linux-x64.tar.xz
export PATH=$(pwd)/node-v18.8.0-linux-x64/bin:$PATH
npm config set cache $(pwd)/node/cache --global
git clone https://github.com/thsmi/sieve
cd sieve
npm install
npm install gulp -g
<use above commit to patch src/wx/api/sieve/SieveAccountsApi.js>
gulp --tasks
gulp wx:package
gulp wx:package-xpi
ls -l build
... sieve-0.6.1.xpi
Installed as an Add-on in Thunderbird 102.2.0, it successfully connects to the IMAP server now, also edit and save a sieve script looks working.
<use above commit to patch src/wx/api/sieve/SieveAccountsApi.js>
Some off-topic GitHub tips and tricks:
$ cd sieve/
$ curl -Lo foo.patch https://github.com/thsmi/sieve/commit/e827edcd8b0a1fdaf1f4134b0490f1c4629c79f1.patch
$ patch -p1 < foo.patch
But of course, since many seem to do this "just to get the add-on working again", it should be emphasized that building sources from unmerged PR's always assumes one knows what they are doing.
<use above commit to patch src/wx/api/sieve/SieveAccountsApi.js>
FTR I tried this and it did not work (tb 102.3.0), but using the code from the PR #768 did the trick, so:
git clone https://github.com/thsmi/sieve
cd sieve
git checkout 763-does-not-work-with-thunderbird-102-b1
npm install
npm install gulp
./node_modules/gulp-cli/bin/gulp.js --tasks
./node_modules/gulp-cli/bin/gulp.js wx:package
./node_modules/gulp-cli/bin/gulp.js wx:package-xpi
made my day.
is there any news when this will be fixed and released to the world? Some of my team used this for updating filters, until it broke.
#763 (comment) Worked for me.
#763 (comment) Worked for me.
Ok, but is there a ready to use xpi for the not so clever people like me?
#763 (comment) Worked for me.
Ok, but is there a ready to use xpi for the not so clever people like me?
here is the xpi I made back then
This still does not work for me on 102.4.0
on Debian 11.
All I get is the dialog with Cancel
and Add
buttons, but none of them does anything and I actually have to close Thunderbird to get rid of the dialog.
Following @ikarisan's post, I tried on another machine with the same version of Thunderbird and Debian and here I have the exact same phenomenon.
However, on a Debian 10 with Thunderbird 102.3.0, the same .xpi
works. I'd really love to supply more information on why it doesn't work for me on Debian 11 with Thunderbird 102.4.0, but the devlog doesn't have anything remotely interesting.
here is the xpi I made back then
Works for me with TB 102.4.2 (64-Bit, Win10)
@douardda Perfect! Worked for me (W11 TB 102.4.2)
However, on a Debian 10 with Thunderbird 102.3.0, the same
.xpi
works. I'd really love to supply more information on why it doesn't work for me on Debian 11 with Thunderbird 102.4.0, but the devlog doesn't have anything remotely interesting.
I think the source of my problem might have to do more with my window manager and with how Thunderbird draws modals then with this extension. By pressing a
on the keyboard rather than clicking the Add
button, I can confirm the installation.
So then just disregard my message, it seems unrelated.
<use above commit to patch src/wx/api/sieve/SieveAccountsApi.js>
FTR I tried this and it did not work (tb 102.3.0), but using the code from the PR #768 did the trick, so:
git clone https://github.com/thsmi/sieve cd sieve git checkout 763-does-not-work-with-thunderbird-102-b1 npm install npm install gulp ./node_modules/gulp-cli/bin/gulp.js --tasks ./node_modules/gulp-cli/bin/gulp.js wx:package ./node_modules/gulp-cli/bin/gulp.js wx:package-xpi
made my day.
@douardda thanks a lot! Simply executing this on my Mac (12.6.1 (21G217)) created a working xpi for my Thunderbird (102.5.0 (64-bit)).
Here it is for others just in case (the one provided by douardda didn't work for me which is why I build it myself). Unzip and install as usual sieve-0.6.1.xpi.zip.
Oops, building the plugin manually with the above instructions doesn't work:
./node_modules/gulp-cli/bin/gulp.js --tasks
Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'fs' imported from /home/tux/tmp/sieve/gulp/gulpfile.common.mjs
at packageResolve (internal/modules/esm/resolve.js:664:9)
at moduleResolve (internal/modules/esm/resolve.js:705:18)
at Loader.defaultResolve [as _resolve] (internal/modules/esm/resolve.js:798:11)
at Loader.resolve (internal/modules/esm/loader.js:100:40)
at Loader.getModuleJob (internal/modules/esm/loader.js:246:28)
at ModuleWrap. (internal/modules/esm/module_job.js:47:40)
at link (internal/modules/esm/module_job.js:46:36) {
code: 'ERR_MODULE_NOT_FOUND'
}
Anything wrong with the current version of gulp?
Get latest npm from https://nodejs.org/en/blog/release/ , for example node-v19.1.0-linux-x64.tar.xz
tar xf node-v19.1.0-linux-x64.tar.xz
export PATH=$(pwd)/node-v19.1.0-linux-x64/bin:$PATH
npm config set cache $(pwd)/node/cache --global
git clone https://github.com/thsmi/sieve
cd sieve
git checkout 763-does-not-work-with-thunderbird-102-b1
npm install
npm install gulp -g
gulp --tasks
gulp wx:package
gulp wx:package-xpi
ls -l build
... sieve-0.6.1.xpi
Hi @abreitf
Your instructions work perfectly, and the updated .xpi file too. Many thanks!
Would be really cool if we could install a release that works with current TB instead of having to go through setting up node environments and stuffs
I receive:
~/thunderbird-extension-sieve.0.6.1$ gulp --tasks
[13:13:38] Requiring external module /usr/share/nodejs/interpret/mjs-stub
internal/modules/cjs/loader.js:861
throw new ERR_REQUIRE_ESM(filename);
^
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /home/joch/thunderbird-extension-sieve.0.6.1/gulpfile.mjs
at Module.load (internal/modules/cjs/loader.js:861:11)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Module.require (internal/modules/cjs/loader.js:887:19)
at require (internal/modules/cjs/helpers.js:74:18)
at execute (/usr/share/nodejs/gulp-cli/lib/versioned/^4.0.0/index.js:36:18)
at Liftoff.handleArguments (/usr/share/nodejs/gulp-cli/index.js:204:24)
at Liftoff.execute (/usr/share/nodejs/liftoff/index.js:201:12)
at module.exports (/usr/share/nodejs/flagged-respawn/index.js:51:3)
at Liftoff.<anonymous> (/usr/share/nodejs/liftoff/index.js:191:5)
at /usr/share/nodejs/liftoff/index.js:149:9 {
code: 'ERR_REQUIRE_ESM'
when trying to compile on Debian 11, even trying with the above notes to install the current version. Both is same error.
SOLVED - maybe this helps others:
using
apt remove --purge node*
curl -sL https://deb.nodesource.com/setup_19.x | bash -
and instructions there as root
git clone https://github.com/thsmi/sieve thunderbird-extension-sieve.0.6.1
cd thunderbird-extension-sieve.0.6.1
git checkout 763-does-not-work-with-thunderbird-102-b1
npm install
NOTICE - ignored:
Run `npm audit` for details.
npm notice
npm notice New major version of npm available! 8.19.3 -> 9.2.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.2.0
npm notice Run npm install -g npm@9.2.0 to update!
npm notice
CONTUNUED
npm install gulp
./node_modules/gulp-cli/bin/gulp.js --tasks
./node_modules/gulp-cli/bin/gulp.js wx:package
./node_modules/gulp-cli/bin/gulp.js wx:package-xpi
ls -l build
Would be really cool if we could install a release that works with current TB instead of having to go through setting up node environments and stuffs
Don't stress the dev. They mentioned somewhere they are really short on time atm. Also, mind they are doing this in their free time. Pay respect to the project by not stressing the dev.
Would be really cool if we could install a release that works with current TB instead of having to go through setting up node environments and stuffs
Don't stress the dev. They mentioned somewhere they are really short on time atm. Also, mind they are doing this in their free time. Pay respect to the project by not stressing the dev.
but ofc i meant that in the least stressful way possibleπ
SOLVED - maybe this helps others:
using apt remove --purge node* curl -sL https://deb.nodesource.com/setup_19.x | bash - and instructions there as root git clone https://github.com/thsmi/sieve thunderbird-extension-sieve.0.6.1 cd thunderbird-extension-sieve.0.6.1 git checkout 763-does-not-work-with-thunderbird-102-b1 npm install NOTICE - ignored: Run `npm audit` for details. npm notice npm notice New major version of npm available! 8.19.3 -> 9.2.0 npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.2.0 npm notice Run npm install -g npm@9.2.0 to update! npm notice CONTUNUED npm install gulp ./node_modules/gulp-cli/bin/gulp.js --tasks ./node_modules/gulp-cli/bin/gulp.js wx:package ./node_modules/gulp-cli/bin/gulp.js wx:package-xpi ls -l build
Just in case it helps somebody, I upload my version based on the above build instructions on Debian Sid running with Thunderbird 102.6.0 here:
As it currently stands with Thunderbird 102.5.0, the dialog as shown above wrongly detects the server to connect to. However, it's also impossible to change it over the "edit settings" dialog. So right now the plugin is not usable at all.
@thsmi AFAICS this only needs a release. Are there any blockers we can help you with?
I made a Dockerfile for convenient building without having to install a specific node version on your system:
FROM node:19-bullseye-slim as build
RUN mkdir -p /usr/src/node-app && chown -R node:node /usr/src/node-app
WORKDIR /usr/src/node-app
COPY --chown=node:node . .
USER node
RUN npm install
RUN npm install gulp
RUN ./node_modules/gulp-cli/bin/gulp.js --tasks
RUN ./node_modules/gulp-cli/bin/gulp.js wx:package
RUN ./node_modules/gulp-cli/bin/gulp.js wx:package-xpi
FROM scratch as export
COPY --from=build /usr/src/node-app/build/ .
The only prerequisite is Docker (I used Docker version 20.10.12).
To build, checkout 763-does-not-work-with-thunderbird-102-b1
, put the above in a file called Dockerfile
and run DOCKER_BUILDKIT=1 docker build . --target=export --output out
. The result will be in a new folder called out
.
Or as a script:
git clone https://github.com/thsmi/sieve thunderbird-extension-sieve.0.6.1
cd thunderbird-extension-sieve.0.6.1
git checkout 763-does-not-work-with-thunderbird-102-b1
cat > Dockerfile <<eof
FROM node:19-bullseye-slim as build
RUN mkdir -p /usr/src/node-app && chown -R node:node /usr/src/node-app
WORKDIR /usr/src/node-app
COPY --chown=node:node . .
USER node
RUN npm install
RUN npm install gulp
RUN ./node_modules/gulp-cli/bin/gulp.js --tasks
RUN ./node_modules/gulp-cli/bin/gulp.js wx:package
RUN ./node_modules/gulp-cli/bin/gulp.js wx:package-xpi
FROM scratch as export
COPY --from=build /usr/src/node-app/build/ .
eof
DOCKER_BUILDKIT=1 docker build . --target=export --output out
ls -l out
Most recent xpi by @vsatmydynipnet is working for me with Thunderbird 102.6.1 / Windows 10
Thanks to @vsatmydynipnet and, as always, deep thanks to @thsmi
Most recent xpi by @vsatmydynipnet is working for me with Thunderbird 102.6.1 / Windows 10
Thanks to @vsatmydynipnet and, as always, deep thanks to @thsmi
I can confirm the same for Thunderbird 102.6.1 on Linux
Hi @thsmi, if resource is an issue, consider doing a kickstarter to release the new version of the extension with Thunderbird 102 support.
If you need an example you could look at https://www.kickstarter.com/projects/jik/rewritten-add-ons-for-mozilla-thunderbirds-next-release/description by @jikamens
I would chip in, hopefully others who commented would be willing to contribute as well.
@thsmi one of the things that resulted from my Kickstarter was the creation of a non-profit organization tasked with supporting Thunderbird add-on development. We still have some money in the bank that we may be able to use to subsidize the development work necessary to port add-ons to the current TB version. If that might help you get this done, or if you are comfortable with another developer getting paid to do the work (our org would not be comfortable paying someone other than the add-on's maintainer to work on the add-on without the maintainer's approval) and there's someone else here would be interested, feel free to reach out (jik@extended-thunder.org) and we'll see if we can work something out.
If money is the issue, I/my employer would gladly participate in a moderate one-time bounty or small regular (monthly/yearly) contribution to a money pool to support development of sieve for Thunderbird.
Most recent xpi by @vsatmydynipnet is working for me with Thunderbird 102.6.1 / Windows 10
Thanks to @vsatmydynipnet and, as always, deep thanks to @thsmi
I can conform that the plugin works with Tunderbird 102.6.1 on Mac OS Monterey as well.
An official release would be appreciated.
Many thanks!
#763 (comment) Worked for me.
Ok, but is there a ready to use xpi for the not so clever people like me?
here is the xpi I made back then
This one worked for me. Ubuntu 18.04 with Thunderbird 102.4.2 (64-bit)
The state of this branch is far away from being ready to be released. There is ton of work to do. The text editor is mostly in an okayish and usable state. The graphical editor is definitely not, the parser and drag and drop are broken and do wired things. Work on this is done in this branch https://github.com/thsmi/sieve/tree/rework-parser. So there is still a long road ahead to an official release.
This project is a one man show, and my time is currently very limited. Thus the priorities are keeping the App alive, then keeping the WebExtension alive and if time is left adding new features.
So there is no ETA when this issue is resolved. If you need a working sieve editor right now then use the standalone app. It is available for all the platforms you get Thunderbird. It is self contained which makes it way less likely to break and it has proven to be way more stable than any Thunderbird plugin ever can and will be...
But this project free and open to everyone. Means everyone can jump in and provide patches and help fixing issues. If someone provides a working and tested patch I am more happy to integrate it...
vsatmydynipnet commented on Dec 20, 2022
vsatmydynipnet's rebuild of .61 working for me now on Thunderbird 102.5.0 & 102.7.2! Thanks for your assistance, guys!
I wanted to report that the file linked above no longer installs correctly on MacOS for me; using the latest Thunderbird I have tried to install the binary on three separate machines and each time get the error that the Plugin cannot be installed because the file cannot be modified.
Just came here to say thank-you to @vsatmydynipnet. Your solution on 20/12/22 worked for me ... if only I'd found it before I'd pulled out most of my hair.
SOLVED - maybe this helps others:
as provided by vsatmydynipnet upthread on 2022-12-20 works in 102.11.2 as well. Hopefully we can see an official 0.6.2 soon?
NOTE FOR TB 115:
I am mid in testing TB 115. With 115 the Sieve Plugin can not connect to the server. So I need to go back to 112 later. I am no dev to get this changed. Help would be greatly appreciated.
Until this addon has a fix to work in latest Thunderbird, it is possible to edit the sieve file on your server. For testing, this is very useful https://linux.die.net/man/1/sieve-test
Example command is:
sieve-test -e ~/sieve/Accountnamexxx.sieve ~/Maildir/cur/xxxxxxxxxx.Mxxxxxxxxxxxx.xxxxxxxS=xxxx,W=xxxx:x,S
Hi @PanderMusubi,
Thanks for that. It's a good link that will hopefully help others.
I found sieve-connect last weekend, it looks very similar.
For anyone else looking for a solution: the command line tools are ridiculously easy and effective.
Bw