sieve icon indicating copy to clipboard operation
sieve copied to clipboard

Does not work with Thunderbird 102 b1

Open hussamnasir opened this issue 2 years ago • 41 comments

Assuming the UI/plugin code is unable to determine the IMAP hostname and username. image

This same plugin works fine on Thunderbird 91.

hussamnasir avatar Jun 02 '22 16:06 hussamnasir

Hi, when will you release this to the world? I'm quite interested in this, also willing to test...

butterfly78 avatar Jul 12 '22 18:07 butterfly78

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

thsmi avatar Jul 23 '22 17:07 thsmi

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.

stefangweichinger avatar Jul 26 '22 07:07 stefangweichinger

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.

abreitf avatar Aug 31 '22 11:08 abreitf

<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.

tacerus avatar Sep 07 '22 10:09 tacerus

<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 avatar Sep 28 '22 16:09 douardda

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.

JimKillock avatar Nov 01 '22 08:11 JimKillock

https://github.com/thsmi/sieve/issues/763#issuecomment-1261146793 Worked for me.

hussamnasir avatar Nov 01 '22 14:11 hussamnasir

#763 (comment) Worked for me.

Ok, but is there a ready to use xpi for the not so clever people like me?

readonly24 avatar Nov 03 '22 07:11 readonly24

#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

sieve-0.6.1.xpi.gz

douardda avatar Nov 04 '22 14:11 douardda

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.

kwisatz avatar Nov 07 '22 12:11 kwisatz

here is the xpi I made back then

Works for me with TB 102.4.2 (64-Bit, Win10)

ikarisan avatar Nov 12 '22 18:11 ikarisan

@douardda Perfect! Worked for me (W11 TB 102.4.2)

omocinteractive avatar Nov 14 '22 11:11 omocinteractive

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.

kwisatz avatar Nov 14 '22 11:11 kwisatz

<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.

sycam0r-e avatar Nov 25 '22 12:11 sycam0r-e

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?

michaelopdenacker avatar Nov 29 '22 15:11 michaelopdenacker

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

abreitf avatar Nov 29 '22 16:11 abreitf

Hi @abreitf Your instructions work perfectly, and the updated .xpi file too. Many thanks!

michaelopdenacker avatar Nov 29 '22 17:11 michaelopdenacker

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

Noino avatar Nov 30 '22 10:11 Noino

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.

vsatmydynipnet avatar Dec 19 '22 12:12 vsatmydynipnet

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

vsatmydynipnet avatar Dec 19 '22 12:12 vsatmydynipnet

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.

sycam0r-e avatar Dec 20 '22 14:12 sycam0r-e

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😉

Noino avatar Dec 20 '22 14:12 Noino

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:

sieve-0.6.1-build_by_VS.xpi.zip

vsatmydynipnet avatar Dec 20 '22 14:12 vsatmydynipnet

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?

leegarrett avatar Dec 22 '22 17:12 leegarrett

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

emmertf avatar Dec 29 '22 10:12 emmertf

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

TonyGravagno avatar Dec 29 '22 21:12 TonyGravagno

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

s-p-k-m avatar Dec 29 '22 21:12 s-p-k-m

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.

guillaume-uH57J9 avatar Dec 30 '22 16:12 guillaume-uH57J9

@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.

jikamens avatar Dec 30 '22 16:12 jikamens