Skip to content

Comments

Bump Dependencies#122

Merged
iamEvanYT merged 4 commits intomainfrom
evan/bump-dependencies
Jun 11, 2025
Merged

Bump Dependencies#122
iamEvanYT merged 4 commits intomainfrom
evan/bump-dependencies

Conversation

@iamEvanYT
Copy link
Member

@iamEvanYT iamEvanYT commented Jun 11, 2025

Summary by CodeRabbit

  • Chores

    • Updated and consolidated several UI library dependencies for improved maintainability and consistency.
    • Upgraded multiple package versions, including posthog-node, @types/chrome, @types/node, and lucide-react.
  • Refactor

    • Unified and streamlined the import sources for various UI components, resulting in more consistent and maintainable code without affecting user-facing functionality.

@github-actions
Copy link
Contributor

github-actions bot commented Jun 11, 2025

Build artifacts for all platforms are ready! 🚀

Download the artifacts from:

(execution 15598058831 / attempt 1)

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jun 11, 2025

Walkthrough

This change updates the project to consolidate multiple individual @radix-ui/react-* dependencies into a single radix-ui package, updating all relevant component imports accordingly. Additionally, several other dependencies in package.json are updated to newer versions, but no public API or component logic is altered.

Changes

File(s) Change Summary
package.json Upgraded posthog-node, @types/chrome, lucide-react; downgraded @types/node; replaced multiple @radix-ui/react-* with radix-ui.
src/renderer/src/components/ui/alert-dialog.tsx
src/renderer/src/components/ui/dialog.tsx
src/renderer/src/components/ui/dropdown-menu.tsx
src/renderer/src/components/ui/label.tsx
src/renderer/src/components/ui/popover.tsx
src/renderer/src/components/ui/progress.tsx
src/renderer/src/components/ui/radio-group.tsx
src/renderer/src/components/ui/scroll-area.tsx
src/renderer/src/components/ui/select.tsx
src/renderer/src/components/ui/separator.tsx
src/renderer/src/components/ui/sheet.tsx
src/renderer/src/components/ui/slider.tsx
src/renderer/src/components/ui/switch.tsx
src/renderer/src/components/ui/tabs.tsx
src/renderer/src/components/ui/tooltip.tsx
Changed imports from individual @radix-ui/react-* packages to named imports from radix-ui and updated local aliases accordingly.
src/renderer/src/components/ui/badge.tsx
src/renderer/src/components/ui/button.tsx
src/renderer/src/components/ui/resizable-sidebar.tsx
src/renderer/src/components/ui/sidebar.tsx
Updated Slot imports to use SlotPrimitive from radix-ui and adjusted conditional rendering references from Slot to SlotPrimitive.Slot.

Sequence Diagram(s)

sequenceDiagram
    participant App
    participant RadixUI
    App->>RadixUI: Import primitives (e.g., Dialog, Tooltip, Slot) from "radix-ui"
    App->>App: Use primitives in UI components
Loading

Poem

🐇
A hop, a skip, a tidy leap—
Radix roots now run so deep!
From scattered seeds to one strong vine,
All UI parts in one combine.
With versions fresh and imports neat,
This garden grows—oh, what a feat!
🌱✨


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2a3f1e9 and e525ec1.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (1)
  • package.json (3 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • package.json
⏰ Context from checks skipped due to timeout of 90000ms (5)
  • GitHub Check: build (windows-latest)
  • GitHub Check: build (macos-13)
  • GitHub Check: build (ubuntu-latest)
  • GitHub Check: build (ubuntu-24.04-arm)
  • GitHub Check: build (macos-latest)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

🔭 Outside diff range comments (1)
src/renderer/src/components/ui/scroll-area.tsx (1)

27-44: 🛠️ Refactor suggestion

Type parameter will fail once the symbol is fixed

After renaming to .Scrollbar, also remember to update the generic used in React.ComponentProps<>. The current one points to the (non-existent) symbol and will cause tsc errors.

🧹 Nitpick comments (1)
src/renderer/src/components/ui/dropdown-menu.tsx (1)

2-2: Runtime size / tree-shaking caveat

Switching to the umbrella radix-ui package pulls all primitives into the bundle. If you’re targeting a renderer bundle size budget, measure before/after: the consolidated package can cost ~15-20 KB extra gzip even with modern tree-shaking.

Consider importing only the needed primitive via deep import (e.g. "radix-ui/dropdown-menu"), which the new package exposes for that reason.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4a56916 and 2a3f1e9.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (20)
  • package.json (3 hunks)
  • src/renderer/src/components/ui/alert-dialog.tsx (1 hunks)
  • src/renderer/src/components/ui/badge.tsx (2 hunks)
  • src/renderer/src/components/ui/button.tsx (2 hunks)
  • src/renderer/src/components/ui/dialog.tsx (1 hunks)
  • src/renderer/src/components/ui/dropdown-menu.tsx (1 hunks)
  • src/renderer/src/components/ui/label.tsx (1 hunks)
  • src/renderer/src/components/ui/popover.tsx (1 hunks)
  • src/renderer/src/components/ui/progress.tsx (1 hunks)
  • src/renderer/src/components/ui/radio-group.tsx (1 hunks)
  • src/renderer/src/components/ui/resizable-sidebar.tsx (6 hunks)
  • src/renderer/src/components/ui/scroll-area.tsx (1 hunks)
  • src/renderer/src/components/ui/select.tsx (1 hunks)
  • src/renderer/src/components/ui/separator.tsx (1 hunks)
  • src/renderer/src/components/ui/sheet.tsx (1 hunks)
  • src/renderer/src/components/ui/sidebar.tsx (6 hunks)
  • src/renderer/src/components/ui/slider.tsx (1 hunks)
  • src/renderer/src/components/ui/switch.tsx (1 hunks)
  • src/renderer/src/components/ui/tabs.tsx (1 hunks)
  • src/renderer/src/components/ui/tooltip.tsx (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (5)
  • GitHub Check: build (macos-latest)
  • GitHub Check: build (windows-latest)
  • GitHub Check: build (ubuntu-latest)
  • GitHub Check: build (macos-13)
  • GitHub Check: build (ubuntu-24.04-arm)
🔇 Additional comments (21)
package.json (3)

58-58: @types/chrome bump looks safe
This is a minor version update for type definitions; no immediate concerns.


79-79: Lucide-react bump approved
Upgrading from v0.510.0 to v0.514.0 is a non-breaking minor update.


42-42:

Details

❓ Verification inconclusive

Check for breaking changes in posthog-node v5 upgrade
The major version bump from v4.x to v5.x may include API or behavior changes. Verify that existing instrumentation and event handling remain compatible.


🌐 Web query:

What are the breaking changes in posthog-node v5.0.0 compared to v4.17.1?

💡 Result:

As of June 11, 2025, the latest version of the posthog-node library is 4.10.1, with no official release of version 5.0.0. Consequently, there are no documented breaking changes between versions 5.0.0 and 4.17.1.

The most recent updates in the 4.x series include:

  • 4.10.1 (March 6, 2025): Fixed an issue where the platform property was incorrectly set on PostHog exception frame properties.

  • 4.10.0 (March 6, 2025): Introduced the attachment of requestId to $feature_flag_called events if present in the /decide response.

  • 4.9.0 (March 4, 2025): Allowed individual evaluation of feature flags when local evaluation is not in use.

  • 4.8.1 (February 26, 2025): Enhanced handling of quotaLimited responses from the PostHog API during feature flag evaluation.

  • 4.8.0 (February 26, 2025): Added guardrails and exponential error backoff in the feature flag local evaluation poller to prevent high rates of 401/403 traffic towards /local_evaluation.

For a comprehensive list of changes, you can refer to the PostHog Node.js changelog.

If you're considering upgrading to a future version, it's advisable to monitor the PostHog Node.js GitHub repository for announcements regarding version 5.0.0 and any associated breaking changes.


🏁 Script executed:

#!/bin/bash
# Verify latest published version of posthog-node
npm view posthog-node version

Length of output: 37


🏁 Script executed:

#!/bin/bash
# Fetch the v5.0.0 section from the PostHog Node.js changelog
curl -sL https://raw.githubusercontent.com/PostHog/posthog-node/main/CHANGELOG.md \
  | awk '/^## \[5\.0\.0\]/,/^## \[/' \
  | sed '1d;$d'

Length of output: 132


🏁 Script executed:

#!/bin/bash
# Locate the changelog file and extract the v5.0.0 section
changelog_file=$(find . -type f -iname "*CHANGELOG*.md" | head -n1)
echo "Changelog file found: $changelog_file"
sed -n '/^## \[5\.0\.0\]/,/^## \[/' "$changelog_file" | sed '1d;$d'

Length of output: 531


🏁 Script executed:

#!/bin/bash
# Fetch the v5.0.0 section from the PostHog JS Lite changelog
curl -sL https://raw.githubusercontent.com/PostHog/posthog-js-lite/main/posthog-node/CHANGELOG.md \
  | awk '/^## \[5\.0\.0\]/,/^## \[/' \
  | sed '1d;$d'

Length of output: 148


🏁 Script executed:

#!/bin/bash
# Fetch the release notes for v5.0.0 from the PostHog/posthog-node GitHub repository
curl -s https://api.github.com/repos/PostHog/posthog-node/releases/tags/v5.0.0 | jq -r '.body'

Length of output: 99


Ensure compatibility with posthog-node v5.0.0
We couldn’t find any documented breaking changes in the v5.0.0 release notes or CHANGELOG. Although npm confirms that v5.0.0 is published, there’s no migration guide available. Given the major-version bump, please manually verify that your existing instrumentation and event flows continue to work as expected.

File: package.json (line 42)

"posthog-node": "^5.0.0",

• Review all posthog-node initialization options (client config, host, flush interval, etc.)
• Validate capture, identify, and feature-flag calls against your test suite
• Double-check any custom middleware or error-handling hooks that rely on PostHog internals

src/renderer/src/components/ui/switch.tsx (1)

4-4: Consolidated Radix UI import is correct
SwitchPrimitive is now imported from radix-ui as intended; the rest of the component remains unchanged.

src/renderer/src/components/ui/radio-group.tsx (1)

4-4: Consolidated Radix UI import is correct
RadioGroupPrimitive now comes from radix-ui, matching the updated dependency.

src/renderer/src/components/ui/slider.tsx (1)

2-2: Consolidated Radix UI import is correct
SliderPrimitive import aligned with the new unified radix-ui package.

src/renderer/src/components/ui/select.tsx (1)

2-2: Consolidated Radix UI import is correct
SelectPrimitive is properly sourced from radix-ui; no other code modifications needed.

src/renderer/src/components/ui/label.tsx (1)

2-2:

Details

❓ Verification inconclusive

Double-check that the named export is a namespace object

import { Label as LabelPrimitive } from "radix-ui"; assumes the Label export is the namespace (i.e. it owns .Root, .Trigger, …).
If radix-ui instead exports the root component directly (as the new v2-alpha docs suggest), LabelPrimitive.Root will be undefined at runtime and both the render path and the React.ComponentProps<typeof LabelPrimitive.Root> type will break.

Run a quick grep to confirm the structure shipped by the new dependency:


🏁 Script executed:

#!/bin/bash
# Dumps the keys of the exported object to verify the namespace shape
node - <<'NODE'
import { Label } from 'radix-ui';
console.log('typeof Label:', typeof Label);
console.log('Own keys:', Object.keys(Label));
NODE

Length of output: 1013


Unable to verify LabelPrimitive API shape

The automated check failed because the module "radix-ui" could not be resolved. Please manually confirm:

  • The import source is correct (e.g. you’re not aliasing "radix-ui" to @radix-ui/react-label or similar).
  • That the named export you’re importing as LabelPrimitive is indeed a namespace object exposing .Root, .Trigger, etc.
  • That LabelPrimitive.Root exists at runtime and aligns with your expected React.ComponentProps<typeof LabelPrimitive.Root> types.

Location to check:

  • src/renderer/src/components/ui/label.tsx (line 2)
src/renderer/src/components/ui/tabs.tsx (1)

4-4: Imports look correct – consistent with Radix namespace shape

TabsPrimitive.Root/List/Trigger/Content all exist in both the old and the new bundle; nothing else changed here. Nice and tidy.

src/renderer/src/components/ui/dialog.tsx (1)

4-4: Same namespace concern as with Label

DialogPrimitive.Root et al. rely on Dialog being exported as a namespace object. Please verify (or pin) the exact radix-ui version that still provides that shape; v1.4.2 currently does, but any future breaking change here will hard-crash.

src/renderer/src/components/ui/tooltip.tsx (2)

4-4: Import correctly migrated to consolidated package
Using the radix-ui meta-package and aliasing it as TooltipPrimitive keeps the downstream code unchanged – looks good.


4-4: Confirm ESM-only dependency works in the renderer bundle
radix-ui@^1.4.2 ships pure ESM. Electron + Vite/webpack setups normally handle this, but older CommonJS tooling will fail. Please run the renderer build once to ensure no “require() of ES module” errors surface.

src/renderer/src/components/ui/popover.tsx (2)

2-2: Import path update is correct and consistent
The named export Popover is available from radix-ui; the local alias PopoverPrimitive preserves previous call-sites.


2-2: Double-check tree-shaking / bundle size
Pulling the umbrella radix-ui package can increase bundle size if the bundler isn’t doing module-level tree-shaking. After build, compare the JS bundle before/after this bump.

src/renderer/src/components/ui/sheet.tsx (2)

2-2: Alias from DialogSheetPrimitive looks good
Dialog exports the same sub-components previously imported from @radix-ui/react-dialog; the rename keeps your public API unchanged.


2-2: Watch for peer-dependency warnings
radix-ui still declares react & react-dom peer ranges. Ensure your versions satisfy the new range (≥18.2 for v1.4+).

src/renderer/src/components/ui/alert-dialog.tsx (2)

2-2: Import consolidation LGTM
AlertDialog is correctly pulled from radix-ui and re-aliased; no further changes required.


2-2: Run type-checking once
The consolidated package’s TypeScript types are slightly different (generics & forward-refs). Running tsc --noEmit will quickly surface any surprises.

src/renderer/src/components/ui/separator.tsx (2)

4-4: Separator import switched to meta-package successfully
Nothing else changes; implementation remains valid.


4-4: Validate side-effects flag for optimal shaking
radix-ui marks every sub-module as side-effect-free, but your bundler must respect package.json#sideEffects. Make sure optimisation is enabled in production builds.

src/renderer/src/components/ui/progress.tsx (1)

4-4: Confirm that Progress keeps the namespace shape

After switching to
import { Progress as ProgressPrimitive } from "radix-ui";
ProgressPrimitive.Root / .Indicator will only exist if the new consolidated
package still exports Progress as an object containing its sub-components.
If the new package instead exports each sub-component individually
(e.g. ProgressRoot, ProgressIndicator, …), this will break at runtime.

Double-check the new typing or run a quick compile to be safe.
If the namespace shape is gone, adjust the import:

-import { Progress as ProgressPrimitive } from "radix-ui";
+import {
+  ProgressRoot as ProgressRoot,
+  ProgressIndicator as ProgressIndicator
+} from "radix-ui";

…and reference them directly.

@iamEvanYT iamEvanYT merged commit 7d8628c into main Jun 11, 2025
10 checks passed
@iamEvanYT iamEvanYT deleted the evan/bump-dependencies branch June 11, 2025 23:53
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