Skip to content

chore: fix CI, take 2 - #11282

Merged
0xApotheosis merged 1 commit into
developfrom
fix-ci-2
Dec 4, 2025
Merged

chore: fix CI, take 2#11282
0xApotheosis merged 1 commit into
developfrom
fix-ci-2

Conversation

@0xApotheosis

@0xApotheosis 0xApotheosis commented Dec 4, 2025

Copy link
Copy Markdown
Member

Description

Take 2 at extracting packages - I'll leave this in draft until we've extracted enough.

Issue (if applicable)

Unblocks release.

Risk

High Risk PRs Require 2 approvals

Low - if CI is green we should be good.

What protocols, transaction types, wallets or contract interactions might be affected by this PR?

N/A

Testing

Engineering

CI should be green.

Operations

  • 🏁 My feature is behind a flag and doesn't require operations testing (yet)

N/A

Screenshots (if applicable)

N/A


Note

Adds a Rollup manual chunk in vite.config.mts to group @shapeshiftoss/hdwallet-vultisig as hdwallet-vultisig.

Written by Cursor Bugbot for commit ba1aa5d. This will update automatically on new commits. Configure here.

Summary by CodeRabbit

  • Chores
    • Optimized vendor code bundling and chunking for improved build performance and load times.

✏️ Tip: You can customize this high-level summary in your review settings.

@0xApotheosis
0xApotheosis requested a review from a team as a code owner December 4, 2025 00:04
@coderabbitai

coderabbitai Bot commented Dec 4, 2025

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

A new vendor chunk configuration is added to vite.config.mts for the @shapeshiftoss/hdwallet-vultisig package identifier. The change extends the existing id-based chunking logic in Rollup's manualChunks to group this module into its own 'hdwallet-vultisig' chunk during the build process.

Changes

Cohort / File(s) Summary
Build Configuration
vite.config.mts
Adds vendor chunk grouping for @shapeshiftoss/hdwallet-vultisig in Rollup's id-based chunking logic

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • shapeshift/web#11280: Modifies the same vite.config.mts manual chunking logic to add a different package identifier vendor chunk condition
  • shapeshift/web#11233: Also extends the vite.config.mts Rollup manualChunks id-based chunking logic with a vendor chunk rule for "viem"

Suggested reviewers

  • gomesalexandre
  • NeOMakinG
  • premiumjibles

Poem

🐰 A chunk for the wallet so grand,
Vultisig now grouped as we planned,
Build config refined,
Dependencies bind,
With vendor rules perfectly scanned! ✨

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'chore: fix CI, take 2' is vague and does not clearly describe the actual change. The PR adds a specific vendor chunk grouping for @shapeshiftoss/hdwallet-vultisig, but the title provides no specific information about what was changed or why. Consider using a more descriptive title like 'chore: add hdwallet-vultisig vendor chunk grouping' that specifically indicates the code change being made.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix-ci-2

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 46cc758 and ba1aa5d.

📒 Files selected for processing (1)
  • vite.config.mts (1 hunks)
🧰 Additional context used
🧠 Learnings (6)
📓 Common learnings
Learnt from: gomesalexandre
Repo: shapeshift/web PR: 11170
File: patches/@shapeshiftoss+bitcoinjs-lib+7.0.0-shapeshift.0.patch:9-19
Timestamp: 2025-11-25T21:43:10.838Z
Learning: In shapeshift/web, gomesalexandre will not expand PR scope to fix latent bugs in unused API surface (like bitcoinjs-lib patch validation methods) when comprehensive testing proves the actual used code paths work correctly, preferring to avoid costly hdwallet/web verdaccio publish cycles and full regression testing for conceptual issues with zero runtime impact.
Learnt from: NeOMakinG
Repo: shapeshift/web PR: 10323
File: src/components/ButtonWalletPredicate/ButtonWalletPredicate.tsx:7-7
Timestamp: 2025-08-27T09:47:06.275Z
Learning: In shapeshift/web project, NeOMakinG consistently prefers to defer UI/UX improvements and refactoring work (like the Drawer.Close hack fix in ButtonWalletPredicate.tsx) to follow-up PRs rather than expanding the scope of feature PRs, even when the improvements would enhance robustness.
Learnt from: gomesalexandre
Repo: shapeshift/web PR: 10232
File: packages/unchained-client/openapitools.json:61-61
Timestamp: 2025-08-08T10:23:16.843Z
Learning: In shapeshift/web, for temporary “monkey patch” PRs (e.g., packages/unchained-client/openapitools.json using jsDelivr CDN refs like cosmos/mayachain), gomesalexandre is fine with branch-based URLs and does not want SHA pinning. Treat this as a scoped exception to their general preference for pinned dependencies/refs.
Learnt from: NeOMakinG
Repo: shapeshift/web PR: 10231
File: src/components/AssetSearch/components/AssetList.tsx:2-2
Timestamp: 2025-08-08T15:00:49.887Z
Learning: Project shapeshift/web: NeOMakinG prefers avoiding minor a11y/UI nitpicks (e.g., adding aria-hidden to decorative icons in empty states like src/components/AssetSearch/components/AssetList.tsx) within feature PRs; defer such suggestions to a follow-up instead of blocking the PR.
Learnt from: kaladinlight
Repo: shapeshift/web PR: 10263
File: vite.config.mts:133-134
Timestamp: 2025-08-12T17:52:34.672Z
Learning: In vite.config.mts for shapeshift/web, the team prefers explicit package names in manualChunks configuration rather than pattern-based matching with path boundaries. They want granular control over which specific packages go into each chunk.
Learnt from: kaladinlight
Repo: shapeshift/web PR: 10263
File: vite.config.mts:133-133
Timestamp: 2025-08-12T17:53:56.322Z
Learning: In vite.config.mts for shapeshift/web, kaladinlight prefers to avoid changing working chunk configurations even for better categorization when there's risk of breaking the build. They prioritize build stability over perfect semantic grouping in the short term.
Learnt from: kaladinlight
Repo: shapeshift/web PR: 10376
File: vite.config.mts:136-137
Timestamp: 2025-08-29T18:09:45.982Z
Learning: In the ShapeShift web repository vite.config.mts, the commonjsOptions.exclude configuration using bare package name strings like ['shapeshiftoss/caip', 'shapeshiftoss/types'] works correctly for excluding specific packages from CommonJS transformation, despite theoretical concerns about module ID matching patterns.
Learnt from: gomesalexandre
Repo: shapeshift/web PR: 11078
File: src/setupVitest.ts:11-15
Timestamp: 2025-11-20T12:00:45.005Z
Learning: In shapeshift/web, src/setupVitest.ts must redirect 'ethers' to 'ethers5' for shapeshiftoss/hdwallet-trezor (and -trezor-connect), same as ledger and shapeshift-multichain. Removing 'trezor' from the regex causes CI/Vitest failures due to ethers v6 vs v5 API differences.
📚 Learning: 2025-08-12T17:52:34.672Z
Learnt from: kaladinlight
Repo: shapeshift/web PR: 10263
File: vite.config.mts:133-134
Timestamp: 2025-08-12T17:52:34.672Z
Learning: In vite.config.mts for shapeshift/web, the team prefers explicit package names in manualChunks configuration rather than pattern-based matching with path boundaries. They want granular control over which specific packages go into each chunk.

Applied to files:

  • vite.config.mts
📚 Learning: 2025-08-12T17:53:56.322Z
Learnt from: kaladinlight
Repo: shapeshift/web PR: 10263
File: vite.config.mts:133-133
Timestamp: 2025-08-12T17:53:56.322Z
Learning: In vite.config.mts for shapeshift/web, kaladinlight prefers to avoid changing working chunk configurations even for better categorization when there's risk of breaking the build. They prioritize build stability over perfect semantic grouping in the short term.

Applied to files:

  • vite.config.mts
📚 Learning: 2025-08-29T18:09:45.982Z
Learnt from: kaladinlight
Repo: shapeshift/web PR: 10376
File: vite.config.mts:136-137
Timestamp: 2025-08-29T18:09:45.982Z
Learning: In the ShapeShift web repository vite.config.mts, the commonjsOptions.exclude configuration using bare package name strings like ['shapeshiftoss/caip', 'shapeshiftoss/types'] works correctly for excluding specific packages from CommonJS transformation, despite theoretical concerns about module ID matching patterns.

Applied to files:

  • vite.config.mts
📚 Learning: 2025-11-20T12:00:45.005Z
Learnt from: gomesalexandre
Repo: shapeshift/web PR: 11078
File: src/setupVitest.ts:11-15
Timestamp: 2025-11-20T12:00:45.005Z
Learning: In shapeshift/web, src/setupVitest.ts must redirect 'ethers' to 'ethers5' for shapeshiftoss/hdwallet-trezor (and -trezor-connect), same as ledger and shapeshift-multichain. Removing 'trezor' from the regex causes CI/Vitest failures due to ethers v6 vs v5 API differences.

Applied to files:

  • vite.config.mts
📚 Learning: 2025-11-24T21:20:04.979Z
Learnt from: CR
Repo: shapeshift/web PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T21:20:04.979Z
Learning: Each wallet has unique `walletId` (e.g., `metamask:0x123`, `ledger:ABC`)

Applied to files:

  • vite.config.mts
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Cursor Bugbot
🔇 Additional comments (1)
vite.config.mts (1)

192-192: LGTM — the chunk configuration for @shapeshiftoss/hdwallet-vultisig is properly positioned and justified.

The package is actively used throughout the wallet provider context (types.ts, config.ts, Vultisig/config.ts) and the chunk aligns with the established pattern for wallet SDK dependencies. This follows the team's preference for explicit package control in manualChunks.


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

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

@gomesalexandre gomesalexandre left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Doesn't hurt!

@0xApotheosis

Copy link
Copy Markdown
Member Author

aaaand we are green!

@0xApotheosis
0xApotheosis merged commit 03f3708 into develop Dec 4, 2025
5 checks passed
@0xApotheosis
0xApotheosis deleted the fix-ci-2 branch December 4, 2025 00:14
0xApotheosis added a commit that referenced this pull request Dec 4, 2025
chore: extract hdwallet-vultisig
@coderabbitai coderabbitai Bot mentioned this pull request Dec 4, 2025
1 task
@coderabbitai coderabbitai Bot mentioned this pull request Dec 11, 2025
1 task
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