Skip to content

Improve clipboard recovery, privacy controls, and transfer delivery - #37

Merged
offbyonebit merged 5 commits into
mainfrom
feature/clipsync-reliability-ux
Oct 7, 2026
Merged

offbyonebit merged 5 commits into
mainfrom
feature/clipsync-reliability-ux

Conversation

@offbyonebit

Copy link
Copy Markdown
Owner

Description

An incoming clipboard update could be abandoned while the desktop clipboard was busy, leaving connected devices unable to paste the newest value. Keep that value pending with bounded retry delays, preserve ordering across text/image and local/remote changes, and expose pending writes, worker failures, and separate send/receive times in the tray. Add an immediate retry action that respects paused sync.

Add optional likely-secret text filtering, local history controls, history search/pinning and image thumbnails, manual-send and timed-pause controls, and clipboard size limits. File transfers use unique IDs and receiver acknowledgements, recover pending receives after restart, and defer rate-limited events. Move passphrases to the OS keychain while preserving access to credentials from existing releases. Retain main's audit fixes, including bounded deduplication, atomic writes, and safe byte-path handling.

Type of Change

  • Bug fix
  • New feature
  • Documentation update
  • Test addition or update

Testing

  • 276 automated tests passed, 1 platform-specific test skipped, 10 desktop integration tests excluded by the default configuration. Local suite used PYSTRAY_BACKEND=dummy because the sandbox blocks desktop display access.
  • Ruff lint and formatting checks passed for source and tests.
  • Mypy passed for all 19 source files.
  • Upgrade regression tests cover the older keychain account and encrypted fallback, including clearing credentials.
  • GitHub CI runs the automated checks on Windows, macOS, and Linux.

Checklist

  • Existing and new automated tests pass locally
  • Documentation updated
  • Lint and formatting pass
  • Type checking passes

@offbyonebit
offbyonebit merged commit c26520a into main Oct 7, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant