lbryio / lbryio/lbry-sdk

`limit_claims_per_channel` filter works globally only when `len(channel_ids) * limit_claims_per_channel < page_size`

Open
#3,579 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
7.2k
Forks
493
PR merge metrics
No merged PRs in 30d

Description

limit_claims_per_channel filter works globally only when len(channel_ids) * limit_claims_per_channel < page_size. (If all channels have at least 1 one claim to return)
If there are more channels it will work per page.

With lot of channels, each page may have a claim from some specific channel, which may not be wanted.
(Example can be seen on Odysee "featured" category(new/trending/top), it has limit_claims_per_channel: 1, and first claims on almost every page are from same channels)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file, test, or entry point is named in the issue. Start by locating the Python implementation of the limit_claims_per_channel filter and its pagination tests, then reproduce the multi-channel case described; done means the limit remains effective across pages when there are more channels than fit on one page.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.