Sync & conflicts

Peekr for Windows is in progress. Everything below describes how it works; it ships when it is signed and tested on real machines. Until then Windows runs Peekr in the browser — the same board, the same agents, nothing to install. Downloads

The desktop apps — Mac and Windows — save captures locally first, so you can capture and edit while offline. Sync sends pending changes and refreshes your accessible workspaces when a connection is available. Invitations, workspace settings and shared agent actions require the server.

What syncs

  • Captures and their fields: note, title, status, priority, assignee, group, tags, pinned.
  • Images: original screenshots and markup, uploaded once each (they're content-addressed, so a screenshot that already exists anywhere in the workspace is never uploaded twice).
  • Comments and activity — read-only on the device except for comments you write.
  • Groups and members, so the sidebar and the assignee picker work offline.

Captures made before you signed in stay on that computer until you choose Move to workspace in Settings → Account. Moving grouped captures uses the destination group's audience, or the workspace default for a newly created group. Review that audience before moving private work.

When a change can't be sent

The desktop apps never report work as synced when it isn't. A change waiting its turn says Waiting to sync; one the server refused for a reason retrying won't fix — you no longer have permission, someone else changed the same thing, the workspace is gone — says Needs attention and names the reason. Your text is left exactly as you wrote it and stays out of the retry queue until you retry it, so nothing loops in the background and nothing is quietly dropped.

If you lose access to a workspace, its content leaves that computer — that is what losing access means. What does not leave is anything you wrote that never reached the server: an unsent capture, an edit nobody has seen, a comment that was still queued. Those are kept under your account on that computer and shown in Settings → Account, where you can copy or discard them. They are never sent anywhere on their own, and another account signing in on the same machine sees a count, never the contents.

How a change travels

  1. You edit a note on your laptop. The change is recorded locally with a per-field version.
  2. Within a couple of seconds the app pushes just that field. The server accepts it if nobody else changed the same field since your last sync.
  3. Every other device — and the web app — receives the change on its next pull, typically within a few seconds while online.

When two people change the same thing

Merging is per field, not per capture. If you change the status while a teammate changes the note, both land — there was no conflict.

If two people change the same field offline:

  • The version that reached the server first stands.
  • For a note or title, the losing text isn't discarded: it's attached to the capture as a comment marked conflict, with who wrote it and when, so nothing anyone typed is lost.
  • For markup, the losing drawing is kept as an extra image on the capture.
  • For everything else (status, assignee, group), the server value wins and the loser's device shows the change.

Losing access

When your access to a group or workspace ends, the server rejects further reads immediately. The Mac removes synced content it can no longer access when it next synchronizes. New, unsent captures are preserved as local drafts when workspace access is lost. Previously downloaded copies cannot be recalled from an offline device.

Reconciling

The app periodically compares its local capture list with the server and repairs differences. Large libraries are read in pages. Your choice of where to file new captures does not restrict synchronization: all workspaces you belong to can sync to the Mac.

If sync needs attention

  1. Open Settings → Account and check the status, then choose Sync now.
  2. If changes were rejected, open Show sync log. Correct the item or its permissions, then choose Retry saved changes. A rejected change stays saved locally instead of being marked as synced.
  3. If your session expired, sign in again. For an ongoing server or image-transfer error, keep the local library and contact support with the message shown; signing out is not the first recovery step.

The local MCP reads this synced library, so keep Peekr running and check its sync status when an agent appears to be missing a recent web change. Hosted MCP reads the server directly.

Storage and limits

The default early-access plan allows 10 GB of screenshot storage, 10 images per capture and 25 MB per uploaded image. An upload above the configured limit is rejected; resize the image before retrying. Redaction permanently covers the selected pixels in the shared image, so a redacted original is not available through the agent or API.