Key bundled install counts by canonical plugin ID - #2420
Merged
ymichael merged 1 commit intoAug 25, 2026
Merged
Conversation
ymichael
deleted the
bb/post-merge-fix-map-bundled-install-counts-by-plu-thr_95q8c9ncnb
branch
August 25, 2026 19:52
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What was wrong
Plugin install telemetry and the trusted marketplace stats sidecar key bundled plugins by canonical plugin ID, but the server's bundled search-result mapper joined those counts with the separate source entry name. Docs is the existing alias: its source entry is
docs, while its canonical plugin ID issimple-notes, so both the web store andbb plugin searchomitted its published count. The same mismatch would affect any future bundled alias. This is a focused follow-up to #2282.What changed
The bundled mapper now reads the trusted count map with the canonical
entry.pluginId. The existing server regression uses the repository's realdocs/simple-notesregistration, so it protects the class-wide identity invariant rather than a same-name fixture.Curated marketplace entries remain keyed by
entry.id; third-party counts remain null; lifetime-count and privacy semantics are unchanged. No alias registry, compatibility layer, migration, persisted state, public API, CLI/app code, guide/docs, or mobile change was added. Nothing crosses the server/host-daemon boundary, soHOST_DAEMON_PROTOCOL_VERSIONremains 167.How you verified
expected null to be 12, then passed after it.pnpm exec turbo run test --filter=@bb/server --force: 211 test files passed, 1 skipped; 2,030 tests passed.pnpm exec turbo run typecheck --filter=@bb/server: passed.pnpm exec turbo run build --filter=@bb/server: passed.{ entryId: "docs", pluginId: "simple-notes", installs: 139 }.bb plugin search Docsprinted anInstallscolumn with 139.139 installson the Docs card.git diff --check: passed.Fixes: none — follow-up to #2282.