Merged
Conversation
…or object Co-authored-by: ash <alan138@gmail.com>
- Remove mock fetch from READMEs, show real server usage - Use DID.parse() instead of ed25519.Verifier.parse() for service DIDs - Convert client tests to use server-as-channel pattern - Add @ucanto/server and @ucanto/validator to client devDependencies
Contributor
Author
hannahhoward
approved these changes
Feb 16, 2026
Member
hannahhoward
left a comment
There was a problem hiding this comment.
Honestly this is such a massive improvement I'm just gonna merge. Thanks so much.
Member
|
eek... @NiKrause totally missed that this appears to be failing typechecking -- can you investigate? |
Contributor
Author
|
Yes, interestingly before merge when creating PR typechecking was ok. I will look into today. |
Contributor
Author
I created a new PR #410 where I So if a branch introduces a type/test regression in covered paths, those checks will now fail on that branch push, earlier than merge. It broadens detection. |
alanshaw
pushed a commit
that referenced
this pull request
Mar 13, 2026
…ecks (#410) ## Summary - move server-as-channel integration tests from `packages/client/test/client.spec.js` to `packages/server/test/client-channel.spec.js` - keep client tests package-local (no `@ucanto/server` / `@ucanto/validator` imports) - add local client execute/decode tests to restore `packages/client` 100% coverage gates - run package workflows on pushes to all branches (`push.branches: ["**"]`) for `client`, `core`, `interface`, `principal`, `server`, `transport`, and `validator` ## Why The previous client test changes mixed server integration concerns into the client package, which caused fragile TypeScript behavior in isolated package checks. This PR keeps boundaries clear: - server package owns server-channel integration behavior - client package keeps self-contained tests and coverage ## Why checks failed after merge previously On PR #407, package CI typecheck jobs did not run on the PR head commit (only `Validate PR title` was recorded). On merge commit `60c70da`, push workflows ran package typechecks and surfaced failures. So the issue was check coverage/enforcement at PR time (branch protection/ruleset/settings), not new source changes introduced between PR creation and merge. ## Remark This PR now also removes `main`-only `push.branches` constraints for package workflows by switching them to `"**"`. Combined with `pull_request` checks and required status checks on `main`, this reduces merge-time surprises by surfacing failures earlier on feature-branch pushes. --- Co-Authored-By: Oz <oz-agent@warp.dev>
NiKrause
added a commit
to NiKrause/ucanto
that referenced
this pull request
Mar 13, 2026
…ecks (storacha#410) ## Summary - move server-as-channel integration tests from `packages/client/test/client.spec.js` to `packages/server/test/client-channel.spec.js` - keep client tests package-local (no `@ucanto/server` / `@ucanto/validator` imports) - add local client execute/decode tests to restore `packages/client` 100% coverage gates - run package workflows on pushes to all branches (`push.branches: ["**"]`) for `client`, `core`, `interface`, `principal`, `server`, `transport`, and `validator` ## Why The previous client test changes mixed server integration concerns into the client package, which caused fragile TypeScript behavior in isolated package checks. This PR keeps boundaries clear: - server package owns server-channel integration behavior - client package keeps self-contained tests and coverage ## Why checks failed after merge previously On PR storacha#407, package CI typecheck jobs did not run on the PR head commit (only `Validate PR title` was recorded). On merge commit `60c70da`, push workflows ran package typechecks and surfaced failures. So the issue was check coverage/enforcement at PR time (branch protection/ruleset/settings), not new source changes introduced between PR creation and merge. ## Remark This PR now also removes `main`-only `push.branches` constraints for package workflows by switching them to `"**"`. Combined with `pull_request` checks and required status checks on `main`, this reduces merge-time surprises by surfacing failures earlier on feature-branch pushes. --- Co-Authored-By: Oz <oz-agent@warp.dev>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Addresses @alanshaw recommendations from PR #388
This branch combines PRs #388 and #392 and addresses all review comments from @alanshaw.
Changes
README updates:
@ucanto/clientand@ucanto/transportREADMEsed25519.Verifier.parse()toDID.parse()for service DIDs (as suggested)Test improvements:
packages/client/test/client.spec.jsfrom mock fetch to server-as-channel pattern@ucanto/serverand@ucanto/validatorto client devDependenciesBenefits
Related