-
Notifications
You must be signed in to change notification settings - Fork 99
[PM-12436] replace node keytar #1012
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
Merged
JaredScar
merged 125 commits into
main
from
ac/pm-12436-replace-node-keytar-sonnet-attempt
Apr 10, 2026
Merged
Changes from all commits
Commits
Show all changes
125 commits
Select commit
Hold shift + click to select a range
94ff20f
scaffold new state service, add migration, initial commit
BTreston 0bff38c
add tests
BTreston 9f8018e
fix type issues
BTreston a0e7494
fix integration test
BTreston 623382f
add tech debt context for DC Modernization
BTreston 06edf4c
flatten account structure using claude
BTreston b3cb369
add skill for migrating CJS to ESM + example
BTreston a019555
migrate configuration files to ESM
BTreston d5566c5
Migrate all remaining cjs files to esm
BTreston abdddac
merge state service re-write
BTreston 9997e98
update callers to vNext state service
BTreston 77873c3
migrate electron, window/tray, and UI state to vNext
BTreston 4b079a3
continue removing jslib code
BTreston 4c7afc0
Merge branch 'state-service-rewrite' into dev-clarity-hands-on
BTreston 3abd3f0
Refactor secure storage implementation to use native bindings and mig…
JaredScar 9aab82d
Integrate native module 'dc-native' for secure storage, updating Type…
JaredScar 8543265
Refactor TypeScript definitions for password management functions by …
JaredScar 3bf4916
Refactor secure storage implementation to utilize the 'dc-native' mod…
JaredScar 216f57a
Merge branch 'main' into ac/pm-12436-replace-node-keytar-sonnet-attempt
JaredScar b1a3859
remove hard coded state keys, fix env urls, fix account state migration
BTreston 4eb74cd
cleanup migration key for account, clean up
BTreston a74973c
remove unused jslib code
BTreston 3af1e31
restructure repo, update eslint rules
BTreston 2f71357
update workflow
BTreston 651867a
wip fix test workflow
BTreston b4f84fa
clean up
BTreston ca530fb
Merge branch 'main' of https://github.com/bitwarden/directory-connect…
JaredScar 8a9cbfb
Merge branch 'restructure-repo' of https://github.com/bitwarden/direc…
JaredScar 337ff31
Refactor PASSWORD_NOT_FOUND handling to use a centralized source from…
JaredScar 1869d83
Implement removal of stale secure storage keys during state migration…
JaredScar a9ff1c1
Update native/src/migration.rs
JaredScar f82832a
Enhance state migration to include conversion of Windows Credential M…
JaredScar 957c467
Merge branch 'ac/pm-12436-replace-node-keytar-sonnet-attempt' of http…
JaredScar f89175a
Remove unnecessary closing brace in migrate_keytar_password function …
JaredScar 1cb175b
full state service re-write
BTreston 7901652
Remove obsolete settings.json file to streamline project configuration.
JaredScar 7917953
Remove redundant reset command from build:dist script in package.json…
JaredScar 1927107
Refactor application name handling by introducing a constants module.…
JaredScar 7f331f3
Merge branch 'ac/pm-31159-state-service' into jslib-removal
BTreston 658ba28
clean up merge
BTreston 101fe88
separate ESM migration from jslib removal
BTreston 6e962db
clean up CLAUDE.md
BTreston 63c08b9
clean up
BTreston 4919547
clean up stub files
BTreston 2b713af
clean up
BTreston ac15b41
Merge branch 'jslib-removal' into restructure-repo
BTreston 3a26bda
update imports
BTreston eb601e9
clean up
BTreston a16f06c
run prettier
BTreston d7169a9
remove old electron service files
BTreston a5c0fd6
clean up more electron files, update imports
BTreston 25966e0
clean up unused jslib angular code
BTreston 7485100
migrate jslib abstractions into libs/abstractions. Update imports
BTreston 482f5bd
continue migration from jslib to libs
BTreston d3e5205
complete migration from jslib to primary dir structur
BTreston 53bba96
clean up
BTreston 8005155
run prettier
BTreston 747d1a8
clean up
BTreston e4858c5
fix workflow
BTreston 0388498
Merge branch 'restructure-repo' of https://github.com/bitwarden/direc…
JaredScar 0fa466e
Update libs/services/nativeSecureStorage.service.ts
JaredScar 4b62c14
Add dc-native to externals in webpack configuration
JaredScar 3bbc759
Add settings.json for Claude configuration with attribution and extra…
JaredScar 2c6c34f
clean up comments and providers
BTreston 77ad86b
wip
BTreston 1dcd51e
fix secure storage migrations
BTreston 0cdea94
clean up
BTreston e2a8d17
remove param
BTreston 98bf94a
Merge branch 'ac/pm-31159-state-service' into jslib-removal
BTreston 08b3baa
Merge branch 'jslib-removal' into restructure-repo
BTreston ed551e3
re-add useSecureStorageForSercretes
BTreston a5c8f16
move fakeStorageService into utils/
BTreston 6a5038a
run prettier
BTreston 9e56637
skip migration if no data
BTreston 1306e9d
Merge branch 'ac/pm-31159-state-service' into jslib-removal
BTreston a54d241
Merge branch 'jslib-removal' into restructure-repo
BTreston 60c341b
fix environment service
BTreston 355936d
remvoe format when setting urls from storage
BTreston 882677e
add null check
BTreston af6ec1d
Update libs/services/nativeSecureStorage.service.ts
JaredScar 94ad60f
Merge branch 'restructure-repo' of https://github.com/bitwarden/direc…
JaredScar f1f553a
Refactor stateMigration.service.ts to remove duplicate import of pass…
JaredScar 8551d15
Merge branch 'ac/pm-31159-state-service' into jslib-removal
BTreston e9e1a13
Merge branch 'jslib-removal' into restructure-repo
BTreston d553f75
fix env urls and set only one entra key
BTreston 5bd4a60
Merge branch 'ac/pm-31159-state-service' into jslib-removal
BTreston 516de64
Merge branch 'jslib-removal' into restructure-repo
BTreston c99f1d2
Merge branch 'restructure-repo' into ac/pm-12436-replace-node-keytar-…
BTreston 4c02902
Various fixes and cleanup
BTreston de8b099
Fix migration related issues
BTreston 1397770
Merge branch 'ac/pm-31159-state-service' into jslib-removal
BTreston 8d34c1f
Merge branch 'jslib-removal' into restructure-repo
BTreston c076337
Merge branch 'restructure-repo' into ac/pm-12436-replace-node-keytar-…
BTreston bbdb6ef
Refactor NAPI exports to use a consistent namespace for password func…
JaredScar 147fa6a
Update dependencies and refactor NAPI exports. This commit upgrades s…
JaredScar 93f333b
PR feedback
BTreston cf971f9
clean up
BTreston 48fb0e2
Merge branch 'ac/pm-31159-state-service' into jslib-removal
BTreston 08cdb48
Merge branch 'jslib-removal' into restructure-repo
BTreston 5b5d761
cleanup
BTreston a0f9c9e
Merge branch 'restructure-repo' into ac/pm-12436-replace-node-keytar-…
BTreston 70e2a76
clean up redundant migration logic
BTreston 0d91212
update tests to set secrets in secure storage rather than embedded in…
BTreston 774246e
Merge branch 'ac/pm-31159-state-service' into jslib-removal
BTreston 48eed0b
Merge branch 'jslib-removal' into restructure-repo
BTreston 9c6422c
Merge branch 'restructure-repo' into ac/pm-12436-replace-node-keytar-…
BTreston d1b456f
remove /openldap, clean up CLI dir
BTreston aa84b56
Merge branch 'restructure-repo' into ac/pm-12436-replace-node-keytar-…
BTreston e3e7717
Enhance state migration service to support key migration from keytar …
JaredScar b05e0d5
Merge branch 'main' into ac/pm-12436-replace-node-keytar-sonnet-attempt
BTreston 9af88a7
fix CI
BTreston a25b567
Update build process for Windows CLI and enhance state management
JaredScar fb536a7
Update package dependencies, CLI packaging scripts, and improve state…
JaredScar 47a594e
Refactor secure storage implementation
JaredScar 9eadf78
Enhance error handling in NativeSecureStorageService
JaredScar ef18028
Update ESLint configuration and improve code formatting
JaredScar 422a94f
Refactor file watching mechanism in main.ts
JaredScar b3123f7
Refactor CLI packaging scripts and update GitHub Actions workflow
JaredScar 356a333
Refactor keytar password migration logic
JaredScar ccb2100
Update package dependencies and refine state migration logic
JaredScar 5479ad8
Refactor import statement in NativeSecureStorageService
JaredScar 46b4de8
Refactor state migration service and update main.ts file
JaredScar 073b8cc
Remove unnecessary whitespace in NativeSecureStorageService for impro…
JaredScar 0e3e649
Refactor GitHub Actions workflows to streamline Node.js setup
JaredScar 8ccbbd8
Update credential retrieval in get_password_keytar function
JaredScar File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1 @@ | ||
| v20 | ||
| v22 |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -8,3 +8,6 @@ src/locales | |
|
|
||
| # Github Workflows | ||
| .github/workflows | ||
|
|
||
| # Native module (auto-generated) | ||
| native | ||
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| export const APPLICATION_NAME = "Bitwarden Directory Connector"; |
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
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
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
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Details and fix
The
build.ymlworkflow installs both the Rust toolchain (dtolnay/rust-toolchain@stable) and Linux system dependencies (libdbus-1-dev,libsecret-1-dev,pkg-config) before building the native module. This workflow does neither.napi buildinvokescargo build, which requires the Rust compiler and linker access tolibsecret-1-devandlibdbus-1-devheaders. While the GitHub-hosted runner may have a Rust toolchain cached, it does not include the-devheader packages needed for compilation.Add the missing setup steps before the native build: