Commit Graph
39 Commits
Author SHA1 Message Date
t8y2 734503f4cf fix(core): cover Linux keyring access with a pure-Rust Secret Service client
The keyring crate's Linux backend requires C libdbus, which cross builds
(zigbuild) cannot link, so Linux desktop users hit the same
desktop-migrated-but-MCP-blocked failure that macOS/Windows users hit in
0.4.94 - with no native build to fix it on. Replace the Linux keyring
path with the secret-service crate (pure-Rust zbus, no C dependencies,
speaks the session-bus protocol directly), keeping the exact on-disk
attribute layout the keyring crate writes (target/service/username,
with the legacy no-target fallback) so existing desktop-provisioned
keys remain readable both ways.

- connect/collection failures (no session bus, headless servers) map to
  a missing provider so callers keep falling back to the managed
  .dbx/secret.key file exactly as before
- found-but-unreadable keyring items now fail fast with a specific
  KEYRING_ACCESS_FAILED code on every platform instead of silently
  provisioning a new key that would strand existing ciphertext
- the Linux zigbuild MCP/CLI package legs build with os-keyring
2026-09-24 13:53:14 +08:00
t8y2 d94a0fe312 fix(mcp): read the OS keychain key on native macOS/Windows package builds
Desktop enables os-keyring and provisions the data-encryption key in the
OS keychain during the data security upgrade, but dbx-mcp/dbx-cli package
builds compiled without any keyring backend (the feature became opt-in
for the Linux cross builds), so every desktop-migrated profile made the
MCP fail with DATA_MIGRATION_REQUIRED forever - the error even pointed
users back at a migration they had already completed.

- dbx-mcp gains an os-keyring forwarding feature; the native macOS and
  Windows MCP and CLI legs of the packages release build with it, Linux
  zigbuild legs keep the managed .dbx/secret.key fallback
- LocalBackend::open now separates 'key unreadable in this process'
  (SECRET_KEY_UNAVAILABLE with the DBX_SECRET_KEY_FILE/DBX_SECRET_KEY
  escape hatch) from genuinely pending legacy data, keeping the
  DATA_MIGRATION_REQUIRED contract for the latter (test covered)
2026-09-24 11:27:41 +08:00
t8y2 31df87047e fix(ci): install cargo-nextest for node package release tests 2026-09-21 02:31:35 +08:00
t8y2 041469269e fix(ci): brew dbx-cli formula from native release archives
The generated formula installed the npm tarball, which broke inside
Homebrew's --min-release-age cooldown: the platform binary is an npm
optionalDependency, so npm silently skipped it and brew shipped a
non-working CLI. Generate the formula from the prebuilt native
archives on the packages-v release instead, verified against
CLI-SHA256SUMS, with per-arch url/sha256 for macOS and Linux and no
node dependency.

Refs: t8y2/homebrew-tap#2
2026-09-15 19:28:06 +08:00
t8y2 7855707b69 fix(ci): install dev-host dependencies before packing node packages 2026-09-15 02:18:10 +08:00
t8y2 460b413da8 fix(packages): widen npm visibility wait window to 10 minutes 2026-09-03 00:01:48 +08:00
t8y2 565feb8745 feat(ci): cache native c deps through sccache 2026-08-27 16:14:42 +08:00
t8y2 cf03de122a fix(ci): keep sccache server alive for post-build stats 2026-08-27 15:56:48 +08:00
github-actions[bot] 5c29af80ec fix(ci): authenticate bot pushes through checkout 2026-08-25 17:28:14 +08:00
t8y2 4e09b007c0 fix(ci): correct Windows Perl setup syntax 2026-08-23 11:39:43 +08:00
t8y2 3b66e88356 fix(ci): provide full Perl for Windows package builds 2026-08-23 11:12:38 +08:00
t8y2 1db4148a93 fix(ci): make package release preparation idempotent 2026-08-23 10:24:06 +08:00
t8y2 3dbcc2d0dc fix(ci): install OpenSSL Perl module on Windows 2026-08-22 17:10:06 +00:00
t8y2 84e834aab9 fix(release): preserve provenance for launcher packages
Closes #6300
2026-08-17 06:04:15 +00:00
Gadfly cc717d116c fix(mcp): support older glibc and XDG data paths 2026-07-31 11:36:43 +08:00
t8y2 43fdeed2ab perf(release): run agent and package workflows concurrently 2026-07-30 11:12:31 +08:00
t8y2 77c1203e6f feat(mcp): remove legacy TypeScript runtime 2026-07-19 00:47:56 +08:00
t8y2 6e58191e64 fix(release): keep platform packages linked in workspace lockfile 2026-07-19 00:03:40 +08:00
t8y2 3784c16aaf feat(release): publish standalone CLI archives 2026-07-18 23:07:57 +08:00
t8y2 4bcf618162 feat(cli): migrate CLI to native Rust binary 2026-07-18 22:29:29 +08:00
t8y2 9020a4dd51 feat(mcp): publish native release assets and docs 2026-07-18 20:03:25 +08:00
t8y2 834aaf3546 fix(mcp): stabilize native package publishing 2026-07-18 18:28:47 +08:00
t8y2 8d7dc695bb feat(mcp): run server from Rust binary 2026-07-18 17:57:44 +08:00
t8y2 f801ead4ce fix(mcp): publish mongo shell dependency 2026-07-18 10:30:02 +08:00
t8y2 39c1255af5 fix(release): serialize release workflows 2026-06-25 12:06:11 +08:00
t8y2 73f4762b8d fix(ci): update GitHub action runtimes 2026-06-18 17:05:11 +08:00
t8y2 aea610b7c0 fix(ci): add prepare dependency to publish-homebrew-formula job 2026-06-13 19:23:58 +08:00
t8y2 59d2dd7c87 feat: add Homebrew formula for dbx-cli 2026-06-10 13:55:33 +08:00
t8y2 7e3a34f1e1 ci(packages): build node-core before leaf publishes 2026-05-30 17:43:05 +08:00
t8y2 f358c2e7be ci(packages): make node package release resumable 2026-05-30 17:28:08 +08:00
t8y2 658a14f290 ci: split CI jobs, add clippy/test, upgrade actions
- Split single check job into frontend / rust / jdbc parallel jobs
- Add concurrency group to cancel redundant CI runs
- Add pnpm cache via setup-node
- Add cargo clippy and cargo test to CI
- Unify Node version to 22 across all workflows
- Upgrade pnpm/action-setup to v6
- Fix clippy never_loop errors (while let → if let)
2026-05-23 14:11:46 +08:00
t8y2 70f55c5540 fix(ci): restore docs and package checks 2026-05-18 01:04:11 +08:00
t8y2 1917c0855b feat(cli): add dbx node packages 2026-05-18 00:53:06 +08:00
t8y2 307f773387 ci(mcp): restore direct release publishing 2026-05-17 10:53:05 +08:00
t8y2 5476877b57 ci(mcp): create release PRs with PAT 2026-05-17 10:46:34 +08:00
t8y2 a1567d653e ci(mcp): release through pull requests 2026-05-17 10:44:29 +08:00
t8y2 c23c32b2b9 ci(mcp): require release token for protected main 2026-05-17 10:12:28 +08:00
t8y2 2cde398f16 ci(mcp): fix pnpm workspace install 2026-05-17 10:09:07 +08:00
t8y2 7d3f43058d ci(mcp): add automatic patch release 2026-05-17 10:06:32 +08:00