Skip to content

syncFullHistory stops prematurely: isLatest: true with progress: null% after partial sync #2644

Description

@ecotradedev

Welcome!

  • Yes, I have searched for similar issues on GitHub and found none.

What did you do?

Connected a WhatsApp instance with syncFullHistory: true enabled and waited for the full history sync to complete. After noticing the sync stopped early, I restarted the instance via PUT /instance/restart/{instance} and observed that each restart pulls an additional batch of messages before stopping again.

What did you expect?

With syncFullHistory: true, the instance should fully sync all chats, contacts, and messages before marking the sync as complete (isLatest: true).

The account has:

  • ~4,600+ chats
  • ~9,000 contacts
  • 20,000+ messages

What did you observe instead of what you expected?

After each restart, the sync stops prematurely with only a small fraction of the total data synced:

recv 500 chats, 500 contacts, 987 msgs (is latest: true, progress: null%), type: 0

The isLatest: true flag is triggered too early, and progress always shows null%, making it impossible to know the real sync progress or force it to continue.

Screenshots/Videos

No response

Which version of the API are you using?

2.3.7

What is your environment?

Linux

Other environment specifications

  • Baileys version: 2.3000.1043065146
  • Database: PostgreSQL
  • Cache: Redis
  • Deployment: Docker (internal network via docker-compose)
  • OS: Linux

If applicable, paste the log output

[Evolution API] [cheron] v2.3.7 170 - Wed Jul 15 2026 12:29:57 INFO [ChannelStartupService] Baileys version: 2.3000.1043065146
recv 500 chats, 500 contacts, 987 msgs (is latest: true, progress: null%), type: 0

Additional Notes

There is no way to force isLatest back to false via the API. A workaround is to restart the instance multiple times — each restart pulls an additional batch (~10k messages). However, this is impractical for accounts with large history.

A mechanism to either:

  1. Reset/override the isLatest flag via API
  2. Continue syncing despite receiving isLatest: true when progress is null%

...would solve this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions