Skip to content

fix(keyring): update dependencies and improve error handling#12

Open
WeekendSuperhero wants to merge 3 commits into
mainfrom
weekendsuperhero/fix-keychain
Open

fix(keyring): update dependencies and improve error handling#12
WeekendSuperhero wants to merge 3 commits into
mainfrom
weekendsuperhero/fix-keychain

Conversation

@WeekendSuperhero
Copy link
Copy Markdown
Contributor

@WeekendSuperhero WeekendSuperhero commented May 11, 2026

Summary

  • Updated keyring-core and platform native keyring dependencies to their latest versions.
  • Enhanced macOS keychain initialization with probing and fallback to a file-based backend.
  • Introduced a typed SecretError enum for better diagnostics of platform-specific errors.
  • Refactored sorting across multiple modules to use sort_by_key with Reverse.

Changes

Keyring & Secrets

  • Bumped keyring-core to 1.0, apple-native-keyring-store to 1.0 (with protected feature), windows-native-keyring-store to 1.1, and dbus-secret-service-keyring-store to 1.0.
  • Implemented init_platform_keyring() in main.rs to handle platform-specific store setup and fallbacks.
  • Replaced string-based errors with SecretError in secret.rs and added platform error code parsing for macOS (-25307, -25308, -34018).
  • Added unit tests for all Secret backends (raw, command, keyring) and error classification.

Refactoring & Tooling

  • Bumped rmcp to 1.7.
  • Simplified descending sort logic in imap_client.rs and lib.rs using std::cmp::Reverse.
  • Updated ci-check.sh to prefer cargo-nextest if available, falling back to cargo test.

Test plan

  • Run ci-check.sh to confirm tests pass (using cargo-nextest if available).
  • Verify macOS keychain initialization succeeds or gracefully falls back in headless/unsigned contexts.
  • Confirm credential storage works on Windows and Linux.
  • Ensure lists and flags continue to sort in descending order based on count.

PR description generated by Agent

@agent-pr-updater agent-pr-updater Bot changed the title TBD fix(keyring): update dependencies and improve error handling May 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant