Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[Beta]: An inline link whose plugin has no component renders as a block on its own line

オープン
#5,307 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
1〜2日
初心者へのやさしさ
48/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
react, typescript
領域
frontend

調査の方向性

Read packages/platejs/src/react/utils/pipeRenderElement.internal.tsx and packages/platejs/src/react/components/plate-nodes.tsx, then inspect the LinkPlugin setup in the plate-schema-descriptors example. Trace how an inline plugin without a component gets its rendered tag and compare the fallback behavior with the example’s expected inline rendering. Done means the reproduced link stays on the same line as the paragraph text, with the intended behavior for plugins that omit a component resolved.

索引モデルが issue の本文から書いたものです。

説明

Testing lane

  • Repository: udecode/plate
  • Branch: next
  • Release channel: Beta
  • Exact commit/package version: NOT_ENOUGH_INFO

Summary

On https://beta.platejs.org/examples/plite/plate-schema-descriptors, Load rich descriptor document shows a first paragraph, Rich descriptor text with, followed by the inline link a link. The link renders as div.editor-link with display: block, so a link drops below the sentence onto its own line.

Reproduction

Repro 1: load the rich document, Chromium

An agent ran this on the live Beta in headless Chromium 149 (Playwright) on 2026-10-22 (PT) and recorded it.

  1. Open https://beta.platejs.org/examples/plite/plate-schema-descriptors.
  2. Click Load rich descriptor document.

Result: the link element is a div with display: block, and a link sits on its own line under Rich descriptor text with. WebKit 26.5 (Playwright) gave the same result.

An agent replayed it in Chromium 149 on 2026-10-24: the link text is a span inside div.editor-link (display: block) inside article.editor-paragraph. natamox confirmed it by hand on 2026-10-22 (PT).

Expected

An inline element renders inline even when its plugin names no component, so Rich descriptor text with a link stays on one line.

Actual

The inline link renders as a block div.

Environment

  • Exact next commit/Beta package version: NOT_ENOUGH_INFO. The page does not show its build.
  • Repro 1: Chromium 149.0.7827.55 and WebKit 26.5 (Playwright, headless) on macOS, 2026-10-22 (PT) and 2026-10-24.

Caveat

From a reading of the code on next a32ed63c78:

  • The example's LinkPlugin is inline, but the example gives it no component.
  • packages/platejs/src/react/utils/pipeRenderElement.internal.tsx:181 passes as only when plugin.component is a string. Otherwise EditorElement in packages/platejs/src/react/components/plate-nodes.tsx:117 falls back to as: Tag = 'div', so any inline plugin without a component renders as a block div.
  • Whether the fallback should follow the node's inline flag, such as a span, or whether the example should register a component is open.

Evidence

  • Repro 1: the agent's recording, 0:17, real time, with the step panel on the right. The dark box at the bottom left is drawn by the test script. It shows the link element's tag, its display value and its position. A record number in the panel's tag line is covered.
Repro 1 — Chromium 149, /examples/plite/plate-schema-descriptors

https://github.com/user-attachments/assets/2b930861-ef9e-4381-a753-8e68072055c0

Related

  • #5304: another bug in this example, a non-inclusive mark that extends on typing.
主要言語
TypeScript
スター
16.6k
フォーク
993
平均マージ
20時間 2分
マージ済み PR(30日)
62

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

udecode/plate のほかの issue

udecode/plate の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。