Skip to content

chore(deps): move to vite-plus 1.0 and unblock oxlint 1.85 and Vitest 5 (MMR-409) - #351

Merged
dbtlr merged 2 commits into
mainfrom
mmr-409-vite-plus-1
Oct 2, 2026
Merged

dbtlr merged 2 commits into
mainfrom
mmr-409-vite-plus-1

Conversation

@dbtlr

@dbtlr dbtlr commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

Description

Upgrades the build and test toolchain to vite-plus 1.0, which unblocks oxlint 1.85 (linting), oxfmt 0.70 (formatting), and Vitest 5 (console test runner) — MMR-409.

Toolchain migration

  • Adapts existing code to oxlint 1.85 rules: the ref-held "latest callback" patterns (onChangeRef, handlerRef, setFilterRef) are replaced with React's useEffectEvent, and external query-string re-syncs for the search boxes (filters.q in artifact filters, search.q on the tasks page) now adjust state during render instead of in an effect. Small hoists in the PWA update controller, overview route, and tree test satisfy the new rules without behavior change.
  • Disables the newly promoted one-var style rule: oxlint 1.85 moved it into the style category with ~6,237 existing hits; it is turned off as a deliberate opt-out until the shared tooling config relaxes it.
  • Works around a jest-dom / Vitest 5 type conflict (Vitest 5: matcher types are lost — Assertion<T> augmentation no longer merges with Vitest's Assertion<R, T> testing-library/jest-dom#738): jest-dom 7.0.1's type augmentation doesn't merge with Vitest 5's Assertion<R, T>, so matchers are now registered via expect.extend with a corrected local module augmentation, to be removed once the upstream fix (jest-dom#742) ships.

Behavior fixes surfaced by the migration

  • The desktop quick-view panel now slides in rather than only fading: the transition declared transform while the classes animate translate, so the slide was never transitioned. Entry animation now uses CSS @starting-style, making close the only state change; the mobile quick shelf gets the same treatment.
  • Closing the quick-view panel now completes reliably: the close-timer cleanup previously ran on every effect re-subscribe, and since the board passes a fresh onClose closure each render, a background refresh during the 180ms exit slide could cancel the pending close and strand the panel. Cleanup now runs only on unmount, with a regression test covering a parent re-render during the exit animation.

dbtlr added 2 commits October 2, 2026 06:07
…-409)

Bump vite-plus to ^1.0.0, pin oxlint to its bundled 1.85.0, and pin the
console's vitest to vite-plus's bundled 5.0.1.

- Turn off oxlint 1.85's new style rule one-var locally; the shared
  @dbtlr/tooling change is filed as TLG-s1.
- Shim jest-dom's Vitest 5 matcher types (testing-library/jest-dom#738)
  with the upstream fix from #742, so .resolves matchers stay awaitable.
- Fix the new React lint errors: CSS @starting-style replaces the
  mount-time setState entry animation in the quick view, useEffectEvent
  replaces ref writes during render, and the search boxes re-sync from
  the URL during render instead of in an effect.
- Hoist the functions consistent-function-scoping flags.
…-409)

Review of the vite-plus 1.0 change found that a fresh onClose closure
from a board poll re-ran the panel's Esc effect, whose cleanup cleared
the pending close timer. Without the old mount-time setOpen(true), the
panel then stuck invisible. Clear the timer only on unmount.

Also let the panel's slide animate: Tailwind 4 translates through the
translate property, which transition-[transform,opacity] never covered.
@kody-ai

kody-ai Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

Kody Review Complete

Great news! 🎉
No issues were found that match your current review configurations.

Keep up the excellent work! 🚀

Kody Guide: Usage and Configuration
Interacting with Kody
  • Request a Review: Ask Kody to review your PR manually by adding a comment with the @kody start-review command at the root of your PR.

  • Validate Business Logic: Ask Kody to validate your code against business rules by adding a comment with the @kody -v business-logic command.

  • Provide Feedback: Help Kody learn and improve by reacting to its comments with a 👍 for helpful suggestions or a 👎 if improvements are needed.

Current Kody Configuration
Review Options

The following review options are enabled or disabled:

Options Enabled
Bug ✅
Performance ✅
Security ✅
Business Logic ✅

Access your configuration settings here.

​

@coderabbitai

coderabbitai Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Essentials

Run ID: 7dcbf45f-7760-48cd-b3b6-6ec24053f475

📥 Commits

