Skip to content

Conversation

lidel
Copy link
Member

@lidel lidel commented Sep 17, 2025

This PR adds proper name support to kubo-rpc-client making them usable once Kubo 0.38 ships with necessary fixes

  • add name parameter to pin.add and pin.addAll
  • add names flag to pin.ls (auto-enabled with name filter)

TODO

- add name parameter to pin.add and pin.addAll
- add names flag to pin.ls (auto-enabled with name filter)
- filter undefined/null values in URL parameters
- handle mixed arrays in normalise-input
- add validation for conflicting options
- add comprehensive tests

Note: one test fails due to kubo bug fixed in unreleased commit 38be7908b.
Re-test once kubo 0.38+ ships with the fix.
@lidel lidel mentioned this pull request Sep 17, 2025
45 tasks
update test to check metadata (mode/mtime) is properly sent to API
and stored in UnixFS structure, retrievable via DAG API
- change kubo imports from named to default imports (CommonJS module)
- fix import order for ipfs-unixfs in test file
kubo API doesn't return ProvideBufLen field in JSON response,
default to 0 when missing to fix test failure
- replace arbitrary 'Fruit' key with 'Gateway.RootRedirect'
- replace removed 'Discovery.MDNS.Interval' with 'Gateway.MaxConcurrentRequests'
- add test for unknown config key rejection
- kubo no longer allows arbitrary config keys
- respect IPFS_GO_EXEC env var in interface tests
- document IPFS_GO_EXEC usage in README
- add version logging to track which binary is used

allows testing with development versions of kubo
lidel added a commit to ipfs/boxo that referenced this pull request Sep 18, 2025
adds CheckIfPinnedWithType method to Pinner interface that allows checking
specific pin types with optional name loading. this enables efficient
pin operations like 'ipfs pin ls <cid> --names' without loading all pins.

- CheckIfPinned now delegates to CheckIfPinnedWithType for consistency

necessary for ipfs/js-kubo-rpc-client#343
lidel added a commit to ipfs/boxo that referenced this pull request Sep 18, 2025
…ames (#1035)

* feat: add CheckIfPinnedWithType for efficient  pin checks

adds CheckIfPinnedWithType method to Pinner interface that allows checking
specific pin types with optional name loading. this enables efficient
pin operations like 'ipfs pin ls <cid> --names' without loading all pins.

- CheckIfPinned now delegates to CheckIfPinnedWithType for consistency

necessary for ipfs/js-kubo-rpc-client#343

* docs: add changelog entry for CheckIfPinnedWithType

* test: add tests for CheckIfPinnedWithType

tests cover:
- type-specific pin checking (direct, recursive, indirect)
- pin name loading with includeNames flag
- multiple CIDs in single call
- edge cases (not pinned, internal mode, invalid mode)
- backward compatibility with CheckIfPinned
@lidel lidel marked this pull request as ready for review September 20, 2025 00:07
@lidel lidel requested a review from achingbrain September 20, 2025 00:07
@lidel lidel merged commit 32efafb into main Oct 2, 2025
20 checks passed
@lidel lidel deleted the feat/pin-names branch October 2, 2025 19:36
@lidel lidel changed the title feat: add pin name support feat: kubo 0.38 interop and pin name support Oct 2, 2025
github-actions bot pushed a commit that referenced this pull request Oct 2, 2025
## [5.4.0](v5.3.0...v5.4.0) (2025-10-02)

### Features

* kubo 0.38 interop and pin name support ([#343](#343)) ([32efafb](32efafb))
Copy link
Contributor

github-actions bot commented Oct 2, 2025

🎉 This PR is included in version 5.4.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant