Skip to content

[Image] | (CX) | Make image-markdown linter rule an error instead of a warning#3267

Merged
nishasy merged 3 commits intomainfrom
lint-errors
Feb 23, 2026
Merged

[Image] | (CX) | Make image-markdown linter rule an error instead of a warning#3267
nishasy merged 3 commits intomainfrom
lint-errors

Conversation

@nishasy
Copy link
Copy Markdown
Contributor

@nishasy nishasy commented Feb 19, 2026

Summary:

It's been a while since the image-markdown rule has been added as a warning.
Since content authors have had time to know that this is the recommendation,
we can now change it to an error so that it will also yell at them in the
pre-publish errors modal.

Issue: https://khanacademy.atlassian.net/browse/LEMS-3570

Test plan:

pnpm jest packages/perseus-linter/src/rules/image-markdown.test.ts

Storybook

  • Go to /?path=/story/editors-editorpage--demo
  • Type in some alt text
  • Confirm that the image-markdown rule is an error now
Before After
Screenshot 2026-02-18 at 4 44 26 PM Screenshot 2026-02-18 at 4 44 40 PM

…or instead of a warning

It's been a while since the image-markdown rule has been added as a warning.
Since content authors have had time to know that this is the recommendation,
we can now change it to an error so that it will also yell at them in the
pre-publish errors modal.

Issue: https://khanacademy.atlassian.net/browse/LEMS-3570

Test plan:
`pnpm jest packages/perseus-linter/src/rules/image-markdown.test.ts`

Storybook
- Go to `/?path=/story/editors-editorpage--demo`
- Type in ![some alt text](some image url)
- Confirm that the image-markdown rule is an error now
@nishasy nishasy self-assigned this Feb 19, 2026
@nishasy nishasy marked this pull request as ready for review February 19, 2026 00:45
@github-actions github-actions Bot added schema-change Attached to PRs when we detect Perseus Schema changes in it item-splitting-change and removed schema-change Attached to PRs when we detect Perseus Schema changes in it labels Feb 19, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 19, 2026

🗄️ Schema Change: No Changes ✅

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 19, 2026

Size Change: +2 B (0%)

Total Size: 485 kB

Filename Size Change
packages/perseus-linter/dist/es/index.js 8.83 kB +2 B (+0.02%)
ℹ️ View Unchanged
Filename Size
packages/kas/dist/es/index.js 20.8 kB
packages/keypad-context/dist/es/index.js 1 kB
packages/kmath/dist/es/index.js 5.98 kB
packages/math-input/dist/es/index.js 98.5 kB
packages/math-input/dist/es/strings.js 1.61 kB
packages/perseus-core/dist/es/index.item-splitting.js 11.8 kB
packages/perseus-core/dist/es/index.js 24.8 kB
packages/perseus-editor/dist/es/index.js 99.3 kB
packages/perseus-score/dist/es/index.js 9.26 kB
packages/perseus-utils/dist/es/index.js 403 B
packages/perseus/dist/es/index.js 187 kB
packages/perseus/dist/es/strings.js 7.44 kB
packages/pure-markdown/dist/es/index.js 1.39 kB
packages/simple-markdown/dist/es/index.js 6.71 kB

compressed-size-action

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 19, 2026

🛠️ Item Splitting: No Changes ✅

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 19, 2026

npm Snapshot: Published

Good news!! We've packaged up the latest commit from this PR (c31ed2f) and published it to npm. You
can install it using the tag PR3267.

Example:

pnpm add @khanacademy/perseus@PR3267

If you are working in Khan Academy's frontend, you can run the below command.

./dev/tools/bump_perseus_version.ts -t PR3267

If you are working in Khan Academy's webapp, you can run the below command.

./dev/tools/bump_perseus_version.js -t PR3267

Copy link
Copy Markdown
Member

@catandthemachines catandthemachines left a comment

Choose a reason for hiding this comment

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

Approved!

