mautrix / whatsapp

A Matrix-WhatsApp puppeting bridge
https://maunium.net/go/mautrix-whatsapp
GNU Affero General Public License v3.0
1.29k stars 175 forks source link

Backfill never starts, log contains "Could not find history sync conversation data for XXX" #562

Closed dbutti closed 2 years ago

dbutti commented 2 years ago

I have the latest bridge version (0.7.1) running in the official docker image dock.mau.dev/mautrix/whatsapp, against a Synapse server at latest version as well (1.69.0), with support for MSC2716 enabled. DB for the bridge is on SQLite3.

Everything runs perfectly, with double puppeting enabled, but backfill operations never start and never get through.

The relevant config.yaml section has:

history_sync:
        create_portals: true
        backfill: true
        double_puppet_backfill: true

Whenever a new portal is created, the log will show an attempt to start the backfill: "Handling backfill request Backfill {...}" But right after, the message "Could not find history sync conversation data for XXX" appears, and no backfill ever happens.

If I look into the backfill_queue table, I can see dozens of backfill requests waiting to run, and the backfill_state table is empty.

If I try to manually start a backfill with a command to the Bot, the same error occurs and another request is appended to the queue.

I have looked into the code, and I understand that this message occurs because no previous backfill history is available in the history_sync_conversation table, which in fact is empty. So the question is perhaps: why doesn't this table get populated with the right information? Is there anything else I should do, in the settings or the database, in order to have backfill working?

Thank-you for any input you can provide on this!

tulir commented 2 years ago

Backfill only happens after login. If you didn't have backfill enabled when logging in, all the data was discarded.

dbutti commented 2 years ago

Thank-you very much @tulir ; so if logout, enable backfill and login again it should work, right?

dbutti commented 2 years ago

I will answer my own question: yes, logout and a new login effectively trigger backfill as expected if enabled in the config