-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Labels
bugSomething isn't workingSomething isn't working
Description
When running kai without a properly configured keyring, calling context.secrets.store() produces
the following issues:
- When running on a system without a keyring, the call hangs indefinitely. This has been
addressed here - When running in a system with a keyring installed but disabled, the configuration is not persisted
Reproduction
First issue:
- Run VSCode extension tests in a Linux CI environment without gnome-keyring running
- Attempt to save configuration using context.secrets.store(key, value)
The call hangs indefinitely
Second issue:
- Disable your system's keyring if you're in linux (gnome-keyring / kde kwallet)
- Configure the hub connection & restart vscode
Kai is able to reach the hub when configured but the configuration is not persisted
Expected Behavior
Kai should:
- Fail quickly with a clear error when keyring services are unavailable
- Respect JavaScript-level timeouts and allow Promise cancellation
- Provide a configuration option to disable secret storage for testing scenarios
- Add a native-level timeout for keyring operations
Environment
- Latest dev build
- Platform: Linux (Ubuntu 24.04 - GitHub Actions runner) & Fedora 41
- VSCode: 1.109.0
Claude says:
VSCode uses libsecret on Linux to communicate with the system keyring via D-Bus. When the
org.freedesktop.secrets D-Bus service is not available:
- Local environments (keyring installed but stopped): D-Bus responds with an error → libsecret fails
quickly → VSCode shows error gracefully - CI environments (no keyring installed): libsecret waits indefinitely for service activation that
never happens → native blocking call cannot be interrupted by JavaScript timeouts
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working
Type
Projects
Status
🆕 New