sieve
sieve copied to clipboard
Does not work with Thunderbird 102 b1
Assuming the UI/plugin code is unable to determine the IMAP hostname and username.
This same plugin works fine on Thunderbird 91.
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 https://github.com/thsmi/sieve/pull/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 https://github.com/thsmi/sieve/pull/768/commits/e827edcd8b0a1fdaf1f4134b0490f1c4629c79f1 . 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.
https://github.com/thsmi/sieve/issues/763#issuecomment-1261146793 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 [email protected] 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 [email protected] 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 ([email protected]) and we'll see if we can work something out.