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:- Type or paste content into the textarea
- Optionally mark content as sensitive
- 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
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
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
- Check the “Sensitive” checkbox before sending content
- The content is stored normally in the database
- When displayed in the history, it’s replaced with asterisks
Implementation
From utils/index.js:1-11:src/utils/index.js:1-11
src/App.jsx:531-536
Automatic Link Detection
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