tbvdm / sigtop

Export messages from Signal Desktop
Other
240 stars 9 forks source link

Errors on export: - Conversation recipient has null id - Cannot parse quote JSON data #8

Closed ryanpcmcquen closed 2 years ago

ryanpcmcquen commented 2 years ago

On MacOS, installed with:

brew install --HEAD tbvdm/tap/sigtop

Error:

% sigtop export-messages messages.txt
sigtop: Conversation recipient has null id
sigtop: Cannot parse quote JSON data
tbvdm commented 2 years ago

I've pushed a test branch that will provide a bit more debug info. Please run the following commands and then show the contents of the "err" file.

brew install libressl make pkg-config
git clone -b test https://github.com/tbvdm/sigtop.git
cd sigtop
PKG_CONFIG_PATH=$(brew --prefix)/opt/libressl/lib/pkgconfig gmake
./sigtop msg msg 2>err

Thanks.

tbvdm commented 2 years ago

Did you get a chance to try this?

ryanpcmcquen commented 2 years ago

Sorry this took so long, here is err:

sigtop: Conversation recipient has null id
sigtop: Quote without authorUuid (but with author)
sigtop: Quote without authorUuid (but with author)
sigtop: Quote without authorUuid (but with author)
sigtop: Quote without authorUuid (but with author)
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Quote without authorUuid (but with author)
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Quote without authorUuid (but with author)
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Quote without text
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Quote without text
sigtop: Quote without text
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Cannot find reaction recipient for id REDACTED_NUMBER
sigtop: Quote without text
sigtop: Quote without text
tbvdm commented 2 years ago

Great, thanks. I've pushed several commits on the test branch that should fix these issues.

Please fetch the updated test branch and then run:

PKG_CONFIG_PATH=$(brew --prefix)/opt/libressl/lib/pkgconfig gmake clean all
rm -f msg
./sigtop msg msg 2>err

The msg file should contain a good export of your messages.

To check that there are no unexpected problems, run:

grep ^sigtop err | sort -u

That command should produce this output:

sigtop: Conversation recipient has null id
sigtop: Quote without text

Lastly, I'd like to understand what causes these two warnings. In the err file, each warning is followed by the JSON data of the message that caused the warning. Would you mind taking a look at those messages? Do they look like regular messages or can you spot anything that seems suspicious? Thanks!

ryanpcmcquen commented 2 years ago
% grep ^sigtop err | sort -u                
sigtop: Conversation recipient has null id
sigtop: Quote without text

I do see:

sigtop: Conversation recipient has null id
  "errors": [
    {
      "message": "Certificate is expired",
      "name": "Error"
    }
  ],

On the errors with sigtop: Quote without text, I don't notice any weird text, or anything inside the errors array, but they all have attachments, either images or video.

This is a great project, and I really appreciate your help here, is there any way to donate to it?

tbvdm commented 2 years ago

Good! I think it's all fixed, then. I'll merge the fixes.

I do see:

[...]

Thanks for the JSON snippet. Other such messages I've seen also had a non-empty errors array. It's good to know this one does, too.

On the errors with sigtop: Quote without text, I don't notice any weird text, or anything inside the errors array, but they all have attachments, either images or video.

Right. So likely these quoted messages simply did not contain any text. Interestingly, in my testing, such messages had a text attribute with an empty string. Perhaps this is a difference between older and newer message. In any case, it seems a missing text attribute is nothing to be alarmed about.

This is a great project, and I really appreciate your help here, is there any way to donate to it?

Thank you! Currently there isn't, unfortunately. But I appreciate the gesture!

MichaelKuz commented 2 years ago

Commenting on this recently-closed issue since I seem to have the same issue. Apologies if that's not the right etiquette.

I installed using brew install --HEAD tbvdm/tap/sigtop, but I only get one error:

$ sigtop export-messages messages
sigtop: Cannot parse quote JSON data

I'm not very familiar with how brew install --HEAD works; is it possible that I installed an outdated version of sigtop?

tbvdm commented 2 years ago

@MichaelKuz Please run:

brew upgrade --fetch-HEAD sigtop

Then try exporting again. If the error persists, it must be a different problem. In that case, could you please open a new issue? Thanks!

MichaelKuz commented 2 years ago

Thanks for the quick reply. I've followed your instructions and the error persist; I'll open a new issue.