Skip to content

Typecheck query-tags with tsrs to fix the broken lockfile on main - #5897

Closed
ahmedhesham6 wants to merge 2 commits into
get-bb:mainfrom
ahmedhesham6:bb/fix-broken-pnpm-lockfile-on-main-thr_x2j3t66szf
Closed

ahmedhesham6 wants to merge 2 commits into
get-bb:mainfrom
ahmedhesham6:bb/fix-broken-pnpm-lockfile-on-main-thr_x2j3t66szf

Conversation

@ahmedhesham6

@ahmedhesham6 ahmedhesham6 commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Human comments

What was wrong

CI on main fails at dependency install since 8a85f5b (#5640):

ERR_PNPM_LOCKFILE_MISSING_DEPENDENCY  Broken lockfile: no entry for 'typescript@7.0.2' in pnpm-lock.yaml

#5640 added a new package, @bb/query-tags, with the dev dependency "typescript-7": "npm:typescript@^7.0.2" and "typecheck": "tsc --noEmit". #5861 (75b90b9) merged first. It moved every package from typescript-7 to tsrs, so pnpm removed the typescript@7.0.2 package and snapshot entries from the lockfile. When #5640 merged, the lockfile kept its packages/query-tags importer entry (typescript-7: typescript@7.0.2), but no package entry remained for it. @bb/query-tags is the only manifest that still lists typescript-7.

What changed

  • packages/query-tags/package.json: replace typescript-7 with tsrs pinned to 0.18.0-ts7.1.0-dev.20260929, and run typecheck with tsrs --noEmit. This is the same change Typecheck with tsrs instead of TypeScript 7 tsc #5861 made to every other package.

  • pnpm-lock.yaml: update the packages/query-tags importer to match (3 lines added, 3 removed). tsrs was already locked, so the change adds no new packages.

  • @get-bb/plugin-sdk 0.6.60 → 0.6.61. Declare live-data tags on route contracts and refresh through tagged mutations #5640 also changed the realtime change-message schema in the SDK's bundled types (dropped ui-preferences-changed, added {type:"changed", entity:"tags"}) after 0.6.60 was published, so once install worked the Check plugin SDK npm version guard step failed. Bumped with node scripts/bump-plugin-sdk.mjs --patch; the guard passes locally.

I did not put the typescript@7.0.2 entries back in the lockfile, because #5861 removed TypeScript 7 on purpose.

How you verified

On origin/main (8a85f5b):

$ pnpm install --frozen-lockfile
 ERR_PNPM_LOCKFILE_MISSING_DEPENDENCY  Broken lockfile: no entry for 'typescript@7.0.2' in pnpm-lock.yaml

On this branch:

$ pnpm install --frozen-lockfile
Done in 8s

$ pnpm exec turbo run typecheck --filter=@bb/web --filter=@bb/query-tags
@bb/query-tags:typecheck: > tsrs --noEmit
@bb/web:typecheck: > tsrs --noEmit
 Tasks:    3 successful, 3 total

Bug hunt: no external call or stored state. The diff changes only a dev-tool manifest and its lockfile entry.

Not verified

  • The full CI run on this PR. I will check it after it finishes.

AGENT GENERATED

get-bb#5640 added @bb/query-tags with a typescript-7 (npm:typescript@^7.0.2)
dev dependency. get-bb#5861 merged first and removed typescript@7.0.2 from the
lockfile when it moved every package to tsrs. The merged lockfile kept
the importer entry without a package entry, so pnpm install
--frozen-lockfile fails with ERR_PNPM_LOCKFILE_MISSING_DEPENDENCY.

Move query-tags to tsrs like every other package.
get-bb#5640 changed the realtime change-message schema in the plugin SDK bundled
types after 0.6.60 was published, so the npm version guard fails.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ymichael added a commit that referenced this pull request Oct 20, 2026
## Human comments

## What was wrong

Task embed cards applied a hover background to their wrapper, but the
primary button covered only the content. Clicking the side padding,
vertical padding, or gap before the open arrow did nothing. Loading
cards also highlighted despite having no action. This is the same
hit-area mismatch addressed for other rows in #5891.

## What changed

Stretch the primary button over the rounded card and keep the
open-in-Tasks arrow above it as a separate control. Show a focus ring
around the whole primary target, prevent repeated clicks from selecting
text, and apply hover styling only to resolved, actionable cards.

To unblock CI against current main, this branch also carries the
existing query-tags lockfile repair from #5897 (switch its typecheck to
the repository's pinned tsrs) and bumps the plugin SDK to 0.6.61 because
the npm version guard detects changed generated declarations in 0.6.60.
Neither changes the task-card interaction contract.

## How you verified

- Reproduced the dead padding and gap with real browser pointer clicks
before the fix, using the actual component and production styles in an
isolated fixture.
- Verified the same coordinates open the side panel after the fix, while
the arrow only opens Tasks. Also checked keyboard Enter/Space, the
full-card focus ring, rounded corners, fallback navigation, retry, the
missing-task arrow, and loading without hover feedback.
- Started this branch with `pnpm start:worktree`, seeded a disposable
task and embed message, and confirmed a real padding click opens the
task in the production app.
- `pnpm exec turbo run typecheck lint test --filter=bb-plugin-tasks`
passed, including all 409 tests.
- Formatting and `git diff --check` passed. No new jsdom regression
test: it cannot exercise layout or pointer hit testing.

> AGENT GENERATED

---------

Co-authored-by: Ahmed Hesham Abdelkader <23265119+ahmedhesham6@users.noreply.github.com>
@ymichael

Copy link
Copy Markdown
Collaborator

Superseded: #5903 landed the same query-tags tsrs switch and the plugin SDK 0.6.61 bump on main, so this PR's diff against main is now empty.

@ymichael ymichael closed this Oct 20, 2026
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.

2 participants