Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Open Signal on your phone" warning on Windows #1728

Open
Crypto-Bee opened this issue Mar 16, 2025 · 3 comments
Open

"Open Signal on your phone" warning on Windows #1728

Crypto-Bee opened this issue Mar 16, 2025 · 3 comments

Comments

@Crypto-Bee
Copy link

Hello,

I am also trying to get rid of the "Open Signal on your phone" warning and I don't have a smartphone either. (#1727)

I installed JRE 21 on my Windows 7 computer and downloaded signal-cli-0.13.13.tar.gz. Then I first tested whether signal-cli works:
.\signal-cli.bat -a +NUMBER listDevices

But I get an error message:
WARN Manager - Failed to call libsignal-client: C:\Users\NAME\AppData\Local\Temp\libsignal12428076573250675662\signal_jni_amd64.dll: The specified procedure was not found
Missing required native library dependency: libsignal-client

The folder libsignal12428076573250675662 does not exist. So I created it myself and copied the file signal_jni_amd64.dll from signal-cli-0.13.13\lib\libsignal-client-0.66.2.jar\signal_jni_amd64.dll to C:\Users\NAME\AppData\Local\Temp\libsignal12428076573250675662. Unfortunately, this does not work either, as signal-cli requires a new libsignalXXXXXXXXXXXXXXXX folder each time. By this I mean that the numbers for the folder name are different each time.

How can I resolve this warning message?

Thank you very much!
Crypto-Bee

@m-ueberall
Copy link

@Crypto-Bee : I'm afraid the Missing required native library dependency: libsignal-client error message suggests that the included signal_jni_amd64.dll is not compatible with Windows 7 any more (similar behaviour has been described on Linux with incompatible libraries).

According to this rust-lang issue ("Windows support schedule 2024"), "Rust 1.75 will be the last to officially support Windows 7, 8 and 8.1. Support for Windows versions before 10 will end in February 2024 with Rust 1.76." – Unfortunately, current libsignal_jni dynamic libraries (e.g. v0.66.2 as mentioned above) are built using Rust v1.85.0-nightly or newer.
Given that Windows 7 reached its end of life (EOL) on January 14, 2020, and recompiling the forementioned dynamic library using a much older version of Rust looks hardly feasible, your best option is to switch to another, newer operating system that is still supported (at least inside a virtual machine if need be).

@Crypto-Bee
Copy link
Author

Crypto-Bee commented Mar 21, 2025

@m-ueberall thank you very much, it was really because Windows 7 is no longer supported.

I switched to Linux some time ago, so the first thing I tried was to use signal-cli on Linux. But Linux couldn't do anything with the data folder that I had copied over from Windows 7. Now I simply used a (borrowed) Windows 11 computer and it worked immediately. :-) I noticed that the current version of signal-cli has changed a few things in the data folder. Since it now looked similar to Linux, I tried it again under Linux with this new data folder. Now I can use the account that I created at that time under Windows 7 under Linux. :-)

However, signal-cli now gives me a warning message:
WARN PreKeyHelper - Failed to set PNI pre keys, ignoring for now. Account needs to be reregistered to fix this.

What are PNI pre keys? What happens if I do --reregister? Do I then have to reconnect Signal-Desktop and the old messages are then gone in Signal-Desktop? Do I only have to enter the following command or do I have to do more?:
./signal-cli -a +NUMBER register --reregister

Greetings Crypto-Bee

@AsamK
Copy link
Owner

AsamK commented Mar 22, 2025

With the introduction of phone number privacy a while back, Signal introduced PNIs (Phone Number Identifier). Those are required when people want to start a new conversation with your phone number.
The migration phase for this new feature has ended so you now need to reregister to add PNI keys.
Afterwards you need to reconnect Signal-Desktop. I think it keeps the old messages when you relink the same account, but I'm not totally sure.
You can set a pin before reregistering, then the register command should work without a confirmation SMS.
./signal-cli -a +NUMBER setPin 1234
./signal-cli -a +NUMBER register --reregister

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants