Skip to content

Conversation

@Kzoeps
Copy link
Contributor

@Kzoeps Kzoeps commented Jan 9, 2026

Remove the lexicon validation from repo.hypercerts.get(uri) call because the lexicon expects creation params with $type for the image. But Atproto returns a BlobRef instead of what the lexicon expects.

Also I think it doesnt really make sense to run validation on a get call when we've technically already run it on creation. It runs successfully on the list call since theres no validation and it should be uniform.

Updated the docs to reflect the requirement of PDS url in sdk config.

Fixes #78

Summary by CodeRabbit

  • Bug Fixes

    • Removed a post-fetch validation step from hypercert retrieval to streamline successful fetch paths.
  • Documentation

    • Updated SDK Quick Start to include an explicit PDS server configuration example and guidance for using a dedicated PDS URL.

✏️ Tip: You can customize this high-level summary in your review settings.

@changeset-bot
Copy link

changeset-bot bot commented Jan 9, 2026

🦋 Changeset detected

Latest commit: e968064

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
@hypercerts-org/sdk-core Patch
@hypercerts-org/sdk-react Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai
Copy link

coderabbitai bot commented Jan 9, 2026

📝 Walkthrough

Walkthrough

Removes post-fetch lexicon validation from hypercert.get(), updates SDK Core README to add an explicit PDS server configuration example, and adds a changeset entry marking a patch release for "@hypercerts-org/sdk-core".

Changes

Cohort / File(s) Summary
Changeset Entry
.changeset/fix-remove-validation-from-hypercert-get.md
New changeset marking a patch release for @hypercerts-org/sdk-core with description "Remove validation from hypercert.get".
Documentation
packages/sdk-core/README.md
Adds explicit PDS server configuration example under OAuth initialization (pds: "https://pds-eu-west4.test.certified.app") and guidance that a PDS URL must be used rather than Entryway.
Core Implementation
packages/sdk-core/src/repository/HypercertOperationsImpl.ts
Removed the post-fetch lexicon validation call that validated result.data.value against HYPERCERT_COLLECTIONS.CLAIM; get() now returns URI, CID, and value directly (removed ~6 lines).

Sequence Diagram(s)

(omitted — changes are a small bugfix and documentation update, not a new multi-component flow)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • Fix/minor bugs #72 — Adjusts lexicon validation behavior in packages/sdk-core/src/repository/HypercertOperationsImpl.ts, closely related to the validation removal here.

Poem

🐰 Hopping through records with a cheerful squeak,
Validation hopped out — no more crashy peak.
Images now dance in the data parade,
SDK hums softly under the shade. ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The README.md change documenting PDS server configuration appears out of scope relative to the core issue #78 fix, as it addresses SDK configuration rather than the hypercert.get() validation bug. The PDS server configuration update should either be moved to a separate PR or justified as necessary context for using the fix; clarify if this is a pre-requisite for the validation removal to function correctly.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title clearly describes the main change: removing validation from the hypercert get call, which directly addresses the core fix in the changeset.
Linked Issues check ✅ Passed The PR successfully implements the fix for issue #78 by removing post-fetch validation from HypercertOperationsImpl.ts get() method, eliminating the ValidationError that occurred with image data.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 92eef31 and e968064.

📒 Files selected for processing (3)
  • .changeset/fix-remove-validation-from-hypercert-get.md
  • packages/sdk-core/README.md
  • packages/sdk-core/src/repository/HypercertOperationsImpl.ts
💤 Files with no reviewable changes (1)
  • packages/sdk-core/src/repository/HypercertOperationsImpl.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/sdk-core/README.md
🔇 Additional comments (1)
.changeset/fix-remove-validation-from-hypercert-get.md (1)

1-5: Changeset format and version bump are correct.

The changeset properly documents a patch-level fix for @hypercerts-org/sdk-core. The YAML frontmatter is well-formed, the package specification is accurate, and the changelog message clearly describes the removal of validation from hypercert.get().


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.

@Kzoeps Kzoeps changed the title Fix/minor bugs Fix: Remove validation from hypercert get call Jan 9, 2026
@Kzoeps Kzoeps requested a review from aspiers January 9, 2026 08:36
Copy link
Contributor

@aspiers aspiers left a comment

Choose a reason for hiding this comment

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

All LGTM, thanks! I rebased and tidied up the git commits for cleaner history:

  • Squashed the changeset commit and prettier commit into the remove .get() validation commit, as these are all part of the same logical change.
  • Made the commit message more informative than "Update README".

@aspiers aspiers merged commit 23597fa into hypercerts-org:develop Jan 9, 2026
3 checks passed
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.

[SDK] Getting a hypercert with image crashes

2 participants