Skip to main content

Overview

ClipSync provides real-time clipboard synchronization across all devices in a session. Content sent from any device instantly appears on all other connected devices using Supabase’s realtime database subscriptions.

Real-Time Synchronization

How It Works

ClipSync uses Supabase’s PostgreSQL realtime capabilities to instantly sync clipboard updates:
src/App.jsx:385-410
The realtime subscription only listens for updates matching your current session code, ensuring privacy between sessions.

Sending Content to Clipboard

Text Content

To send text content:
  1. Type or paste content into the textarea
  2. Optionally mark content as sensitive
  3. Click “Send to Clipboard”
src/App.jsx:167-205

Paste from System Clipboard

ClipSync can read directly from your system clipboard:
src/App.jsx:212-223
Your browser may prompt for clipboard access permission the first time you use this feature.

Character Limits

ClipSync enforces a 15,000 character limit per clipboard entry to ensure performance and database efficiency. From App.jsx:170:
src/App.jsx:170
Content exceeding 15,000 characters will be rejected. Consider splitting large content into multiple entries or using file sharing for longer text.

Copying from History

Each clipboard entry in the history can be copied back to your system clipboard with one click:
src/App.jsx:207-210
The copy button is available for each history item:
src/App.jsx:679

Sensitive Content Masking

ClipSync includes a sensitive content feature to protect private information when sharing your screen or device.

How It Works

  1. Check the “Sensitive” checkbox before sending content
  2. The content is stored normally in the database
  3. When displayed in the history, it’s replaced with asterisks

Implementation

From utils/index.js:1-11:
src/utils/index.js:1-11
UI checkbox from App.jsx:531-536:
src/App.jsx:531-536
Use sensitive mode for passwords, API keys, personal information, or any content you want to keep private from onlookers.
Clipboard content is automatically scanned for URLs, which are converted to clickable links:
src/App.jsx:650-656

Clipboard History

Viewing History

All clipboard entries are stored and displayed in chronological order (newest first):
src/App.jsx:31-38

Searching History

ClipSync includes a search feature to filter clipboard history:
src/App.jsx:412-420

Editing History Items

You can edit previously sent content:
src/App.jsx:249-266
Editing removes the original entry and loads it back into the editor. You’ll need to send it again after making changes.

Clearing History

Delete all clipboard entries from your session:
src/App.jsx:225-243
Deleting history is permanent and affects all devices in the session. Associated files are also removed from storage.