Skip to content

fix(mosaic): suppress model useState lint errors on main - #10156

Merged
maxyinger merged 1 commit into
mainfrom
fix-mosaic-model-usestate-lint
Oct 8, 2026
Merged

maxyinger merged 1 commit into
mainfrom
fix-mosaic-model-usestate-lint

Conversation

@maxyinger

Copy link
Copy Markdown
Collaborator

Description

main fails @clerk/mosaic#lint (Static analysis). #9968 (Web3 wallets) and #9992 (active devices) each added a model that keeps fetched data in useState. They merged around the same time as #10144, which forbids useState in *.model.ts. Each PR passed CI on its own, but together they leave main red, so every PR that merges main now fails.

This PR adds the two violations to packages/mosaic/eslint-suppressions.json as a stopgap. These are the only models that load async data themselves, and no model on main does this without useState yet, so moving their state needs a pattern decision first. Runtime behavior is unchanged.

  • user-profile-active-devices-section.model.ts
  • user-profile-solana-wallet.model.ts

Checklist

  • pnpm test runs as expected.
  • pnpm build runs as expected.
  • (If applicable) JSDoc comments have been added or updated for any package exports
  • (If applicable) Documentation has been updated

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other:

🤖 Generated with Claude Code

#9968 and #9992 added models that hold fetched data in useState, and
landed alongside #10144, which restricts useState in models. Suppress
the two violations so @clerk/mosaic#lint passes again.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
clerk-js-sandbox Ready Ready Preview Oct 8, 2026 10:09pm UTC
swingset Ready Ready Preview Oct 8, 2026 10:09pm UTC

Request Review

@changeset-bot

changeset-bot Bot commented Oct 8, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 6d74a25

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 0 packages

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions github-actions Bot added the mosaic label Oct 8, 2026
@coderabbitai

coderabbitai Bot commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository YAML (base), Organization UI (inherited)
  • Review profile: ASSERTIVE
  • Plan: Team
  • Run ID: e9532f41-a061-4ba5-97d6-8a0a905162cf
📥 Commits

Reviewing files that changed from the base of the PR and between 31c1930 and 6d74a25.

📒 Files selected for processing (2)
  • .changeset/mosaic-model-usestate-lint-suppressions.md
  • packages/mosaic/eslint-suppressions.json
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

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


📝 Walkthrough

Walkthrough

The ESLint suppression configuration adds one @typescript-eslint/no-restricted-imports suppression for the active-devices model and one for the Solana wallet model. The changeset file adds empty YAML front matter.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~5 minutes

Suggested reviewers: alexcarpenter

Merge Risk: ⚪ Minimal · up to 6d74a

This change only suppresses two lint violations to restore the package lint check, and runtime behavior is unchanged. No merge-blocking risk was identified.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check Passed The title clearly and concisely describes the main change: suppressing Mosaic model useState lint errors on main.
Description check Passed The description directly explains the lint failures, identifies both affected models, describes the suppressions, and states that runtime behavior is unchanged.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
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.
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@pkg-pr-new

pkg-pr-new Bot commented Oct 8, 2026

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@10156

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@10156

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@10156

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@10156

@clerk/electron

npm i https://pkg.pr.new/@clerk/electron@10156

@clerk/electron-passkeys

npm i https://pkg.pr.new/@clerk/electron-passkeys@10156

@clerk/eslint-plugin

npm i https://pkg.pr.new/@clerk/eslint-plugin@10156

@clerk/expo

npm i https://pkg.pr.new/@clerk/expo@10156

@clerk/expo-biometrics

npm i https://pkg.pr.new/@clerk/expo-biometrics@10156

@clerk/expo-google-signin

npm i https://pkg.pr.new/@clerk/expo-google-signin@10156

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@10156

@clerk/express

npm i https://pkg.pr.new/@clerk/express@10156

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@10156

@clerk/hono

npm i https://pkg.pr.new/@clerk/hono@10156

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@10156

@clerk/mosaic

npm i https://pkg.pr.new/@clerk/mosaic@10156

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@10156

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@10156

@clerk/react

npm i https://pkg.pr.new/@clerk/react@10156

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@10156

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@10156

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@10156

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@10156

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@10156

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@10156

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@10156

commit: 6d74a25

@maxyinger
maxyinger enabled auto-merge (squash) October 8, 2026 22:17
@maxyinger
maxyinger merged commit 9398629 into main Oct 8, 2026
84 of 85 checks passed
@maxyinger
maxyinger deleted the fix-mosaic-model-usestate-lint branch October 8, 2026 22:18

This branch was successfully deployed

2 active deployments
Preview – swingset — 6d74a256 Deployed Oct 8, 2026 by vercel[bot]
Preview – clerk-js-sandbox — 6d74a256 Deployed Oct 8, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants