Skip to content

fix(clipsync): resolve July 2026 audit issues - #36

Merged
offbyonebit merged 4 commits into
mainfrom
fix/clipsync-audit-issues
Aug 19, 2026
Merged

fix(clipsync): resolve July 2026 audit issues#36
offbyonebit merged 4 commits into
mainfrom
fix/clipsync-audit-issues

Conversation

@offbyonebit

Copy link
Copy Markdown
Owner

Closes the remaining July 2026 audit issues (#24-#33) and fixes the current CI formatting failure. Expands CI to run on Ubuntu, macOS, and Windows.

- Fix formatting failure in clipsync/ui.py
- #26: refuse Syncthing signature verification when gpg is absent
- #25: only update _last_synced after successful clipboard/file writes
- #24: store encryption passphrase in OS keyring or encrypted fallback
- #33: stop logging clipboard content in heartbeat debug lines
- #32: clean up temp files on failed atomic clipboard writes
- #31: build macOS autostart plist with plistlib
- #30: safely decode non-UTF-8 watchdog paths
- #29: bound received-file deduplication set with LRU OrderedDict
- #28: try wl-paste when xclip fails on Linux image clipboard
- #27: already fixed; regression test passes
- Expand CI matrix to ubuntu-latest, macos-latest, windows-latest
- Use full settings path as secure storage namespace so multiple Settings
  instances in the same directory do not share a passphrase.
- Install and start xvfb on Linux runners so pystray imports work headless.
- Disable mypy warn_unused_ignores so platform-specific type: ignore comments
  do not break the Windows runner.
- Skip tests/integration in CI; they require xclip and a real clipboard.
- Add type: ignore comments to Unix-only fcntl and SIGKILL usage so mypy
  passes on Windows runners.
- Use getpass.getuser() in the machine-secret fallback; os.getlogin() fails
  in headless CI environments.
- Decode watchdog byte paths with surrogateescape so Windows (and any
  platform) does not crash on non-UTF-8 bytes.
@offbyonebit
offbyonebit merged commit 0a890e3 into main Aug 19, 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