gno icon indicating copy to clipboard operation
gno copied to clipboard

chore(gnodoc): Fetch from vm/qdoc

Open jefft0 opened this issue 3 weeks ago • 2 comments

Resolves the final feature from https://github.com/gnolang/gno/issues/522#issuecomment-2528693327 to fetch from vm/qdoc on the remote of the package is not available locally.

  • In the Documentable struct, add optional field doc
  • Define the ABCIQueryClient interface which is also implemented by RPCClient but only has ABCIQuery. (This will allow us to make a mock for testing.)
  • In resolveDocumentable, if the package isn't found locally, call ABCIQuery in the queryClient to query the vm/qdoc endpoint and set the doc field in Documentable
  • In WriteDocumentation, check if the Documentable has doc and use it (instead of building a new JSONDocumentation)
  • In cmd/gno, add config options remote and remoteTimeout (like in gnoweb). Use these to make an RPCClient to pass to ResolveDocumentable
  • In doc_test, define mockQueryClient and use it to test calling the queryClient

jefft0 avatar Dec 02 '25 14:12 jefft0

🛠 PR Checks Summary

🔴 Pending initial approval by a review team member, or review from tech-staff

Manual Checks (for Reviewers):
  • [ ] IGNORE the bot requirements for this PR (force green CI check)
Read More

🤖 This bot helps streamline PR reviews by verifying automated checks and providing guidance for contributors and reviewers.

✅ Automated Checks (for Contributors):

🟢 Maintainers must be able to edit this pull request (more info) 🔴 Pending initial approval by a review team member, or review from tech-staff

☑️ Contributor Actions:
  1. Fix any issues flagged by automated checks.
  2. Follow the Contributor Checklist to ensure your PR is ready for review.
    • Add new tests, or document why they are unnecessary.
    • Provide clear examples/screenshots, if necessary.
    • Update documentation, if required.
    • Ensure no breaking changes, or include BREAKING CHANGE notes.
    • Link related issues/PRs, where applicable.
☑️ Reviewer Actions:
  1. Complete manual checks for the PR, including the guidelines and additional checks if applicable.
📚 Resources:
Debug
Automated Checks
Maintainers must be able to edit this pull request (more info)

If

🟢 Condition met
└── 🟢 And
    ├── 🟢 The base branch matches this pattern: ^master$
    └── 🟢 The pull request was created from a fork (head branch repo: jefft0/gno)

Then

🟢 Requirement satisfied
└── 🟢 Maintainer can modify this pull request

Pending initial approval by a review team member, or review from tech-staff

If

🟢 Condition met
└── 🟢 And
    ├── 🟢 The base branch matches this pattern: ^master$
    └── 🟢 Not (🔴 Pull request author is a member of the team: tech-staff)

Then

🔴 Requirement not satisfied
└── 🔴 If
    ├── 🔴 Condition
    │   └── 🔴 Or
    │       ├── 🔴 At least one of these user(s) reviewed the pull request: [jefft0 leohhhn n0izn0iz notJoon omarsy x1unix] (with state "APPROVED")
    │       ├── 🔴 At least 1 user(s) of the team tech-staff reviewed pull request
    │       └── 🔴 This pull request is a draft
    └── 🔴 Else
        └── 🔴 And
            ├── 🟢 This label is applied to pull request: review/triage-pending
            └── 🔴 On no pull request

Manual Checks
**IGNORE** the bot requirements for this PR (force green CI check)

If

🟢 Condition met
└── 🟢 On every pull request

Can be checked by

  • Any user with comment edit permission

Gno2D2 avatar Dec 02 '25 14:12 Gno2D2

Codecov Report

:x: Patch coverage is 80.00000% with 11 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
gnovm/pkg/doc/doc.go 76.92% 5 Missing and 4 partials :warning:
gnovm/cmd/gno/doc.go 87.50% 1 Missing and 1 partial :warning:

:loudspeaker: Thoughts on this report? Let us know!

codecov[bot] avatar Dec 02 '25 14:12 codecov[bot]