Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#78527 - [element-desktop] 1.11.31-2 Seshat native Node module for search in E2E encrypted rooms broken

Attached to Project: Community Packages
Opened by 6t8k (6t8k) - Monday, 15 May 2023, 20:20 GMT
Last edited by Toolybird (Toolybird) - Monday, 15 May 2023, 21:06 GMT
Task Type Bug Report
Category Packages
Status Assigned
Assigned To Bruno Pagani (ArchangeGabriel)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 1
Private No

Details

Description:
Since at least element-desktop 1.11.31-2 (possibly earlier), the Seshat native Node module for search in E2E encrypted rooms is broken due to a packaging bug.

Steps to reproduce:
1. Start element-desktop
2. Login
3. Go to the "Security & Privacy" settings
4. The "Message search" section will say "Message search initialization failed" and 'Error opening the database: SqlCipherError("Sqlcipher support is missing")'.

Expected result (in contrast to the actual result described above):
- The "Message search" section will say "Securely cache encrypted messages locally [...]". Compare: https://github.com/vector-im/element-desktop/pull/631#issuecomment-1518078921

I can confirm that this can be fixed by making the following changes to the element.io PKGBUILD (due to having made these changes and having built the package myself):
1) Remove sqlcipher from the runtime dependencies again, keep it as a build-time dependency
2) Instead of setting an environment variable SQLCIPHER_STATIC=1, set SQLCIPHER_BUNDLED=1


Additional info:
* element-desktop 1.11.31-2
* No specific configuration necessary to trigger this bug. Can be triggered by installing element-desktop 1.11.31-2 on a fresh Arch Linux machine and using a freshly created Matrix user account.
* See https://github.com/vector-im/element-desktop/blob/develop/CHANGELOG.md#changes-in-11131-2023-05-10 (section titled "BREAKING CHANGES")
* See https://github.com/vector-im/element-desktop/blob/develop/docs/native-node-modules.md#statically-linking-libsqlcipher
This task depends upon

Comment by Toolybird (Toolybird) - Monday, 15 May 2023, 21:06 GMT
Related  FS#72359 
Comment by 6t8k (6t8k) - Thursday, 18 May 2023, 10:54 GMT
I have to correct myself a bit: with SQLCIPHER_BUNDLED=1, upstream actually includes a vendored copy of sqlcipher (sigh..), and in that case it is redundant for the PKGBUILD to pull in sqlcipher, both as part of `depends` and `makedepends`.
Comment by Antonio Rojas (arojas) - Sunday, 21 May 2023, 09:09 GMT
SQLCIPHER_BUNDLED=1 doesn't have any effect here. Only preloading sqlcipher.so.0 works.
Comment by 6t8k (6t8k) - Sunday, 21 May 2023, 21:18 GMT
> Comment by Antonio Rojas (arojas) - Sunday, 21 May 2023, 09:09 GMT
> SQLCIPHER_BUNDLED=1 doesn't have any effect here. Only preloading sqlcipher.so.0 works.

I've just now created a completely fresh VM based on archlinux-2023.05.03-x86_64.iso, using the included archinstall script with the Desktop profile, choosing Xfce. I applied the attached patch to the element.io PKGBUILD (remove sqlcipher from depends and makedepends, change SQLCIPHER_STATIC=1 to SQLCIPHER_BUNDLED=1, nothing else), built and installed it, and Seshat/the search in E2E encrypted rooms feature works fine.

This is what I've done right after rebooting the VM for the first time:

$ sudo pacman -Syu git && git clone https://gitlab.archlinux.org/archlinux/packaging/packages/element.io.git && cd element.io
$ git log
commit fed620451d1930699c83c2aefdc32250ca1b5cf6 (HEAD -> main, tag: 1.11.31-2, origin/main, origin/HEAD)
<snip>
$ git am 0001-Fix-FS-78527.patch # patch is attached to this post for reproducibility
$ gpg --import keys/pgp/712BFBEE92DCA45252DB17D7C7BE97EFA179B100.asc
$ makepkg -sic
(go through build process)
$ element-desktop
(feature works)

The current tip commit does not preload sqlcipher.

Could you please take a look at this again?
Comment by 6t8k (6t8k) - Sunday, 21 May 2023, 21:19 GMT
(sorry that the formatting turned out funny, I don't know what formatting features flyspray supports and there doesn't seem to be a preview feature)
Comment by Antonio Rojas (arojas) - Monday, 22 May 2023, 11:27 GMT
Please try building it in a clean chroot

Loading...