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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions