Better decode error support for upgraded claims
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 7.2k
- Forks
- 493
- PR merge metrics
- No merged PRs in 30d
Description
## The Issue
Today if you try to resolve a 0.36 URL on 0.34, you'll see something like below. Going forward if we plan on having breaking changes like this, we should show a better message (not sure if we can distinguish between an invalid claim and protobuf upgrade) - something like "Please upgrade your SDK to the latest version to view this content" with a link to the download page.
```
"036pub1": {
"claim": {
"address": "bHj6TZ2NYawprfeF9Bv6TfWGe6eJuG9RWF",
"amount": "0.0001",
"claim_id": "cda25338628bada976a78e7d04367ca075bde397",
"claim_sequence": -1,
"decoded_claim": false,
"depth": 482,
"effective_amount": "0.0001",
"error": "Failed to decode value",
"height": 555691,
"hex": "000acf010a6b0a208480f4a320b4cff22e060fc3691a215bbf11d1e9af580b36861ea425d525b8b31208787878782e6d703418012209766964656f2f6d7034323024c9e193f28c3e8d45ece6046c1dbb6aa8e282e6fbd5c7eeeae41f055fad626f0813581fc987b669e3579981610417b91209303336617574686f721a18416c6c2052696768747320526573657276656420302e33362207746f6d2e636f6d28a6e2f7e5053222080112195536d015a0b0e6fcfad8b9c0a9bada9ecb119f2f6f8b4095701880c2d72f5a0808e00310e802180a420e666972737420302e3336207075624a10302e3336212121215c6e77686f6f7021521d2a1b68747470733a2f2f737065652e63682f342f746f6d2d7a2e6a70675a04746167315a047461673262020801620208286a0c2884e2fe990330c3d3c0a9056a0c1a0a4d616e63686573746572",
"name": "036pub1",
"nout": 0,
"permanent_url": "036pub1#cda25338628bada976a78e7d04367ca075bde397",
"supports": [],
"txid": "57698d19c7729c9f3842343f2995075494d907c41d7fd31e406201096b06dc77",
"value": null
```
## System Configuration
- LBRY Daemon version:
- LBRY App version:
- LBRY Installation ID:
- Operating system:
## Anything Else
## Screenshots
## Internal Use
### Acceptance Criteria
1.
2.
3.
### Definition of Done
- [ ] Tested against acceptance criteria
- [ ] Tested against the assumptions of user story
- [ ] The project builds without errors
- [ ] Unit tests are written and passing
- [ ] Tests on devices/browsers listed in the issue have passed
- [ ] QA performed & issues resolved
- [ ] Refactoring completed
- [ ] Any configuration or build changes documented
- [ ] Documentation updated
- [ ] Peer Code Review performed
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue does not name files or tests. Start by reproducing resolution of a 0.36 URL with the older 0.34 SDK, trace the "Failed to decode value" path, and identify how invalid claims differ from upgraded protobuf data; done means the appropriate case shows an upgrade message with a download link and has regression coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, blockchain
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100