Skip to content

fix: keep upstream lint rules instead of fork suppressions - #120

Merged
ScriptedAlchemy merged 1 commit into
mainfrom
fix/keep-upstream-lint-rules
Nov 15, 2026
Merged

ScriptedAlchemy merged 1 commit into
mainfrom
fix/keep-upstream-lint-rules

Conversation

@ScriptedAlchemy

Copy link
Copy Markdown
Owner

The fork turned off several upstream lint rules, through a config exemption or inline disables, instead of fixing the code. This PR fixes the code and removes those suppressions.

  • no-rpc-permission-bypass: providerAccountSync.ts used to install its own RpcPermissionGuard and needed a config exemption. It now uses withEnvironmentRpcPermissions from runtime.ts, so the exemption is gone.
  • no-inline-schema-compile: PeerMcpClient now binds the caller-supplied result schema to a local before decoding, as upstream's version does. The two disables are gone.
  • no-global-process-runtime: the server vite.config.ts now reads the host through HostProcess.Platform and HostProcess.Architecture. Both default to the same running Node process, so the result is unchanged. The two disables are gone.
  • react/purity: on mobile, the thread screen now builds the usage-limits report when the panel opens. Before, the composer built a report only for the thread screen to rebuild it, and the two used different provider instances: the composer used the runtime instance, the screen the model selection. The screen now uses the runtime instance for both the panel key and the report, and the composer no longer reads the clock.

Two suppressions stay on purpose:

  • The native/project-memory override. Those scripts run in the Rust CI job without workspace dependencies, the same reason upstream exempts scripts/npm-launcher/**.
  • The reasoned no-unreasoned-state-sync disables. They are the rule's own escape hatch.

vp run check:changed passes: format, lint, knip, typecheck of 42 packages, tests and the React compiler check.

🤖 Generated with Claude Code

- providerAccountSync uses runtime's withEnvironmentRpcPermissions, so it no
  longer needs a no-rpc-permission-bypass exemption.
- PeerMcpClient binds the caller's result schema before decoding, as upstream does.
- The server build config reads the host through HostProcess.
- The mobile thread screen builds the usage-limits report when it opens the panel,
  from the same provider instance it later renders with, so the composer no longer
  reads the clock and needs no react/purity suppression.

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

changeset-bot Bot commented Nov 14, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 7a35f8e

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

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

@ScriptedAlchemy
ScriptedAlchemy merged commit 0946f0a into main Nov 15, 2026
21 checks passed
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