For the complete documentation index, see llms.txt. This page is also available as Markdown.

Synchronization

Vector Messenger Syncing Process

Recommended to wait for the sync bar to finish syncing before messaging.

Vector Messenger Add Contacts (Screenshot)
Synchronization Bar (Chat Tab)

When opening Vector and loading on the Chat Tab, you will be greeted with a green flashing bar that represents your client and account syncing. It is recommended to let this process complete before sending messages, though it is not required. Messages can still be sent while Vector is syncing, but it is best to let it finish syncing to make sure you have the latest messages displayed properly.


How it Works

The local database loads first (instant UI) and has offline support (you will see everything that you already received). Background tasks keep relays healthy and profiles fresh. Below you can find more details about the Vector Syncing Process.


Syncing Process

1. Login & Connect

Vector loads your Nostr keys and connects to your configured relays. If Tor is enabled, the embedded Tor client bootstraps before any connection is made, so no traffic reaches the network in the clear.

2. Initial Load

Before touching the network, Vector loads everything it already has from your local encrypted database:

  • Saved profiles, chats, and the most recent message in each conversation

  • Recent event IDs preloaded into memory for duplicate detection

  • A check that previously downloaded attachments still exist on disk

This is sent to the interface immediately, so your chats appear almost instantly, well before network syncing begins.

3. Network Sync

Vector then fetches anything new from your relays.

Direct messages arrive as GiftWraps (NIP-17 and NIP-59). Each event is unwrapped, deduplicated against both the in-memory cache and the database, and saved locally.

Communities load through Volley Sync, which pulls each Community's freshest messages in batched volleys, most recently active first, so channels paint in seconds rather than minutes.

The sync progress bar is visible during this phase.

4. Real-Time Subscriptions

Once the initial sync completes, Vector opens live subscriptions across all connected relays for:

  • GiftWraps (direct messages and files)

  • Community


Vector's sync and boot performance improved substantially in v0.4.1. Cursor Sync remembers exactly where each relay left off between sessions, cutting the initial direct message sync from up to a minute down to a couple of seconds. Volley Sync loads Communities in batched groups at startup, most recently active first, so every channel appears within seconds rather than minutes. Underneath both, deep syncs now persist in single batched transactions, unread counts are served from an in-memory cache, and all hex encoding and decoding runs through SIMD instructions, up to 59 times faster to encode and 8.6 times faster to decode.

Last updated