Skip to content

chore(api): remove Pinata IPFS provider#171

Merged
FSM1 merged 1 commit into
mainfrom
chore/remove-pinata-references
Feb 21, 2026
Merged

chore(api): remove Pinata IPFS provider#171
FSM1 merged 1 commit into
mainfrom
chore/remove-pinata-references

Conversation

@FSM1

@FSM1 FSM1 commented Feb 21, 2026

Copy link
Copy Markdown
Owner

Summary

  • Remove PinataProvider and its tests — all environments now use a local Kubo IPFS node
  • Simplify IpfsModule to always instantiate LocalProvider (no more provider switching)
  • Remove PINATA_JWT and IPFS_PROVIDER env vars from .env.example
  • Remove Pinata coverage threshold from jest.config.js
  • Update API docs to remove "via Pinata" reference, regenerate API client

Closes todo: "Remove Pinata references from API server"

Test plan

  • All 478 API tests pass
  • API client regenerated with updated OpenAPI spec
  • Verify staging IPFS upload/fetch/unpin still works after deploy

🤖 Generated with Claude Code

Pinata is no longer used — all environments run a local Kubo IPFS node.
Remove PinataProvider, its tests, env vars, and jest coverage config.
Simplify IpfsModule to always use LocalProvider. Regenerate API client.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: 1896552a29b0
@coderabbitai

coderabbitai Bot commented Feb 21, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@FSM1 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 14 minutes and 28 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/remove-pinata-references

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@FSM1 FSM1 merged commit 711e256 into main Feb 21, 2026
8 checks passed
@FSM1 FSM1 deleted the chore/remove-pinata-references branch February 21, 2026 06:17
FSM1 added a commit that referenced this pull request Mar 5, 2026
Pinata was removed as IPFS provider in PR #171. Update all active
documentation, planning files, and agent configs to reference Kubo
(self-hosted IPFS) instead. Frozen specs and archived phase docs
are left as-is since they are historical records.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: 1f66ffcda647
FSM1 added a commit that referenced this pull request Mar 6, 2026
* docs: restructure README and create product documentation

Rewrite README as a product-focused overview (~120 lines, down from 400).
Move all crypto diagrams and technical deep-dives to docs/ARCHITECTURE.md.
Create docs/DEVELOPMENT.md with local setup, testing, and workflow info.
Delete outdated 00_START_HERE.md and clean up all references.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: 4fc840844ff8

* docs: remove Pinata references from active docs

Pinata was removed as IPFS provider in PR #171. Update all active
documentation, planning files, and agent configs to reference Kubo
(self-hosted IPFS) instead. Frozen specs and archived phase docs
are left as-is since they are historical records.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: 1f66ffcda647

* fix(docs): address PR review comments

- Clarify auth-method → keypair relationship requires same userId, not
  arbitrary auth methods (ARCHITECTURE.md)
- Add VITE_ENVIRONMENT and CIPHERBOX_API_URL to desktop local-dev
  instructions (DEVELOPMENT.md)
- Separate shipped vs planned features in README; move Sharing, Search,
  Versioning, Recycle Bin, and Windows/Linux desktop to Planned (v1.1+)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: 232429127761

* fix(docs): correct backoff attribution and max value in planning doc

Backoff logic is in the backend republish scheduler (republish.service.ts),
not the TEE worker. Max backoff is 3600s, not 300s.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: 67c51888f692

* fix(docs): address Copilot PR review comments

- Fix broken links in copilot-instructions.md (Preliminary/ → 00-Preliminary-R&D/)
- Fix glob patterns in CONCERNS.md (escaped asterisks rendered as underscores)
- Fix license label in STRUCTURE.md (Apache 2.0 → MIT)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: f113682b49f9

* fix(docs): address PR review comments (round 3)

- Fix republish interval from 3h to 6h to match REPUBLISH_INTERVAL_HOURS=6
  (ARCHITECTURE.md, README.md)
- Update wallet key derivation diagram to SIWE→JWT→Web3Auth flow
  (ARCHITECTURE.md)
- Clarify AES-256-CTR is for large media files, not all files (README.md)
- Fix React version from 19 to 18 to match package.json (README.md)
- Use fully-qualified @cipherbox/desktop filter for consistency
  (DEVELOPMENT.md)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: da48acf7845e

* fix(docs): address PR review comments (round 4)

- Clarify plaintext vs ciphertext file sizes in ARCHITECTURE.md opening
- Fix HKDF-SHA256 row: used for IPNS derivation, not wallet key derivation
- Update INTEGRATIONS.md TEE status from "Planned" to "Implemented"
- Fix STRUCTURE.md "Where to Add New Code" to use apps/ workspace paths
- Update STRUCTURE.md implementation status table to reflect current state

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: 844154f48456