@nishasy nishasy merged commit 46e1004 into main Feb 23, 2026
11 checks passed
@nishasy nishasy deleted the lint-errors branch February 23, 2026 18:07
nishasy added a commit that referenced this pull request Feb 25, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @khanacademy/perseus@75.3.0

### Minor Changes

- [#3270](#3270)
[`0ea9b7fe1c`](0ea9b7f)
Thanks [@nishasy](https://github.com/nishasy)! - [Image] | (cleanup) |
Remove image-widget-upgrade feature flag

### Patch Changes

- [#3279](#3279)
[`876dd96e74`](876dd96)
Thanks [@nishasy](https://github.com/nishasy)! - [Image] | (UX) | Add
gif control buttons to explore image modal behind feature flag


- [#3276](#3276)
[`7682804e0e`](7682804)
Thanks [@benchristel](https://github.com/benchristel)! - Internal: use
the getSinusoidCoefficients and getQuadraticCoefficients functions from
kmath instead of redefining them in interactive-graph.tsx.


- [#3271](#3271)
[`78031be86b`](78031be)
Thanks [@Myranae](https://github.com/Myranae)! - Remove background flash
in mobile browsers when choice is tapped


- [#3275](#3275)
[`8cc27db79a`](8cc27db)
Thanks [@nishasy](https://github.com/nishasy)! - [Image] | (UX) | Add
gif control icon buttons behind feature flag

- Updated dependencies
\[[`46e100430a`](46e1004),
[`0ea9b7fe1c`](0ea9b7f),
[`876dd96e74`](876dd96),
[`7023b4dae0`](7023b4d),
[`8cc27db79a`](8cc27db)]:
    -   @khanacademy/perseus-linter@4.8.1
    -   @khanacademy/perseus-core@23.1.0
    -   @khanacademy/kmath@2.2.33
    -   @khanacademy/keypad-context@3.2.33
    -   @khanacademy/math-input@26.4.1
    -   @khanacademy/perseus-score@8.2.10

## @khanacademy/perseus-core@23.1.0

### Minor Changes

- [#3270](#3270)
[`0ea9b7fe1c`](0ea9b7f)
Thanks [@nishasy](https://github.com/nishasy)! - [Image] | (cleanup) |
Remove image-widget-upgrade feature flag

### Patch Changes

- [#3279](#3279)
[`876dd96e74`](876dd96)
Thanks [@nishasy](https://github.com/nishasy)! - [Image] | (UX) | Add
gif control buttons to explore image modal behind feature flag


- [#3275](#3275)
[`8cc27db79a`](8cc27db)
Thanks [@nishasy](https://github.com/nishasy)! - [Image] | (UX) | Add
gif control icon buttons behind feature flag

## @khanacademy/perseus-editor@28.13.0

### Minor Changes

- [#3270](#3270)
[`0ea9b7fe1c`](0ea9b7f)
Thanks [@nishasy](https://github.com/nishasy)! - [Image] | (cleanup) |
Remove image-widget-upgrade feature flag

### Patch Changes

- [#3244](#3244)
[`13247bac3e`](13247ba)
Thanks [@jandrade](https://github.com/jandrade)! - Updates WB `color`
references to use the new `semanticColor` tokens instead.


- [#3279](#3279)
[`876dd96e74`](876dd96)
Thanks [@nishasy](https://github.com/nishasy)! - [Image] | (UX) | Add
gif control buttons to explore image modal behind feature flag


- [#3275](#3275)
[`8cc27db79a`](8cc27db)
Thanks [@nishasy](https://github.com/nishasy)! - [Image] | (UX) | Add
gif control icon buttons behind feature flag

- Updated dependencies
\[[`46e100430a`](46e1004),
[`0ea9b7fe1c`](0ea9b7f),
[`876dd96e74`](876dd96),
[`7023b4dae0`](7023b4d),
[`7682804e0e`](7682804),
[`78031be86b`](78031be),
[`8cc27db79a`](8cc27db)]:
    -   @khanacademy/perseus-linter@4.8.1
    -   @khanacademy/perseus@75.3.0
    -   @khanacademy/perseus-core@23.1.0
    -   @khanacademy/kmath@2.2.33
    -   @khanacademy/keypad-context@3.2.33
    -   @khanacademy/math-input@26.4.1
    -   @khanacademy/perseus-score@8.2.10

## @khanacademy/keypad-context@3.2.33

### Patch Changes

- Updated dependencies
\[[`0ea9b7fe1c`](0ea9b7f),
[`876dd96e74`](876dd96),
[`8cc27db79a`](8cc27db)]:
    -   @khanacademy/perseus-core@23.1.0

## @khanacademy/kmath@2.2.33

### Patch Changes

- [#3277](#3277)
[`7023b4dae0`](7023b4d)
Thanks [@benchristel](https://github.com/benchristel)! - Internal:
inline constant for default `toFraction()` tolerance.

- Updated dependencies
\[[`0ea9b7fe1c`](0ea9b7f),
[`876dd96e74`](876dd96),
[`8cc27db79a`](8cc27db)]:
    -   @khanacademy/perseus-core@23.1.0

## @khanacademy/math-input@26.4.1

### Patch Changes

- Updated dependencies
\[[`0ea9b7fe1c`](0ea9b7f),
[`876dd96e74`](876dd96),
[`8cc27db79a`](8cc27db)]:
    -   @khanacademy/perseus-core@23.1.0
    -   @khanacademy/keypad-context@3.2.33

## @khanacademy/perseus-linter@4.8.1

### Patch Changes

- [#3267](#3267)
[`46e100430a`](46e1004)
Thanks [@nishasy](https://github.com/nishasy)! - [Image] | (CX) | Make
image-markdown linter rule an error instead of a warning

- Updated dependencies
\[[`0ea9b7fe1c`](0ea9b7f),
[`876dd96e74`](876dd96),
[`7023b4dae0`](7023b4d),
[`8cc27db79a`](8cc27db)]:
    -   @khanacademy/perseus-core@23.1.0
    -   @khanacademy/kmath@2.2.33

## @khanacademy/perseus-score@8.2.10

### Patch Changes

- Updated dependencies
\[[`0ea9b7fe1c`](0ea9b7f),
[`876dd96e74`](876dd96),
[`7023b4dae0`](7023b4d),
[`8cc27db79a`](8cc27db)]:
    -   @khanacademy/perseus-core@23.1.0
    -   @khanacademy/kmath@2.2.33
catandthemachines pushed a commit that referenced this pull request Apr 1, 2026
…a warning (#3267)

## Summary:
It's been a while since the image-markdown rule has been added as a warning.
Since content authors have had time to know that this is the recommendation,
we can now change it to an error so that it will also yell at them in the
pre-publish errors modal.

Issue: https://khanacademy.atlassian.net/browse/LEMS-3570

## Test plan:
`pnpm jest packages/perseus-linter/src/rules/image-markdown.test.ts`

Storybook
- Go to `/?path=/story/editors-editorpage--demo`
- Type in ![some alt text](some-image-url)
- Confirm that the image-markdown rule is an error now

| Before | After |
| --- | --- |
| <img width="395" height="318" alt="Screenshot 2026-02-18 at 4 44 26 PM" src="https://github.com/user-attachments/assets/4785ff48-fb8a-4104-beac-059901e9d9f0" /> | <img width="381" height="316" alt="Screenshot 2026-02-18 at 4 44 40 PM" src="https://github.com/user-attachments/assets/3c446e2a-6377-4497-8ae3-349c7b612517" /> |

Author: nishasy

Reviewers: catandthemachines

Required Reviewers:

Approved By: catandthemachines

Checks: ⏭️  1 check has been skipped, ✅ 10 checks were successful

Pull Request URL: #3267
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants