Remix.run Logo
FossAndFurious 12 hours ago

Pyrefly is Meta's new Python type checker and VS Code extension, released earlier this year. While auditing the VSIX before installing it, I found that on activation it silently writes `disableLanguageServices = true` to the user's global settings for three named extensions: basedpyright, windsurfpyright, and cursorpyright.

The write uses `ConfigurationTarget.Global`, so it affects all workspaces. There is no `deactivate()` cleanup, so the setting persists after Pyrefly is uninstalled.

This was verified by live reproduction: installed Pyrefly alongside basedpyright, opened a Python file, and observed the key appear in `settings.json`. Uninstalled Pyrefly — key remained, basedpyright still broken.

The code is in plain TypeScript in the public repo (`lsp/src/extension-interop.ts`), added December 2025. This isn't obfuscated or hidden — it just hasn't been noticed.

Bug report with full details, source references, and reproduction steps: https://github.com/facebook/pyrefly/issues/3292

The fix is straightforward: ask the user before touching settings they didn't set, and restore them in `deactivate()`.

IceDane 11 hours ago | parent | next [-]

Have you just completely retired your brain in favor of a bidirectional pipe to an LLM?

Esophagus4 10 hours ago | parent [-]

I’ll answer that once my brain’s usage limit resets at 10:30pm

zgeor 7 hours ago | parent [-]

Turn on extra usage. But dont forget to set a limit!

PufPufPuf 11 hours ago | parent | prev | next [-]

"it's not X, m-dash, it's Y"

refulgentis 11 hours ago | parent [-]

A, B, C.

A, B, C — D.

queenkjuul 9 hours ago | parent | prev [-]

I'm confused, I'm looking for the emdash key on my phone and can't find it--how do you type yours?

agency 8 hours ago | parent [-]

You press and hold the hyphen key on iPhone — like this! And I'm a human :)

queenkjuul an hour ago | parent [-]

Humans can copy paste