element-hq / element-desktop

A glossy Matrix collaboration client for desktop.
https://element.io
GNU Affero General Public License v3.0
1.13k stars 258 forks source link

Can't enable message search #829

Closed HarHarLinks closed 3 months ago

HarHarLinks commented 2 years ago

Steps to reproduce

  1. I used to have seshat-search enabled and working on sway
  2. I logged out of sway and into gnome and use element in gnome
  3. I log back into sway
  4. search not available: sqlcypher error
  5. reset matrix-org/matrix-react-sdk#5806
  6. enable

What happened?

What did you expect?

start indexing, search becomes available

What happened?

stuck spinning here image

Related

vector-im/element-web#14229

Operating system

arch

Application version

Element Nightly version: 2021092701 Olm version: 3.2.3

How did you install the app?

aur/nightly-bin

Homeserver

private

Have you submitted a rageshake?

Yes

HarHarLinks commented 2 years ago

(Meta: I was confused for a sec if I missed something as it's asking "what happened" twice) https://github.com/vector-im/element-web/blob/cf5cbb1ff97623be1d60539aad372f4b38e68f09/.github/ISSUE_TEMPLATE/bug-desktop.yml#L26-L31

HarHarLinks commented 2 years ago

vector-im/element-web#16636 vector-im/element-web#14229

I have deleted EventStore as suggested in vector-im/element-web#14229 but no change. The issue might lie somewhere else. Please advise?

HarHarLinks commented 2 years ago

I have logged out and deleted ~/.config/Element* and logged back in. It the error Error opening the database: SqlCipherError("Sqlcipher support is missing") from the start, I hit reset again. I am back to the point where there is an enable button and endless spinner if I click it.

On top of it Element seems to have trouble encrypting messages in at least one specific DM.

HarHarLinks commented 2 years ago

This is still an issue, now related: vector-im/element-desktop#782

davidmehren commented 2 years ago

I package element-desktop-nightly-bin in the AUR and tried to get to the bottom of this, to no avail. Element unfortunately does not write any useful error message to the log, but only shows the error already mentioned. I suspect some kind of incompatibility in the shared libraries between the environment used to build the official .deb (which I suspect is Debian-based) and the current libraries in Arch.

For the record, this is ldd on the seshat lib extracted from app.asar for version 2021111601-1:

[david@manjaro-vm ~]$ ldd app/node_modules/matrix-seshat/native/index.node 
    linux-vdso.so.1 (0x00007ffee6169000)
    libsqlcipher.so.0 => /usr/lib/libsqlcipher.so.0 (0x00007fdc3c9bd000)
    libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fdc3c9b6000)
    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fdc3c99b000)
    librt.so.1 => /usr/lib/librt.so.1 (0x00007fdc3c990000)
    libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fdc3c96f000)
    libm.so.6 => /usr/lib/libm.so.6 (0x00007fdc3c82b000)
    libc.so.6 => /usr/lib/libc.so.6 (0x00007fdc3c65d000)
    /usr/lib64/ld-linux-x86-64.so.2 (0x00007fdc3d1d5000)
    libz.so.1 => /usr/lib/libz.so.1 (0x00007fdc3c643000)
    libcrypto.so.1.1 => /usr/lib/libcrypto.so.1.1 (0x00007fdc3c364000)

Is there a way to get more logs for the message search initialization?

HarHarLinks commented 2 years ago

I have since learned how to open the console with Ctrl+Shift+I. I believe this TypeError might be related?

EventIndex: Error initializing the event index {message: "Error opening the database: SqlCipherError(\"Sqlcipher support is missing\")"}

Uncaught (in promise) TypeError: Cannot read property 'addInitialCheckpoints' of null
    at EventIndexPanel.tsx:129
(anonymous) @ EventIndexPanel.tsx:129
async function (async)
(anonymous) @ EventIndexPanel.tsx:128
Rb @ react-dom.production.min.js:52
Xb @ react-dom.production.min.js:52
Yb @ react-dom.production.min.js:53
Ze @ react-dom.production.min.js:100
se @ react-dom.production.min.js:101
(anonymous) @ react-dom.production.min.js:113
Jb @ react-dom.production.min.js:292
Nb @ react-dom.production.min.js:50
jd @ react-dom.production.min.js:105
yc @ react-dom.production.min.js:75
hd @ react-dom.production.min.js:74
push.exports.unstable_runWithPriority @ scheduler.production.min.js:18
gg @ react-dom.production.min.js:122
Hb @ react-dom.production.min.js:292
gd @ react-dom.production.min.js:73
HarHarLinks commented 2 years ago

Tried stable, works in stable.... for now

HarHarLinks commented 2 years ago

davidmehren (packager) has added a wrapper that manages to load libsqlcipher.so: https://aur.archlinux.org/cgit/aur.git/commit/?h=element-desktop-nightly-bin&id=ca89fc1f025d30512c53abbe87cff61c7739c69b My search indexing has now initialized and is downloading my history as I type. Will update if it breaks again.

I'm not sure whether it still should be investigated from element side why this lib isn't loaded properly in the usual way. Fell free to keep or close this issue.

davidmehren commented 2 years ago

Details about the bug and the workaround can be found in https://github.com/matrix-org/seshat/issues/102#issuecomment-943311270. I'm not sure if the issue can be easily fixed in Element / seshat.