Reviewing files that changed from the base of the PR and between 344a2c9 and dacd560.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (23)
  • .changes/mmr-409.md
  • package.json
  • packages/bin/src/cli/binding.test.ts
  • packages/bin/src/cli/cli.test.ts
  • packages/bin/src/cli/skill-invocations.ts
  • packages/bin/src/core/store-norn/artifacts.test.ts
  • packages/bin/src/core/store-postgres/artifacts.ts
  • packages/bin/src/core/store-postgres/seeds.ts
  • packages/bin/src/doctor/facet.test.ts
  • packages/bin/src/http/scratchpads.integration.test.ts
  • packages/ui/package.json
  • packages/ui/src/components/artifact-filters.tsx
  • packages/ui/src/components/node-dossier.tsx
  • packages/ui/src/components/node-quick-view.tsx
  • packages/ui/src/lib/pwa-update.ts
  • packages/ui/src/lib/use-hotkey.ts
  • packages/ui/src/routes/overview.tsx
  • packages/ui/src/routes/tasks.tsx
  • packages/ui/src/test/jest-dom-vitest.d.ts
  • packages/ui/src/test/node-quick-view.test.tsx
  • packages/ui/src/test/setup.ts
  • packages/ui/src/test/tree.test.tsx
  • vite.config.ts

Included review availability: This review used your included allowance. 0 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 1 review per hour.


📝 Summary

Summary by CodeRabbit

  • User Experience
    • The desktop quick-view panel now slides in and out. Closing completes reliably, even if the board refreshes during the exit animation.
    • Search inputs stay synchronized when their filters change elsewhere, including in artifact filters and task search.
  • Improvements
    • Updated the project’s development and testing tools for a more current development environment and test setup.

Walkthrough

The pull request updates tool versions and lint configuration, adjusts UI callbacks and search synchronization, and moves helpers to module scope. It changes quick-view entry and exit animations and adds a regression test for closing across a parent rerender.

Changes

UI and tooling changes

Layer / File(s) Summary
Toolchain and test setup
package.json, packages/ui/package.json, vite.config.ts, packages/ui/src/test/jest-dom-vitest.d.ts, packages/ui/src/test/setup.ts
Updates oxlint, vite-plus, and Vitest versions; disables the one-var lint rule; and registers jest-dom matchers with Vitest type augmentation.
Helper scope and test fixture updates
packages/bin/src/cli/*, packages/bin/src/core/store-norn/artifacts.test.ts, packages/bin/src/core/store-postgres/*, packages/bin/src/doctor/facet.test.ts, packages/bin/src/http/scratchpads.integration.test.ts, packages/ui/src/test/tree.test.tsx
Moves helpers to module scope and moves the underReviewTree fixture earlier in the test file.
UI callbacks and search synchronization
packages/ui/src/components/artifact-filters.tsx, packages/ui/src/components/node-dossier.tsx, packages/ui/src/lib/pwa-update.ts, packages/ui/src/lib/use-hotkey.ts, packages/ui/src/routes/overview.tsx, packages/ui/src/routes/tasks.tsx
Uses effect events or component-scoped callbacks in UI code. Artifact and task search synchronize external query changes during render.
Quick-view entry and exit animations
packages/ui/src/components/node-quick-view.tsx, packages/ui/src/test/node-quick-view.test.tsx, .changes/mmr-409.md
Changes panel and shelf animations to use closing state and starting-style utilities. Adds a regression test for Escape closing across a parent rerender and records the changes in the changelog.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to dacd5

The shelf can complete its close animation after a parent rerender. No confirmed issue prevents merging.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 75.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 16 functions across 20 files. (3 skipped:… Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main toolchain migration to vite-plus 1.0 and the related oxlint and Vitest updates.
Description check ✅ Passed The description directly explains the toolchain upgrades, lint adaptations, Vitest workaround, and quick-view behavior fixes.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 75.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 16 functions across 20 files. (3 skipped: 3 unsupported.)

  • Fix all pre-merge checks with AI
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Comment @coderabbitai help to get the list of available commands.

@dbtlr

dbtlr commented Oct 2, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Oct 2, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.


Your included review limit is currently reached under our Fair Usage Limits Policy. Your current included review allowance is based on your included PR review attempts over the past 7 days. This review may still proceed through usage-based billing if eligible. Your next included review will be available in 55 minutes.

@dbtlr

dbtlr commented Oct 2, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Oct 2, 2026 •

Copy link
Copy Markdown
✅ Action performed

Full review finished.

@dbtlr
dbtlr merged commit f840258 into main Oct 2, 2026
9 checks passed
@dbtlr
dbtlr deleted the mmr-409-vite-plus-1 branch October 2, 2026 12:47
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