Skip to content

fix(board): spend the search limit per relation, batch the checks - #6

Open
tensorcopy wants to merge 3 commits into
alysnnix:mainfrom
tensorcopy:query-fixes
Open

tensorcopy wants to merge 3 commits into
alysnnix:mainfrom
tensorcopy:query-fixes

Conversation

@tensorcopy

Copy link
Copy Markdown

Why. The search limit was one shared budget across every relation, so a full review queue — whose items are the most recently updated — took the whole list and pushed the viewer's own work off a board that exists to show it. Checks assumed the merged list always fit a single nodes(ids:) request.

What.

  • The limit is now spent per relation: each relation keeps its own newest limit items, and the union keeps whatever any relation kept.
  • attachChecks asks in batches of 100 ids, so a longer board keeps its checks; one failed batch costs its own pills, not every other batch's.
  • The lockfile's version fields are synced with package.json (they still said 0.5.0), as a chore commit of their own.

How. mergeBucketResults in server/board/buckets.ts collects the kept ids per relation after the merge, so an item any relation kept survives; server/board/checks.ts walks the id list in CHECKS_BATCH slices.

Test. server/board/buckets.test.ts gains the per-relation budget cases. Typecheck and the suite pass at this tip: 56 tests. Every later commit in this stack also builds and tests on its own, checked commit by commit.

- the lock still said 0.5.0 while package.json says 1.0.1
- a shared budget went to whichever relation held the newest items, so a full review queue pushed the viewer's own work off the board
- nodes(ids:) caps at 100 ids; ask in batches of that size so a longer board keeps its checks
@tensorcopy

Copy link
Copy Markdown
Author

Hi @alysnnix! 👋

I've been running a fork of this plugin for a few weeks and accumulated some changes I'd like to give back. They're cut into a small series so each piece is reviewable on its own:

Everything passes typecheck, lint and the test suite on every commit, and each PR body follows the repo's conventions as I read them. No rush at all — and happy to rework, re-cut, or drop anything that doesn't fit where the project is going.

Thanks for the plugin, Alysson — it's been a great base to build on. 🙂

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.

1 participant