Skip to content

fix: update filecoin-pin to v0.22.3#119

Open
rjan90 wants to merge 3 commits into
mainfrom
phi/update-filecoin-pin-v0.22.3
Open

fix: update filecoin-pin to v0.22.3#119
rjan90 wants to merge 3 commits into
mainfrom
phi/update-filecoin-pin-v0.22.3

Conversation

@rjan90
Copy link
Copy Markdown
Contributor

@rjan90 rjan90 commented Jun 3, 2026

Summary

  • Update the test_multi_copy_upload scenario from filecoin-pin@0.20.1 to filecoin-pin@0.22.3.
  • Increase the preconfigured USER_1 FilecoinPay deposit from 1 USDFC to 3 USDFC.
  • Refresh the compatibility-shim comment now that the latest filecoin-pin resolves to a Synapse core release without the old streaming Content-Length behavior.

Why

While investigating the failing FOC Devnet frontier run: #117 (comment), I noticed that the filecoin-pin scenario was still exercising older packaged Synapse dependencies than the source-SDK scenario. The source-SDK path had already picked up the upstream fix, but this scenario was still pinned to filecoin-pin@0.20.1, which resolves older @filoz/synapse-* packages.

filecoin-pin@0.22.3 is the latest release and resolves:

  • @filoz/synapse-core@0.5.2
  • @filoz/synapse-sdk@0.41.0

Keeping this scenario on the latest filecoin-pin release should make failures easier to interpret and avoids debugging stale package behavior when the devnet tests are intended to exercise the current integration path.

CI follow-up

After the version bump, CI no longer hit the previous DataSetNotLive() / getDataSetListener(0) failure in test_multi_copy_upload. It got further and exposed lockup requirements from the latest filecoin-pin two-copy upload path:

Needs 1.1600 USDFC locked, but only 1.0000 USDFC is available.

A first bump to 2 USDFC let the primary copy complete, but the secondary copy still failed because the first data set left only about 0.84 USDFC available while the second copy also needed 1.16 USDFC locked. This PR now raises the preconfigured deposit to 3 USDFC, which clears the observed two-copy requirement with headroom.

Validation

  • Confirmed filecoin-pin@0.22.3 installs and resolves @filoz/synapse-core@0.5.2 / @filoz/synapse-sdk@0.41.0.
  • Confirmed the expected @filoz/synapse-core/dist/src/sp/upload-streaming.js file still exists and no longer contains the old streaming Content-Length pattern.
  • Ran python3 -m py_compile scenarios/test_multi_copy_upload.py.
  • Ran git diff --check.
  • Ran cargo fmt --all -- --check.
  • Ran cargo test --all-targets --all-features commands::start::user_setup -- --nocapture.

black was not installed in the local environment, so I could not run the formatter check locally.

Follow-up

We should consider adding automated release tracking for filecoin-pin. Since this pin currently lives inside a Python scenario rather than a package manager manifest, a small scheduled GitHub Actions workflow that opens a bump PR would keep the scenario aligned with upstream releases.

@FilOzzy FilOzzy added this to FOC Jun 3, 2026
@github-project-automation github-project-automation Bot moved this to 📌 Triage in FOC Jun 3, 2026
@rjan90 rjan90 changed the title Update filecoin-pin to v0.22.3 fix: update filecoin-pin to v0.22.3 Jun 3, 2026
@rjan90 rjan90 moved this from 📌 Triage to 🔎 Awaiting review in FOC Jun 3, 2026
@rjan90 rjan90 requested a review from rvagg June 3, 2026 11:39
@rjan90 rjan90 marked this pull request as ready for review June 3, 2026 11:39
@rjan90 rjan90 requested a review from SgtPooki June 3, 2026 11:46
@github-project-automation github-project-automation Bot moved this from 🔎 Awaiting review to ✔️ Approved by reviewer in FOC Jun 3, 2026
@rvagg
Copy link
Copy Markdown
Contributor

rvagg commented Jun 3, 2026

I'm about to break things with FilOzone/synapse-sdk#821 for synapse, so I need to come up with a strategy for that too, ideally that doesn't involve requiring a release, maybe I'll have to pin to a commit while we wait for a release there.

@rjan90
Copy link
Copy Markdown
Contributor Author

rjan90 commented Jun 3, 2026

Pushed a follow-up for the latest CI failure. After the filecoin-pin bump, test_multi_copy_upload no longer hit the old DataSetNotLive() / getDataSetListener(0) path; it got further and failed because latest filecoin-pin needed 1.1600 USDFC locked while the devnet only pre-deposited 1.0000 USDFC for USER_1. This now raises the preconfigured FilecoinPay deposit to 2 USDFC so the current two-copy default path has enough locked funds.

@rjan90
Copy link
Copy Markdown
Contributor Author

rjan90 commented Jun 3, 2026

Pushed another follow-up: 2 USDFC was still short for latest filecoin-pin's default two-copy path. The last run showed the primary copy completed, then the secondary copy failed because only ~0.84 USDFC remained available while another 1.16 USDFC was required. This now raises the preconfigured USER_1 FilecoinPay deposit to 3 USDFC.

@BigLep
Copy link
Copy Markdown
Contributor

BigLep commented Jun 3, 2026

Per standup: it would be great if we have dependabot or some other mechanism for keeping this updated. (Totally fine to track separately.)

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the test_multi_copy_upload scenario to use filecoin-pin@0.22.3 (aligning it with newer Synapse dependencies) and adjusts the devnet’s preconfigured USER_1 FilecoinPay deposit to ensure sufficient USDFC is available for the newer two-copy upload/lockup behavior.

Changes:

  • Bump filecoin-pin in test_multi_copy_upload from 0.20.10.22.3 and refresh the streaming upload compatibility note.
  • Increase the preconfigured USER_1 USDFC deposit amount from 1 USDFC3 USDFC to cover observed lockup requirements.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
src/commands/start/user_setup/constants.rs Raises the default USER_1 USDFC deposit constant to better support latest multi-copy upload lockups.
scenarios/test_multi_copy_upload.py Pins filecoin-pin@0.22.3 for the scenario and updates the legacy streaming Content-Length workaround commentary.

"""Strip Content-Length from @filoz/synapse-core's streaming upload headers.

synapse-core (as of 0.4.1, which filecoin-pin 0.20.1 resolves to) sets a
synapse-core 0.4.1 (which older filecoin-pin releases resolved to) set a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✔️ Approved by reviewer

Development

Successfully merging this pull request may close these issues.

5 participants