Skip to content

keepassprotectedkeystore: Add version 1.4.0#17349

Closed
KoltesDigital wants to merge 1 commit intoScoopInstaller:masterfrom
KoltesDigital:master
Closed

keepassprotectedkeystore: Add version 1.4.0#17349
KoltesDigital wants to merge 1 commit intoScoopInstaller:masterfrom
KoltesDigital:master

Conversation

@KoltesDigital
Copy link

@KoltesDigital KoltesDigital commented Mar 5, 2026

Adds keepass-plugin-keepassprotectedkeystore, a plugin for KeePass 2.x that uses the computer's Trusted Platform Module (TPM) hardware to create protected key stores.

I had a headache deciding what to do with user data. The plugin stores stuff in hardcoded AppData/Local/..., so I've tried to make a Junction, or to copy files back and forth with $persist_dir during pre_[un]install. But ultimately, I think just clearing AppData when $purged does the same behavior.

  • Use conventional PR title: <manifest-name[@version]|chore>: <general summary of the pull request>
  • I have read the Contributing Guide

Summary by CodeRabbit

  • New Features
    • KeePassProtectedKeyStore plugin (v1.4.0) is now available via Scoop for easy installation.
    • Installer and uninstaller flows add or remove the plugin from your KeePass plugins folder.
    • Automatic update support for future releases ensures the plugin stays current.
    • Optional post-uninstall purge can remove related local application data.

@coderabbitai
Copy link

coderabbitai bot commented Mar 5, 2026

Walkthrough

Adds a new Scoop manifest for the KeePassProtectedKeyStore plugin (v1.4.0) including metadata, source and hash, PowerShell installer/uninstaller scripts, optional post_uninstall purge, GitHub version check, and autoupdate URL templating.

Changes

Cohort / File(s) Summary
KeePass Plugin Manifest
bucket/keepass-plugin-keepassprotectedkeystore.json
New Scoop manifest (v1.4.0) defining package metadata, source hash, PowerShell-based install/uninstall scripts, optional post_uninstall purge, GitHub version check, and templated autoupdate URL.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 A tiny manifest hops into sight,
Copying DLLs by PowerShell light,
Versions checked on GitHub's shore,
Purge when asked, then plugins restore.
I nibble a carrot — release 1.4.0, hooray! 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description check ✅ Passed The PR description follows the repository template structure, includes both required checkboxes marked as complete, provides context about the plugin's functionality and data handling approach, and explains design decisions made.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title 'keepassprotectedkeystore: Add version 1.4.0' clearly summarizes the main change - adding a new Scoop manifest for the KeePass plugin with version 1.4.0.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 5, 2026

All changes look good.

Wait for review from human collaborators.

keepass-plugin-keepassprotectedkeystore

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@bucket/keepass-plugin-keepassprotectedkeystore.json`:
- Around line 10-17: The lifecycle scripts are not defensive: update the
"script" that runs Copy-Item (KeePassProtectedKeyStore.dll) to include -Force so
upgrades can overwrite, update the uninstaller Remove-Item call to include
-Force -ErrorAction SilentlyContinue so missing files don't error, and change
the post_uninstall block that currently does Remove-Item
"$env:LOCALAPPDATA\CSquared167\KeePassProtectedKeyStore" -Recurse -Force by
first wrapping it in a Test-Path check (e.g. if (Test-Path <path>) { Remove-Item
... }) to avoid errors when the directory doesn't exist; locate these changes in
the JSON keys "script", "uninstaller" (script) and "post_uninstall" where $purge
is tested.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0c28cbb3-4f18-4cfd-a2d6-c7f38d94cfa3

📥 Commits

Reviewing files that changed from the base of the PR and between d0bc3b4 and a4f47f8.

📒 Files selected for processing (1)
  • bucket/keepass-plugin-keepassprotectedkeystore.json

@z-Fng z-Fng added package-request-needed Create a package request issue before raising PR. Check the criteria for a package to be accepted. and removed review-needed labels Mar 5, 2026
@z-Fng z-Fng changed the title Add keepass-plugin-keepassprotectedkeystore keepassprotectedkeystore: Add version 1.4.0 Mar 5, 2026
@z-Fng
Copy link
Member

z-Fng commented Mar 5, 2026

To add a new package to this bucket, please follow the standard way to create a package request issue first and link it to your PR.

When creating a package request, you can check the criteria for a package to be accepted in this bucket, which can help you determine whether your PR is likely to be approved. The information provided in the issue can also help maintainers quickly get the necessary details.

For a package to be acceptable in this bucket, it should be:

  1. Reasonably well-known and widely used. e.g. if it's a GitHub project, it should have at least 100 stars and/or 50 forks *
  2. English interface (or at least English documentation) *
  3. Latest stable version *
  4. Full version (i.e. not a trial version)
  5. Fairly standard install (e.g. uses a version-specific download URL, no elaborate pre/post install scripts)

@z-Fng z-Fng added the not-meet-criteria This package doesn't fully meet the essential criteria to be accepted in Extras bucket. label Mar 5, 2026
@z-Fng
Copy link
Member

z-Fng commented Mar 5, 2026

Thanks for your contribution! However, it appears that your package request doesn't fully meet the essential criteria.

Please feel free to reopen this PR once it fully meets the criteria, or consider creating your own bucket instead.

@z-Fng z-Fng closed this Mar 5, 2026
@KoltesDigital
Copy link
Author

@z-Fng Thanks for the answer.

I already followed the standard way for another package and it was totally ignored. ScoopInstaller/Main#5602

If by "doesn't fully meet the essential criteria" you mean "less than 100 stars on GH", well https://github.com/fireout/keepasssequencer isn't so popular neither but has its manifest. Well maybe KeePass plugins need their own bucket.

@z-Fng
Copy link
Member

z-Fng commented Mar 5, 2026

I already followed the standard way for another package and it was totally ignored. ScoopInstaller/Main#5602

We probably forgot to close it, not that it was ignored.

If by "doesn't fully meet the essential criteria" you mean "less than 100 stars on GH", well https://github.com/fireout/keepasssequencer isn't so popular neither but has its manifest. Well maybe KeePass plugins need their own bucket.

It seems to be added quite some time ago. Things are different now. Given that Scoop is currently entirely community-driven with only a handful of active maintainers, keeping up with the thousands of existing manifests is already challenging. Without an acceptance criteria, we'd be overwhelmed by issues and pull requests.

@KoltesDigital
Copy link
Author

Agreed, maintaining this beast is a tedious chore. Auto-update has been a relieving design, but still.

Would you advise, as an individual or organization, to have our own bucket with all the manifests we rely on, even though that would mean duplicating some from other public buckets, or only with the manifests that no other buckets offer? Hopefully with auto-update, duplicated manifests would converge to the same content. Surely for orgs it would be safer to manually review updates within their own buckets.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

not-meet-criteria This package doesn't fully meet the essential criteria to be accepted in Extras bucket. package-request-needed Create a package request issue before raising PR. Check the criteria for a package to be accepted.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants