Skip to content

Conversation

@hluk
Copy link
Owner

@hluk hluk commented Dec 7, 2025

This enables encrypting all tab data on disk that are not handled by plugins (i.e. Synchronization and Encryption which itself uses gpg) using single password.

The feature is disabled by default, needs to be enabled in build and in Preferences.

Requires QCA library.

To check if encryption is supported by the app (from Action dialog or command line):

copyq 'popup("Encryption", info("has-encryption") === "1" ? "Supported" : "NOT supported")'

TODO:

  • Enable encryption in Linux builds
  • Enable encryption in Windows builds
  • Enable encryption in macOS builds
  • Changing password
  • Encrypting all data when enabled
  • Disabling encryption - all the data need to be saved decrypted again
  • Import and export with a custom password from GUI
  • Support key stores (KWallet, GNOME Keyring, Credential Manager in Windows)
  • Support encrypted import/export from scripts

Assisted-by: Claude Code

Fixes #2617

@hluk hluk force-pushed the encrypt-tabs branch 2 times, most recently from 4e00865 to 41cd2e0 Compare December 7, 2025 06:46
@codecov
Copy link

codecov bot commented Dec 7, 2025

Codecov Report

❌ Patch coverage is 69.40981% with 368 lines in your changes missing coverage. Please review.
✅ Project coverage is 79.47%. Comparing base (5bd157c) to head (34c80f2).

Files with missing lines Patch % Lines
src/common/encryption.cpp 52.30% 207 Missing ⚠️
src/gui/encryptionpassword.cpp 71.35% 53 Missing ⚠️
src/item/serialize.cpp 73.74% 47 Missing ⚠️
src/gui/mainwindow.cpp 58.53% 34 Missing ⚠️
src/gui/geometry.cpp 91.47% 11 Missing ⚠️
src/tests/itemtests/itemtests.cpp 68.18% 7 Missing ⚠️
src/tests/tests.cpp 61.53% 5 Missing ⚠️
src/common/config.cpp 0.00% 2 Missing ⚠️
src/gui/configurationmanager.cpp 92.85% 1 Missing ⚠️
src/item/itemfactory.cpp 92.85% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3345      +/-   ##
==========================================
- Coverage   79.93%   79.47%   -0.46%     
==========================================
  Files         231      236       +5     
  Lines       28469    29442     +973     
==========================================
+ Hits        22756    23400     +644     
- Misses       5713     6042     +329     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@hluk hluk force-pushed the encrypt-tabs branch 10 times, most recently from 02d49c3 to 45292aa Compare December 7, 2025 14:39
Assisted-by: Claude Code

Fixes #2617
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.

Encrypt clipboard items database (%APPDATA%\copyq\copyq_tab_XYZ.dat)

2 participants