* fix(docs): update TESTING.md to reflect current test infrastructure

Replace stale "no test framework" section with actual setup:
Jest (API), Vitest (web, crypto), Playwright (E2E).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: 46bef4f726cb

* fix(docs): address PR review comments (round 5)

- Replace Cypress/Puppeteer references with Playwright in TESTING.md
- Distinguish HKDF-derived IPNS keys from random content keys in hierarchy
- Update encryption diagram to v2 FilePointer schema
- Update upload flow to show per-file FileMetadata + FilePointer steps
- Clarify TEE provider as Phala-only (Nitro planned fallback)
- Fix api-client package description in README project structure

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: f3199fda713e

* fix(docs): address PR review comments (round 6)

- Fix copilot-instructions.md paths from Preliminary/ to 00-Preliminary-R&D/
- Update STACK.md project status from PoC-only to full implementation
- Update STACK.md frameworks, runtime, package manager to current versions
- Fix remaining Cypress/Puppeteer references in TESTING.md (framework reqs + CI)
- Clarify E2E test prerequisites (infra services vs Playwright webServer)
- Fix CI pipeline E2E description to not run on PRs by default
- Fix todo file reference to non-existent kubo.provider.ts
- Update DEVELOPMENT.md E2E section to reflect Playwright auto-start

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: 066f4884ea72

* fix(docs): address PR review comments (round 7)

- Remove duplicate local.provider.ts entry in todo frontmatter
- Fix </role> tag indentation in security-reviewer agent
- Fix key hierarchy: Root Folder Key is random, not derived
- Update CONCERNS.md: replace "no production implementation" with legacy PoC note
- Fix copilot-instructions.md version 1.10.0 → 1.11.1
- Remove plaintext fileName from upload example (zero-knowledge violation)
- Update INTEGRATIONS.md: Web3Auth is implemented, not planned

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: 9ece75b9d3cc

* fix(docs): address PR review comments (round 8)

- Remove broken IMPLEMENTATION_ROADMAP.md references (file doesn't exist)
- Fix upload example: POST /vault/upload → POST /ipfs/upload with FormData
- Rename diagram label ipnsName → fileMetaIpnsName for v2 FilePointer
- Update CONCERNS.md: tests exist, coverage below targets (not zero tests)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: b2cb460a212b

* refactor(docs): rewrite copilot-instructions.md to reference current implementation

Remove all references to 00-Preliminary-R&D/ frozen specs. Replace with
references to docs/ (ARCHITECTURE.md, DEVELOPMENT.md, etc.) and actual
codebase paths (apps/api, apps/web, packages/crypto, tee-worker).

Update: API endpoints, tech stack, key hierarchy, upload flow, encryption
primitives, testing commands, and development patterns to match current
implementation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: d0c75ea13cb5

* docs: update codebase concerns to reflect current implementation

Remove PoC-centric concerns, add production-relevant issues:
orphaned IPNS records, silenced unpin failures, large monolithic
files, FUSE-T/WinFSP fragility, actual test coverage gaps.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: ad9f15bae3ec

* fix(docs): update codebase map docs to reflect current implementation

- ARCHITECTURE.md: Remove "Pre-Implementation" framing, document all
  implemented layers, fix upload endpoint to POST /ipfs/upload,
  add v2 FilePointer schema references
- INTEGRATIONS.md: Remove "Planned"/"PoC" labels for implemented
  integrations, add actual file paths, staging deployment details
- STACK.md: Fix @web3auth/modal to @web3auth/mpc-core-kit, Ed25519
  via @noble/ed25519 not libsodium.js, pnpm not npm/yarn

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: ddfb7d5831da

* fix(docs): clarify auth identity linking in copilot-instructions.md

Make explicit that identity convergence is backend-controlled,
not automatic across auth methods.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: 5b14ac186038

* fix(docs): correct TEE republish interval from 3h to 6h

The actual interval is REPUBLISH_INTERVAL_HOURS = 6 in
apps/api/src/republish/republish.service.ts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: 6164db275302

* fix(docs): address PR review comments

- Align INTEGRATIONS.md env var names with actual .env.example
- Fix DEVELOPMENT.md unit test command to exclude E2E workspace
- Update copilot-instructions.md IPNS key hierarchy to reflect random per-file keys
- Move Sharing and Recycle Bin from Planned to current features in README

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: 389fb7b6a122

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant