Synchronization
Vector Messenger Syncing Process
Recommended to wait for the sync bar to finish syncing before messaging.

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), then network sync fills in anything new using 2-day windows, then switches to real-time subscriptions. Background tasks keep relays healthy and profiles fresh. Below you can find more details about the Vector Syncing Process.
Syncing Process
1. Login & Connect
Loads your Nostr keys, connects to all relays (trusted ones like
jskitty.cat,asia.vectorapp.io,computingcache.com, plusdamus.ioand any custom relays you've added)
2. Initial Load (from local database)
Loads all your saved profiles, chats, and last messages from the local encrypted DB
Preloads the last 30 days of event IDs into memory (for duplicate detection)
Checks that any downloaded file attachments still exist on disk
Sends all this to the frontend → you see your chats almost instantly (before network sync even starts)
3. Network Sync
Starts fetching GiftWraps (NIP-17/NIP-59 encrypted messages) from relays
Uses a 2-day sliding window: first grabs the last 2 days, then keeps going backward in 2-day chunks
Each event gets unwrapped, deduplicated (2-tier: memory cache + DB check), and saved
You see the sync progress bar during this phase
Stops scanning backward after 5 consecutive empty windows (no more messages to find)
4. Real-Time Subscriptions
Once sync finishes, it opens live subscriptions on all relays for:
GiftWraps (DMs, files)
MLS Group Messages (group chats)
New messages now arrive in real-time
5. Background Tasks (always running)
Profile sync: priority queue system (critical → immediate, low priority → every 24hrs)
Relay health checks: every 15 seconds, tests relay responsiveness
Relay recovery: every 5 seconds, reconnects any dropped relays
When a relay reconnects, it auto-syncs the last 2 days from that relay specifically
Last updated