Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update keepassxc extension #17758

Merged
merged 8 commits into from
Mar 12, 2025
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions extensions/keepassxc/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ raycast-env.d.ts

# misc
.DS_Store
.vscode
16 changes: 16 additions & 0 deletions extensions/keepassxc/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# KeePassXC Extension Changelog

## [1.5.5] - {PR_MERGE_DATE}

### Changed

- Use a global info message about security when the database is locked.
- Update screenshot about the database being locked.
- Use more explicit error messages when unable to execute the `keepassxc-cli` command.

### Fixed

- Use a correct link for the KeePassXC image in the README.

### Removed

- The test guide.

## [1.5.4] - 2025-02-10

### Fixed
Expand Down
4 changes: 3 additions & 1 deletion extensions/keepassxc/README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
<p align="center">
<img width=125 src=https://github.com/user-attachments/assets/6f2b44ad-6a93-4e28-ac41-7fa1c8e9b881>
<img width=125 src=https://github.com/raycast/extensions/blob/main/extensions/keepassxc/assets/keepassxc.png>
</p>

<h1 align="center">KeePassXC for Raycast</h1>

<b align="center">Search your passwords, usernames, TOTP codes, and more using KeePassXC directly from Raycast.</b>

## Requirements

To use this extension, you will need:

- [KeePassXC](https://keepassxc.org).

## Security Note

Your credentials required to access your KeePass database, which include a password and an optional key file, are securely stored in [Raycast's local encrypted database](https://developers.raycast.com/information/security#data-storage). This storage prevents other extensions from accessing the storage of that extension.
Binary file modified extensions/keepassxc/metadata/keepassxc-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
442 changes: 221 additions & 221 deletions extensions/keepassxc/package-lock.json

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions extensions/keepassxc/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,8 @@
}
],
"dependencies": {
"@raycast/api": "^1.90.0",
"@raycast/utils": "^1.18.1",
"@raycast/api": "^1.93.2",
"@raycast/utils": "^1.19.1",
"@types/crypto-js": "^4.2.2",
"crypto-js": "^4.2.0",
"csv-parse": "^5.6.0",
Expand Down
14 changes: 4 additions & 10 deletions extensions/keepassxc/src/components/unlock-database.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -54,16 +54,10 @@ export default function unlockDatabase({ setIsUnlocked }: { setIsUnlocked: (isUn
}
>
<Form.Description text={"Your KeePass database is currently locked. Insert your credentials to unlock it."} />
<Form.PasswordField
title="Database Password"
{...itemProps.password}
info="The password will be stored in your Raycast's local encrypted storage"
/>
<Form.FilePicker
id="keyFile"
title="Key File"
allowMultipleSelection={false}
info="The key file path will be stored in your Raycast's local encrypted storage"
<Form.PasswordField title="Database Password" {...itemProps.password} />
<Form.FilePicker id="keyFile" title="Key File" allowMultipleSelection={false} />
<Form.Description
text={"ⓘ Your password and key file path will be stored in your Raycast's local encrypted storage."}
/>
</Form>
);
Expand Down
4 changes: 2 additions & 2 deletions extensions/keepassxc/src/utils/keepass-loader.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ interface Preference {
const showToastCliErrors = (e: { message: string }) => {
let invalidPreference = "";
let toastMessage = e.message.trim();
if (e.message.includes("Invalid credentials were provided") || e.message.includes("Failed to load key file")) {
if (e.message.includes("Invalid credentials") || e.message.includes("Failed to load key file")) {
toastMessage = "Invalid Credentials";
} else if (e.message.includes("keepassxc-cli: No such file or directory") || e.message.includes("ENOENT")) {
invalidPreference = "KeePassXC App";
Expand Down Expand Up @@ -247,7 +247,7 @@ class KeePassLoader {
exited = true;
tryResolve();
} else {
reject(new Error(`Process exited with code: ${code}`));
reject(new Error(`Something went wrong when accessing the database (exit code: ${code})`));
}
});
});
Expand Down
Loading