Keep private-browsing clippings; skip only real password types#8
Open
MiMoHo wants to merge 1 commit into
Open
Conversation
The default skipPboardTypesList mixed genuine password markers (PasswordPboardType, com.agilebits.onepassword) with the advisory nspasteboard.org hint types (ConcealedType, TransientType, AutoGeneratedType). Private/incognito browser windows tag every copy with ConcealedType/TransientType, so with "Don't copy from password fields" enabled at defaults, nothing copied from a private window could be stored. Split the two concerns: - skipPboardTypesList now defaults to real password markers only (PasswordPboardType, com.agilebits.onepassword). - New skipConcealedTypes (default off) + skipConcealedTypesList (ConcealedType, TransientType, AutoGeneratedType) let users opt in to also dropping concealed/transient content (e.g. private browsing). - shouldSkip: checks both lists via a small helper; both keys join settingsSyncList. Preferences: plain-language labels + tooltips and a new checkbox bound to skipConcealedTypes. The main-app MainMenu is now a source .xib compiled at build time (previously a checked-in compiled .nib). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
With Don't copy from password fields enabled at its defaults, nothing copied from a private/incognito browser window could be stored.
The default
skipPboardTypesListlumped genuine password markers together with the advisory nspasteboard.org hint types:Private/incognito browser windows tag everything they copy with
org.nspasteboard.ConcealedType/TransientType, so the whole clipboard was skipped — not just passwords. Reported by a user who wanted passwords kept out of history but everything else (incl. private-window copies) retained.Fix
Split the two concerns so passwords and "concealed/transient" content are controlled independently:
skipPboardTypesListnow defaults to real password markers only:PasswordPboardType, com.agilebits.onepassword.skipConcealedTypes(bool, default off) +skipConcealedTypesList(ConcealedType, TransientType, AutoGeneratedType) — opt in to also drop concealed/transient content (e.g. private browsing).shouldSkip:checks both lists through a small helperavailableTypes:matchListForKey:; concealed list only when the new toggle is on. Both keys added tosettingsSyncList.Result: with defaults, real password types (password managers / password fields) are still skipped, while private-window / concealed / transient clippings are kept. Users who want the old aggressive behaviour just tick the new checkbox.
Preferences UI
Plain-language titles + tooltips for the whole password section (the raw UTI list and the length/diagnostic sub-options were not self-explanatory), plus the new checkbox "Also skip private-browsing & temporary clipboards" bound to
skipConcealedTypes.The main-app
MainMenuis now a source.xibcompiled at build time (it was a checked-in compiled.nib), so the UI change is reviewable as an XML diff.Verification
PasswordPboardType&com.agilebits.onepasswordskipped; plain text,ConcealedType,TransientTypecaptured.NSUnknownKeyException/ unsatisfiable-constraint warnings.Out of scope (noted for users)
Web password managers and copying from web forms (e.g. Nextcloud Passwords, Auth0 login pages) put passwords on the pasteboard as plain text with no type marker at all — no clipboard manager can auto-detect those by type. The length/complexity heuristic is the only (imperfect) lever for those.
🤖 Generated with Claude Code